gif-sticker-maker · minimax-ai — Claude Code skill: turn photos into animated GIF
A skill that converts a photo into 4 animated GIF stickers in Funko Pop style with captions. Use it to create expressive stickers, emoji packs, or animated avatars for messengers.
npx skills add MiniMax-AI/skills --skill gif-sticker-maker -a claude-codeWhat gif-sticker-maker does
gif-sticker-maker analyzes an uploaded photo, identifies the subject type (person, animal, object, logo), and generates four stickers: happy, laughing, crying, and in-love. Each sticker is a 3D figurine in Pop Mart blind-box style, rendered with C4D quality, on a white background with soft studio lighting.
The skill uses MiniMax Image Generation API to create static images and MiniMax Video Generation API to animate them. It generates four images in step one, animates each to video in step two, and converts videos to GIF in step three. For human subjects, the skill preserves facial features via the --subject-ref flag; for animals and objects, it relies on text descriptions.
Before running, activate a Python venv with dependencies from requirements.txt, export MINIMAX_API_KEY, and ensure ffmpeg is on PATH. All four images and videos are generated in parallel, so total time depends on API response speed.
What it helps with
- convert a photo into animated Funko Pop stickers
- create a set of GIF expressions for a messenger or chat app
- generate an emoji pack with movement and animation
- turn a pet or character photo into a playful avatar
- animate a logo or object in blind-box collectible style
Example prompts for the agent
- Turn my photo into four fun stickers with emotions: happy, laughing, crying, and in love
- Create a set of GIF stickers of my cat in Pop Mart style with captions in English
- Make four animated avatars from this company logo photo
How to install gif-sticker-maker
1Skills CLI (Vercel)
npx skills add MiniMax-AI/skills --skill gif-sticker-maker -a claude-code2Manually: put the files in place
~/.claude/skills/gif-sticker-maker/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/gif-sticker-maker/
1Skills CLI (Vercel)
npx skills add MiniMax-AI/skills --skill gif-sticker-maker -a codex2Manually: put the files in place
.agents/skills/gif-sticker-maker/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add MiniMax-AI/skills --skill gif-sticker-maker -a cursor2Manually: put the files in place
.cursor/skills/gif-sticker-maker/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install MiniMax-AI/skills gif-sticker-maker2Manually: put the files in place
.github/skills/gif-sticker-maker/SKILL.md1Skills CLI (Vercel)
npx skills add MiniMax-AI/skills --skill gif-sticker-maker -a gemini-cli2Platform CLI
gemini skills install https://github.com/MiniMax-AI/skills --path skills/gif-sticker-makerManually: put the files in place
.devin/skills/gif-sticker-maker/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add MiniMax-AI/skills --skill gif-sticker-maker -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set17
The whole set →Other versions of gif-sticker-maker
Similar
Questions about gif-sticker-maker
How do I install gif-sticker-maker in Claude Code?
Run npx skills add MiniMax-AI/skills --skill gif-sticker-maker -a claude-code, then find the installed skill at ~/.claude/skills/gif-sticker-maker/SKILL.md.
What does gif-sticker-maker do?
The skill analyzes a photo and creates four animated GIF stickers in Funko Pop style (happy, laughing, crying, in love) with captions. Each sticker is a 3D figurine with soft studio lighting.
What do I need to get it working?
Activate a Python venv with packages from requirements.txt, set the MINIMAX_API_KEY environment variable, and have ffmpeg installed.
Source text
SKILL.md · MIT
---
name: gif-sticker-maker
description: |
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.
license: MIT
metadata:
version: "1.2"
category: creative-tools
style: Funko Pop / Pop Mart
output_format: GIF
output_count: 4
sources:
- MiniMax Image Generation API
- MiniMax Video Generation API
---
# GIF Sticker Maker
Convert user photos into 4 animated GIF stickers (Funko Pop / Pop Mart style).
## Style Spec
- Funko Pop / Pop Mart blind box 3D figurine
- C4D / Octane rendering quality
- White background, soft studio lighting
- Caption: black text + white outline, bottom of image
## Prerequisites
Before starting any generation step, ensure:
1. **Python venv** is activated with dependencies from [requirements.txt](references/requirements.txt) installed
2. **`MINIMAX_API_KEY`** is exported (e.g. `export MINIMAX_API_KEY='your-key'`)
3. **`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.
## Workflow
### Step 0: Collect Captions
Ask user (in their language):
> "Would you like to customize the captions for your stickers, or use the defaults?"
- **Custom**: Collect 4 short captions (1–3 words). Actions auto-match caption meaning.
- **Default**: Look up [captions table](references/captions.md) by **detected user language**. **Never mix languages.**
### Step 1: Generate 4 Static Sticker Images
**Tool**: `scripts/minimax_image.py`
1. Analyze the user's photo — identify subject type (person / animal / object / logo).
2. For each of the 4 stickers, build a prompt from [image-prompt-template.txt](assets/image-prompt-template.txt) by filling `{action}` and `{caption}`.
3. **If subject is a person**: pass `--subject-ref <user_photo_path>` so the generated figurine preserves the person's actual facial likeness.
4. Generate (all 4 are independent — **run concurrently**):
```bash
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-ref` only works for person subjects (API limitation: type=character).
> For animals/objects/logos, omit the flag and rely on text description.
### Step 2: Animate Each Image → Video
**Tool**: `scripts/minimax_video.py` with `--image` flag (image-to-video mode)
For each sticker image, build a prompt from [video-prompt-template.txt](assets/video-prompt-template.txt), then:
```bash
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**.
### Step 3: Convert Videos → GIF
**Tool**: `scripts/convert_mp4_to_gif.py`
```bash
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`).
### Step 4: Deliver
Output format (strict order):
1. Brief status line (e.g. "4 stickers created:")
2. `<deliver_assets>` block with all GIF files
3. **NO text after deliver_assets**
```xml
<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>
```
## Default Actions
| # | 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](references/captions.md) for multilingual caption defaults.
## Rules
- Detect user's language, all outputs follow it
- Captions MUST come from [captions.md](references/captions.md) matching user's language column — never mix languages
- All image prompts must be in **English** regardless of user language (only caption text is localized)
- `<deliver_assets>` must be LAST in response, no text after
© MiniMax-AI · MIT · MiniMax-AI/skills