Video To Gif
Video-to-GIF conversion with FFmpeg two-pass optimization
Install
npx skills add microsoft/hve-core --skill video-to-gif -g -a claude-code -y- Repository
- microsoft/hve-core1.6k
- Category
- Media
- Updated
- 3d ago
- License
- MIT
- Context cost
- Mediumabout 2,704 tokens
- Runs scripts
- Yes, review before use
What it does
Video-to-GIF conversion with FFmpeg two-pass optimization
Video-to-GIF Conversion Skill
This skill converts video files to optimized GIF animations using FFmpeg two-pass palette optimization.
Overview
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.
Response Format
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.
Prerequisites
FFmpeg is required and must be available in your system PATH.
macOS
brew install ffmpeg
Linux (Debian/Ubuntu)
sudo apt update && sudo apt install ffmpeg
Windows
Using Chocolatey:
choco install ffmpeg
Using winget:
winget install FFmpeg.FFmpeg
Verify installation:
ffmpeg -version
Quick Start
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.
File Search Behavior
When a filename is provided without a full path, the script searches in this order:
- Current working directory
- Workspace root (if inside a project)
~/Movies/(macOS) or~/Videos/(Linux)~/Downloads/~/Desktop/
This allows natural commands like convert.sh demo.mov without specifying full paths.
HDR Handling
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:


