Production-Grade Meme Management Tool
memectl is a command-line interface for creating memes and other Imgflip
artifacts. It is an early project that will grow alongside Imgflip's API,
because meme operations deserve operational rigor.
memectl is built primarily to evaluate
OpenSpec and spec-driven development.
Download the .tar.gz archive for your operating system and architecture from
the GitHub Releases page.
Released archives support macOS and Linux on amd64 and arm64.
Extract the archive, then move memectl to your preferred directory on
PATH. Replace the placeholders with the filename you downloaded and the
directory you use for executables:
tar -xzf memectl_VERSION_OS_ARCH.tar.gz
mv memectl /path/to/bin/Verify the installation:
memectl --versionList available Imgflip meme templates. This command does not require Imgflip credentials:
memectl get templatesInclude each template's direct image URL with wide output to visually preview it:
memectl get templates --output wideCreate a named, managed captioned meme from a template. Set your Imgflip account credentials first; they are required only for creation:
export IMGFLIP_USERNAME="your-imgflip-username"
export IMGFLIP_PASSWORD="your-imgflip-password"
memectl create meme writing-memes --template 181913649 --text "Writing memes manually" --text "Using memectl"Use --text once for each template text box, in the order Imgflip should
apply them. On success, memectl stores the meme's name, template, text, and
hosted URLs in ~/.meme/memes.json, then prints the hosted image URL and its
Imgflip page URL. Hosted images are publicly accessible on the internet.
List the locally managed memes without contacting Imgflip:
memectl get memes
memectl get memes --output wideInspect one locally managed meme record without contacting Imgflip:
memectl describe meme writing-memesDelete one or more locally managed meme records without contacting Imgflip:
memectl delete meme writing-memes old-memeThis removes only the selected local inventory metadata. The hosted Imgflip image remains unchanged.
Set MEME_STORE to use an exact alternate inventory file path. This is useful
for isolated environments and tests:
MEME_STORE=/tmp/memes.json memectl get memesSee CONTRIBUTING.md for source setup, local checks, and release snapshots.