Awesome-openclaw-skills gifhorse
Search video dialogue and create reaction GIFs with timed subtitles. Perfect for creating meme-worthy clips from movies and TV shows.
git clone https://github.com/sundial-org/awesome-openclaw-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/gifhorse" ~/.claude/skills/sundial-org-awesome-openclaw-skills-gifhorse && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/gifhorse" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-gifhorse && rm -rf "$T"
skills/gifhorse/SKILL.mdGifHorse - Dialogue Search & GIF Creator
Create reaction GIFs from your video library by searching dialogue and adding timed subtitles.
What GifHorse Does
- Transcribe videos - Extract dialogue with timestamps by downloading subtitles, using local .srt files, or Whisper AI
- Search dialogue - Find quotes across your entire video library instantly
- Preview clips - See exactly what will be captured before creating the GIF
- Create GIFs - Generate GIFs with perfectly timed subtitles and optional watermarks
Setup
First Time Setup
- Install gifhorse (via install button above)
- Install FFmpeg-full for subtitle rendering (via install button above)
- Transcribe your video library (downloads subtitles automatically):
cd ~/gifhorse && source venv/bin/activate gifhorse transcribe ~/Movies
The gifhorse command must be run from within its virtual environment. You can activate it with:
cd ~/gifhorse && source venv/bin/activate
Or use the activation helper:
source ~/gifhorse/activate.sh
Available Commands
Transcribe Videos
Extract dialogue from your videos (one-time per video):
# Default: downloads subtitles from online providers (fast, recommended) gifhorse transcribe /path/to/videos # Use only local .srt files (no downloading, no Whisper) gifhorse transcribe /path/to/videos --use-subtitles # Use Whisper AI (slow but works for any video) gifhorse transcribe /path/to/video.mp4 --use-whisper
Download Subtitles Only
Download .srt files without storing in the database:
gifhorse fetch-subtitles /path/to/videos gifhorse fetch-subtitles /path/to/videos --skip-existing
Search Dialogue
Find quotes across your entire library:
# Basic search gifhorse search "memorable quote" # Search with surrounding context gifhorse search "memorable quote" --context 2
Preview Before Creating
See exactly what will be captured:
gifhorse preview "memorable quote" 1 gifhorse preview "quote" 1 --include-before 1 --include-after 1
Create GIF
Generate the GIF with subtitles:
# Basic GIF gifhorse create "memorable quote" 1 --output reaction.gif # High quality for social media gifhorse create "quote" 1 --width 720 --fps 24 --quality high # Include conversation context gifhorse create "quote" 1 --include-before 2 --include-after 1
Check Status
# See transcription stats gifhorse stats # List all transcribed videos gifhorse list
Timing Options
Control exactly what gets captured:
- Include N dialogue segments before the match--include-before N
- Include N dialogue segments after the match--include-after N
- Add buffer seconds before dialogue starts (default: 1.0)--padding-before SECS
- Add buffer seconds after dialogue ends (default: 1.0)--padding-after SECS
- Manual adjustment to start time (can be negative)--start-offset SECS
- Manual adjustment to end time (can be negative)--end-offset SECS
Important: For reactions after dialogue, use
--padding-after instead of --include-after. The include-after option captures ALL time until the next dialogue segment (could be 30+ seconds!).
Quality Options
- Color palette quality (affects file size)--quality low|medium|high
- Frames per second (default: 15, use 24 for smooth)--fps N
- Width in pixels (default: 480, use 720 for HD)--width N
- Create GIF without subtitle overlay--no-subtitles
Note: All GIFs automatically include a subtle "gifhorse" watermark in the bottom-right corner.
Common Workflows
Quick Reaction GIF
gifhorse search "perfect" gifhorse create "perfect" 1 --padding-after 2.0 --output perfect.gif
Full Conversation Exchange
gifhorse search "key phrase" gifhorse preview "key phrase" 1 --include-before 2 --include-after 1 gifhorse create "key phrase" 1 --include-before 2 --include-after 1
High Quality for Twitter/X
gifhorse create "quote" 1 --width 720 --fps 24 --quality high --output tweet.gif
Scene with Reaction After Dialogue
gifhorse create "memorable line" 1 --padding-after 3.0
Tips & Tricks
- Always preview first - Use
to verify timing before creatingpreview - Default downloads subtitles - Just run
and subtitles are fetched automaticallygifhorse transcribe - Watch file sizes - High quality + long duration = large files (20s can be 20+ MB)
- Padding vs Include - For reactions, use
not--padding-after--include-after - Search with context - Add
to see surrounding dialogue--context 2
File Size Guide
- Low quality, 10s, 360p: ~1-2 MB
- Medium quality, 10s, 480p: ~3-5 MB
- High quality, 20s, 720p: ~20+ MB
Troubleshooting
"command not found: gifhorse"
Activate the virtual environment:
cd ~/gifhorse && source venv/bin/activate
Subtitle rendering errors
Make sure FFmpeg-full is installed:
brew install ffmpeg-full
Video file not found
The database stores absolute paths. If you moved videos after transcription, re-transcribe in the new location.
Network Share Support
GifHorse works with network-mounted videos:
# Mount network share (macOS) open "smb://server-ip/share-name" # Transcribe from network gifhorse transcribe "/Volumes/server-ip/Movies"
When to Use This Skill
Invoke gifhorse when the user wants to:
- Search for dialogue or quotes in their video library
- Create a reaction GIF from a movie or TV show
- Add subtitles to a video clip
- Transcribe videos for searchable dialogue
- Preview what a GIF will look like before creating it
- Add watermarks to GIFs for social media
Learn More
- GitHub: https://github.com/Coyote-git/gifhorse
- Usage Guide: https://github.com/Coyote-git/gifhorse/blob/main/USAGE_GUIDE.md
- Roadmap: https://github.com/Coyote-git/gifhorse/blob/main/ROADMAP.md
License
MIT