Convert videos into optimized GIF animations with FFmpeg.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "video-to-gif" skill from askskill: 1. Download https://raw.githubusercontent.com/microsoft/hve-core/main/.github/skills/experimental/video-to-gif/SKILL.md 2. Save it as ~/.claude/skills/video-to-gif/SKILL.md 3. Reload skills and tell me it's ready
Convert this video into a high-quality GIF using FFmpeg two-pass palette optimization, and output a downloadable file.
Return a link to the optimized GIF file.
Export this short video as a smaller GIF while preserving color accuracy as much as possible; use default settings.
Generate a smaller GIF with more stable color fidelity.
This is an HDR video; automatically tonemap it before converting to GIF so it works on SDR displays.
Output a GIF with tonemapping applied.
Product managers, designers, or developers can turn demo clips into shareable GIFs. It is useful for docs, posts, or chat messages that need a quick visual preview.
When you need better color fidelity and smaller file sizes than a single-pass conversion, this skill uses two-pass palette optimization. It suits scenarios where asset size matters.
If the source video is HDR, it can detect it and apply tonemapping automatically. This helps produce GIFs that work better on SDR displays from modern video sources.
This README describes a skill for converting videos to GIFs using FFmpeg two-pass palette optimization. It covers the conversion approach, FFmpeg installation prerequisites, quick-start commands for different platforms, file search behavior, automatic HDR detection and tonemapping, and key parameters with defaults and tonemapping options.
This skill converts video files to optimized GIF animations using FFmpeg two-pass palette optimization.
The two-pass conversion process generates superior quality GIFs compared to single-pass approaches. Pass one analyzes the video and creates an optimized color palette. Pass two applies that palette to produce the final GIF with better color fidelity and smaller file sizes.
After successful conversion, include a file link to the GIF in the response with the absolute file path:
/absolute/path/to/filename.gif
This allows the user to open the file and review it.
FFmpeg is required and must be available in your system PATH.
brew install ffmpeg
sudo apt update && sudo apt install ffmpeg
Using Chocolatey:
choco install ffmpeg
Using winget:
winget install FFmpeg.FFmpeg
Verify installation:
ffmpeg -version
Convert a video using default settings (10 FPS, 1280px width, sierra2_4a dithering):
scripts/convert.sh input.mp4
scripts/convert.ps1 -InputPath input.mp4
Output saves to input.gif by default.
When a filename is provided without a full path, the script searches in this order:
~/Movies/ (macOS) or ~/Videos/ (Linux)~/Downloads/~/Desktop/This allows natural commands like convert.sh demo.mov without specifying full paths.
The script automatically detects HDR video content via ffprobe by checking for BT.2020 color primaries or SMPTE 2084 transfer characteristics. When HDR is detected, tonemapping is applied automatically to produce SDR-compatible GIF output with proper color preservation.
Use --tonemap to select the tonemapping algorithm:
| Algorithm | Characteristics |
|---|---|
| hable | Filmic curve, good highlight rolloff (default) |
| reinhard | Preserves more color saturation |
| mobius | Similar to reinhard with better highlights |
| bt2390 | ITU standard, more conservative |
| Parameter | Flag (bash) | Flag (PowerShell) | Default | Description |
|---|---|---|---|---|
| Input file | --input | -InputPath | (required) | Source video file path |
| Output file | --output | -OutputPath | input.gif | Destination GIF file path |
| Frame rate | --fps | -Fps | 10 | Frames per second |
| Width | --width | -Width | 1280 | Output width in pixels |
| Dithering | --dither | -Dither | sierra2_4a | Dithering algorithm |
| Tonemapping | --tonemap | -Tonemap | hable | HDR tonemapping algorithm |
| Skip palette | --skip-palette | -SkipPalette | false | Use single-pass mode |
| Start time | --start | -Start | 0 | Start time in seconds |
| Duration | --duration | -Duration | (full video) | Duration to convert in seconds |
| Loop count | --loop | -Loop | 0 | GIF loop count (0 = infinite) |
FPS controls animation smoothness and file size. Lower values reduce file size but create choppier motion.
| FPS | Use Case |
|---|---|
| 5 | Simple animations, icons |
| 10 | General use (default) |
| 15 | Smooth motion, UI demos |
| 24 | Near-video quality |
…
This is a skill for converting videos to GIFs with FFmpeg, using two-pass palette optimization. It aims to improve color fidelity while keeping GIF size smaller.
FFmpeg must be installed and available in your system PATH. The docs include installation methods for macOS, Linux, and Windows.
Yes. The docs say it detects HDR via ffprobe and applies tonemapping automatically when needed. You can use `--tonemap` to choose the algorithm.
Coaches all nine design thinking methods with industry-aware guidance.
Teaches Design Thinking through nine progressive learning modules.
Set up Copilot OpenTelemetry capture, backend, and dashboards.
Turn Design Thinking artifacts into customer-card PowerPoint decks.
Assemble ordered visuals and narration into a narrated MP4 with FFmpeg.
Assess accessibility against standards and generate remediation guidance.
Create Slack-ready animated GIFs or emoji animations from text descriptions.
Create Slack-ready animated GIFs with optimized specs, validation, and animation guidance.
Extract key frames or short clips from videos for analysis and editing.
Search, download, and extract frames or sheets from GIF sources via CLI.
Edit footage, structure videos, add AI enhancements, and polish final cuts.
Render, color grade, merge, and concat videos with parallel FFmpeg workflows.