🎬 gifboom
The ultimate open-source GIF engine for Humans & AI Agents
“Why spend 20 minutes finding and converting a GIF when gifboom can do it in 2 seconds?”
🌟 Why gifboom?
We loved tools like gifgrep for searching GIFs right from the terminal. But we kept asking:
“Where is the MP4 conversion? Where is video-to-GIF? What about trimming? And why can't my Claude / Cursor AI agent search and send GIFs for me??” 🤔
So we built gifboom — an open-source, lightning-fast Python CLI + MCP Server that does it all:
- 🔍 Multi-Provider Search: GIPHY, Tenor, KLIPY, and local folders in one command.
- 🎬 GIF ↔ Video Conversion: Turn heavy 30MB GIFs into silky 2MB MP4s (or vice versa).
- 🖼️ Stills & Contact Sheets: Grab single PNG frames or full 3×3 video grids.
- ✂️ Trim & Shrink: Slice out the funny 2 seconds and optimize color palettes.
- 🤖 AI-Native (MCP & Claude Skill): Give your AI assistant the power to search, download, and convert media on command!
🍿 Feature Tour
1. 🔍 Instant GIF Search
Find the perfect reaction without leaving your terminal (or let your script get JSON results).
# Pretty table format
gifboom search "excited reaction" --format table
# Pure JSON for scripts & AI
gifboom search "mind blown" --format json --limit 5
2. 🎬 GIF ↔ Video Alchemy
Convert giant animated GIFs into lightweight MP4/WebM videos for Twitter, Discord, or web apps. Or turn video clips into crisp GIFs!
# Shrink 40MB GIF → 2MB MP4 (huge bandwidth saver!)
gifboom convert gif2video cat.gif -o cat.mp4
# Convert video clip to high-quality GIF
gifboom convert video2gif movie.mp4 -o clip.gif --start 00:01:20 --end 00:01:25
3. 🖼️ Frame Extractor & Contact Sheets
Need a quick PNG snapshot or a grid breakdown of every keyframe?
# Extract single frame at 1.5 seconds
gifboom still dance.gif --at 1.5 -o frame.png
# Generate a 3×3 grid breakdown of 9 frames
gifboom sheet dance.gif --frames 9 --cols 3 -o grid.png
4. 🤖 AI Integration — Two Flows
gifboom supports two complementary ways to give AI agents GIF superpowers:
Flow A — CLI + Agent Skill (shell-based)
Best for: Antigravity, Cursor, Windsurf, Claude Code — any agent with terminal access.
AI Agent
│
├─ reads skills/gifboom/SKILL.md ← knows every command & flag
│
└─ runs gifboom CLI via shell ← gifboom search / convert / download …
Setup (30 seconds):
pip install gifboom
# Drop the skill into your agent's skills folder:
cp -r skills/gifboom ~/.agents/skills/gifboom
# or for Antigravity:
cp -r skills/gifboom ~/.gemini/config/skills/gifboom
The agent reads skills/gifboom/SKILL.md and instantly knows how to search, download, convert, trim, and optimize GIFs using shell commands.
Flow B — MCP Server (native tool calls)
Best for: Claude Desktop, LobeChat, LibreChat — clients without shell access.
AI Agent (Claude Desktop / LobeChat / …)
│
└─ calls MCP tools directly ← search_gifs() / download_gif() / gif_to_video() …
│
└─ gifboom MCP server ← no shell needed, returns structured JSON
Setup:
pip install 'gifboom[mcp]'
Add to your claude_desktop_config.json:
{
"mcpServers": {
"gifboom": {
"command": "gifboom",
"args": ["mcp"]
}
}
}
Available MCP tools: search_gifs, download_gif, gif_to_video, video_to_gif, extract_still, optimize_gif, open_key_page.
Which flow should I use?
| Flow A — CLI + Skill | Flow B — MCP | |
|---|---|---|
| Requires shell | ✅ yes | ❌ no |
| Claude Desktop | ❌ | ✅ |
| Cursor / Antigravity | ✅ | ✅ |
| Structured JSON output | parse from stdout | native |
| Extra install | none | gifboom[mcp] |
💡 Both flows can be used simultaneously — install once, integrate both ways.
📦 Installation
Available on PyPI:
gifboom
# Recommended — with uv (fastest)
uv add gifboom
# or pip
pip install gifboom
# or pipx (isolated global CLI)
pipx install gifboom
FFmpeg is required for all video/GIF conversion features:
brew install ffmpeg # macOS sudo apt install ffmpeg # Ubuntu / Debian
Optional extras
pip install 'gifboom[mcp]' # MCP server support
pip install 'gifboom[tui]' # Interactive TUI (Textual)
pip install 'gifboom[dev]' # Dev tools (pytest, ruff, mypy)
🚀 Quick Start
Step 1: Install (see above)
Step 2: Get Free API Keys in 1-Click 🔑
Don't have API keys yet? No problem! gifboom will launch the developer portals for you:
# Open developer portals directly in your web browser:
gifboom keys giphy # Opens GIPHY Developer Dashboard
gifboom keys tenor # Opens Tenor / Google Cloud Console
# Save your key locally:
gifboom config set GIPHY_API_KEY=your_secret_key_here
Step 3: Boom! 💥
# Download the top "happy cat" GIF directly
gifboom download "q:happy cat" -o ~/Downloads/happy_cat.gif
# Convert to MP4
gifboom convert gif2video ~/Downloads/happy_cat.gif -o ~/Downloads/happy_cat.mp4
# Batch convert a whole folder of GIFs
gifboom convert batch ./my_gifs/ --format mp4 --out-dir ./my_videos/
⚡ Cheat Sheet & Recipes
| Task | Command |
|---|---|
| Quick search & copy URL | gifboom search "party parrot" |
| Download specific URL | gifboom download https://media.giphy.com/... -o meme.gif |
| Discord Emoji Optimizer | gifboom convert optimize emote.gif --colors 64 -o emote_small.gif |
| Trim awkward start/end | gifboom convert trim laugh.gif --start 0.5 --end 2.5 -o clean_laugh.gif |
| WebM for websites | gifboom convert gif2video hero.gif -o hero.webm --crf 28 |
| Check cache size | gifboom cache stats |
🌐 Provider Support
| Provider | Free Tier | Setup Command | Env Variable |
|---|---|---|---|
| GIPHY | 100 req/hr (dev key) | gifboom keys giphy |
GIPHY_API_KEY |
| Tenor | Generous (Google Cloud) | gifboom keys tenor |
TENOR_API_KEY |
| KLIPY | Free beta | gifboom keys klipy |
KLIPY_API_KEY |
| Local | Unlimited 💾 | No key needed | — |
🤝 Contributing
We love pull requests! Whether it's adding new GIF providers, improving conversion speed, or writing documentation:
git clone https://github.com/MIt9/gifboom.git
cd gifboom
python3.11 -m pip install -e ".[dev]"
pytest tests/ -v
Check out our CONTRIBUTING.md for details.
Made with ❤️ and lots of 🍿 by the Open Source Community.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gifboom-0.1.1.tar.gz.
File metadata
- Download URL: gifboom-0.1.1.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18ab101f7bef81de1878713b0eba9c8fe0569601e35672f9045449f0b7b3c630
|
|
| MD5 |
ff9c355c4534bb5ac75e490423bde6b7
|
|
| BLAKE2b-256 |
122eed2fffd245350a60e9cea590955ec6c812e9f7073451e5119d378f4a4a4a
|
File details
Details for the file gifboom-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gifboom-0.1.1-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2a06eaee65862727b6cdd14e5b7a45aba1f48d4fed03244a71466f45d8644f3
|
|
| MD5 |
cce9e6fbbd933d06ced4d014c6a850fb
|
|
| BLAKE2b-256 |
f519174d63694344f48c1d431a89d706fa10bd1b4e4db8110f50aecb28b7c875
|