Generate image and video memes on demand through the Memelord API with a set of ready-to-run helper scripts.
API key – export it once per shell (or drop it into .env).
bash
export MEMELORD_API_KEY="YOUR_KEY"
Executable scripts – the repo ships with chmod +x already applied. If you clone from somewhere that strips modes, just run:
bash
chmod +x scripts/*.sh
(Optional) create an outputs/ folder to keep downloaded memes tidy:
bash
mkdir -p /root/.openclaw/workspace/outputs
ScriptEndpointPurposescripts/ai-meme.sh``POST /api/v1/ai-memeGenerate fresh image memesscripts/ai-meme-edit.sh``POST /api/v1/ai-meme/editEdit an existing image memescripts/ai-video-meme.sh``POST /api/v1/ai-video-memeKick off async video meme rendersscripts/ai-video-meme-edit.sh``POST /api/v1/ai-video-meme/editRe-caption an existing video memescripts/video-render-remote.sh``GET /api/video/render/remotePoll render job status / URLsscripts/verify-webhook.shhelperValidate webhook signatures
All scripts accept --out <path> so you can control where JSON responses land.
bash
./scripts/ai-meme.sh "developer fixing bugs at 3am" --png ./outputs/meme.png
./scripts/ai-meme.sh "when the code works on the first try" --count 3 --png ./outputs/meme_%d.png
bash
./scripts/ai-meme-edit.sh --from ./memelord_ai_meme.json \
--instruction "make it about javascript instead" --png ./outputs/edited.png
# or supply template metadata manually
./scripts/ai-meme-edit.sh --template-id abc-123 --template-data-file ./template_data.json \
--instruction "change the top text" --out ./outputs/edit.json
bash
./scripts/ai-video-meme.sh "when the code works on the first try" --count 2 --out ./outputs/jobs.json
# with webhook callbacks
./scripts/ai-video-meme.sh "ship it" \
--webhook-url https://example.com/webhook \
--webhook-secret supersecret
bash
./scripts/ai-video-meme-edit.sh --template-id abc-123 \
--caption "When the code works on the first try" \
--instruction "make it about not knowing why it works" \
--out ./outputs/video_edit_job.json
bash
./scripts/video-render-remote.sh --job-id render-1740524400000-abc12 --out ./outputs/status.json
bash
./scripts/verify-webhook.sh --secret "$WEBHOOK_SECRET" --body-file ./payload.json --signature "<hex>"
When you want Telegram/Signal/WhatsApp/etc. to show only the meme (no caption/link blob), follow this pattern:
Generate or edit the meme as usual ( ai-video-meme.sh, ai-meme.sh, etc.).
Poll the job if it’s a video ( video-render-remote.sh) until you see mp4Url (or url for images) in the JSON.
Download the asset into your workspace. Example for a video: bash
curl -sSL "<mp4Url-from-status>" -o ./outputs/hiring_engineers.mp4
For images, the --png flag already writes the file; otherwise curl the url the same way.
Send the file itself back to the chat using the OpenClaw media syntax so only the video/image appears: text
MEDIA:./outputs/hiring_engineers.mp4
(Swap the extension for .png/ .webp for still memes.)
Because the attachment is the only thing in the reply, Telegram renders it inline without any auto-generated “description + link” chatter.
Credits: Memelord gives you 50 video/image credits per month on the base subscription. Top up or read more at https://www.memelord.com/docs.