/install mp4-to-gif
MP4 to GIF Conversion
Overview
Convert MP4 videos to high-quality GIFs using ffmpeg's two-pass palette method. The two-pass approach produces significantly better color quality than direct conversion.
When to Use
- User wants to convert MP4 (or other video) to GIF
- User needs to create GIFs from video for documentation, demos, or sharing
- User asks about reducing GIF file size or improving GIF quality
Prerequisites
- ffmpeg must be installed and available in PATH
Core Method
Two-pass palette-based conversion (always use this over single-pass):
# Pass 1: Generate optimized palette
ffmpeg -y -i \x3Cinput> -vf "fps=15,scale=480:-1:flags=lanczos,palettegen=stats_mode=diff" /tmp/palette.png
# Pass 2: Convert using palette
ffmpeg -y -i \x3Cinput> -i /tmp/palette.png -lavfi "fps=15,scale=480:-1:flags=lanczos [x]; [x][1:v] paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" \x3Coutput>
Quick Reference
| Parameter | Default | Effect |
|---|---|---|
fps |
15 | Frame rate — lower = smaller file, choppier motion |
scale width |
480 | Output width in px — height auto-calculated (-1) |
lanczos |
— | High-quality downscaling filter |
stats_mode=diff |
— | Palette optimized for frame differences (better for motion) |
dither=bayer |
— | Ordered dithering, good balance of quality/size |
bayer_scale |
5 | Dither strength (0-5), higher = more dithering |
diff_mode=rectangle |
— | Only update changed regions (smaller file) |
Size vs Quality Tradeoffs
| Goal | Adjust |
|---|---|
| Smaller file | Lower fps (10), smaller width (320), or trim duration |
| Smoother motion | Higher fps (24-30), but file size increases significantly |
| Better colors | Use stats_mode=full for static/slow content |
| Sharper | Increase width (640-800), costs more file size |
Bundled Scripts
Two scripts are bundled alongside this SKILL.md. Use the one matching the current platform.
Windows (PowerShell) — mp4_to_gif.ps1:
& "\x3Cthis-skill-dir>/mp4_to_gif.ps1" -InputFile \x3Cinput> # Defaults: 480px, 15fps
& "\x3Cthis-skill-dir>/mp4_to_gif.ps1" -InputFile \x3Cinput> -Width 640 -Fps 20 # Custom settings
& "\x3Cthis-skill-dir>/mp4_to_gif.ps1" -InputFile \x3Cinput> -OutputFile \x3Coutput> # Custom output name
Linux / macOS (Bash) — mp4_to_gif.sh:
bash "\x3Cthis-skill-dir>/mp4_to_gif.sh" -i \x3Cinput> # Defaults: 480px, 15fps
bash "\x3Cthis-skill-dir>/mp4_to_gif.sh" -i \x3Cinput> -w 640 -f 20 # Custom settings
bash "\x3Cthis-skill-dir>/mp4_to_gif.sh" -i \x3Cinput> -o \x3Coutput> # Custom output name
When Claude invokes this skill, resolve \x3Cthis-skill-dir> to the absolute path of the directory containing this SKILL.md.
Common Mistakes
- Single-pass conversion (
ffmpeg -i in.mp4 out.gif) — produces terrible banding and color artifacts. Always use the two-pass palette method. - Too high fps — 30fps GIFs are massive. 15fps is usually sufficient for demos.
- Too wide — 480px is good for most uses. Full 1080p GIFs are impractically large.
- Forgetting to clean up palette — Delete the temporary palette.png after conversion.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install mp4-to-gif - After installation, invoke the skill by name or use
/mp4-to-gif - Provide required inputs per the skill's parameter spec and get structured output
What is Mp4 To Gif?
Use when the user wants to convert MP4 video files to GIF format, or asks about video-to-GIF conversion with quality/size control. It is an AI Agent Skill for Claude Code / OpenClaw, with 68 downloads so far.
How do I install Mp4 To Gif?
Run "/install mp4-to-gif" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Mp4 To Gif free?
Yes, Mp4 To Gif is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Mp4 To Gif support?
Mp4 To Gif is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Mp4 To Gif?
It is built and maintained by ZZLupus (@zzlupus); the current version is v1.0.0.