Convert photos (people, pets, objects, logos) into 4 animated GIF stickers with captions. Use when: user wants to create cartoon stickers, GIF expressions, emoji packs, animated avatars, or convert photos to Funko Pop / Pop Mart blind box style animations. Triggers: sticker, GIF, cartoon, emoji, expression pack, avatar animation.
Convert user photos into 4 animated GIF stickers (Funko Pop / Pop Mart style).
Before starting any generation step, ensure:
MINIMAX_API_KEY is exported (e.g. export MINIMAX_API_KEY='your-key')ffmpeg is available on PATH (for Step 3 GIF conversion)If any prerequisite is missing, set it up first. Do NOT proceed to generation without all three.
Ask user (in their language):
"Would you like to customize the captions for your stickers, or use the defaults?"
Tool: scripts/minimax_image.py
{action} and {caption}.--subject-ref <user_photo_path> so the generated figurine preserves the person's actual facial likeness.python3 scripts/minimax_image.py "<prompt>" -o output/sticker_hi.png --ratio 1:1 --subject-ref <photo>
python3 scripts/minimax_image.py "<prompt>" -o output/sticker_laugh.png --ratio 1:1 --subject-ref <photo>
python3 scripts/minimax_image.py "<prompt>" -o output/sticker_cry.png --ratio 1:1 --subject-ref <photo>
python3 scripts/minimax_image.py "<prompt>" -o output/sticker_love.png --ratio 1:1 --subject-ref <photo>
--subject-refonly works for person subjects (API limitation: type=character). For animals/objects/logos, omit the flag and rely on text description.
Tool: scripts/minimax_video.py with --image flag (image-to-video mode)
For each sticker image, build a prompt from video-prompt-template.txt, then:
python3 scripts/minimax_video.py "<prompt>" --image output/sticker_hi.png -o output/sticker_hi.mp4
python3 scripts/minimax_video.py "<prompt>" --image output/sticker_laugh.png -o output/sticker_laugh.mp4
python3 scripts/minimax_video.py "<prompt>" --image output/sticker_cry.png -o output/sticker_cry.mp4
python3 scripts/minimax_video.py "<prompt>" --image output/sticker_love.png -o output/sticker_love.mp4
All 4 calls are independent — run concurrently.
Tool: scripts/convert_mp4_to_gif.py
python3 scripts/convert_mp4_to_gif.py output/sticker_hi.mp4 output/sticker_laugh.mp4 output/sticker_cry.mp4 output/sticker_love.mp4
Outputs GIF files alongside each MP4 (e.g. sticker_hi.gif).
Output format (strict order):
<deliver_assets> block with all GIF files<deliver_assets>
<item><path>output/sticker_hi.gif</path></item>
<item><path>output/sticker_laugh.gif</path></item>
<item><path>output/sticker_cry.gif</path></item>
<item><path>output/sticker_love.gif</path></item>
</deliver_assets>
| # | Action | Filename ID | Animation |
|---|---|---|---|
| 1 | Happy waving | hi | Wave hand, slight head tilt |
| 2 | Laughing hard | laugh | Shake with laughter, eyes squint |
| 3 | Crying tears | cry | Tears stream, body trembles |
| 4 | Heart gesture | love | Heart hands, eyes sparkle |
See references/captions.md for multilingual caption defaults.
<deliver_assets> must be LAST in response, no text after