---
name: meme-maker
description: Make memes from Kenerate-generated or the user's images, GIFs and short videos. Classic Impact top / bottom text, modern white caption bar above the picture, or labels placed on things, rendered with Pillow and ffmpeg. Use when the user wants a meme, reaction image, captioned GIF, relatable / funny post, or a meme version of a product or brand moment.
compatibility: Needs Python 3.9+ with Pillow (ffmpeg for GIF / video memes); uses the Kenerate MCP to make the picture or clip.
metadata:
  author: kenerate
  version: "1.0"
  kenerate-tools: "generate_image generate_video apply_filter wait_for_generation estimate_cost"
---

# Meme maker

Rules: [references/KENERATE.md](references/KENERATE.md) (models and voices: [references/MODELS.md](references/MODELS.md), or the free `pick_model` / `pick_voice` tools). Never make memes that mock real private people or use real
people in sexual or humiliating ways. Kenerate refuses those, and so should you.

## Ask the user
The joke / format, the picture or clip (theirs or generated), the style (classic, modern or label), and the text lines.

## 1. Visual (Kenerate, optional)
- Image: `generate_image(prompt="<reaction scene>, expressive, meme-ready, no text", aspect_ratio="1:1", model="kenerate/flash")`
  (cheap drafts) or `kenerate/gpt-image-2.5-sunburst` (best faces and expressions).
- Stylised: `apply_filter(image_url=<photo>, style="pixar" | "anime-90s" | "lego" | ...)` (styles in `tool_guide("apply_filter")`).
- Short reaction clip: `generate_video(..., duration=3, resolution="480p", audio=false)` after `estimate_cost`.

## 2. Caption (local)
```
python <skill-dir>/scripts/meme.py --input "<image | gif | video url>" --top "when the build passes" --bottom "on the first try"
python <skill-dir>/scripts/meme.py --input "<clip url>" --style modern --top "me explaining my side project to my family" --out kenerate-out/meme-maker/<name>.mp4
python <skill-dir>/scripts/meme.py --input "<image url>" --style label --label "0.25,0.6=me" --label "0.75,0.4=one more AI tool"
```
- Classic uses Impact (or the closest bold font) in white with a black outline, auto-fit to 3 lines.
- Modern adds a white bar on top with left-aligned text; videos keep their sound; GIFs stay GIFs.
- Output defaults to `kenerate-out/meme-maker/meme.jpg|gif|mp4`.

## Tips
Short text wins: ≤ 8 words a line. Write 3 caption options and let the user pick before rendering them all.
