skills$openclaw/gifhorse
coyote-git4.0k

by coyote-git

gifhorse – OpenClaw Skill

gifhorse is an OpenClaw Skills integration for data analytics workflows. Search video dialogue and create reaction GIFs with timed subtitles. Perfect for creating meme-worthy clips from movies and TV shows.

4.0k stars5.8k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026data analytics

Skill Snapshot

namegifhorse
descriptionSearch video dialogue and create reaction GIFs with timed subtitles. Perfect for creating meme-worthy clips from movies and TV shows. OpenClaw Skills integration.
ownercoyote-git
repositorycoyote-git/gifhorse
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @coyote-git/gifhorse
last updatedFeb 7, 2026

Maintainer

coyote-git

coyote-git

Maintains gifhorse in the OpenClaw Skills directory.

View GitHub profile
File Explorer
3 files
.
_meta.json
450 B
README.md
2.5 KB
SKILL.md
6.6 KB
SKILL.md

name: gifhorse description: Search video dialogue and create reaction GIFs with timed subtitles. Perfect for creating meme-worthy clips from movies and TV shows. homepage: https://github.com/Coyote-git/gifhorse metadata: {"clawdbot":{"emoji":"🐴","requires":{"bins":["gifhorse","ffmpeg"]},"install":[{"id":"gifhorse-setup","kind":"shell","command":"git clone https://github.com/Coyote-git/gifhorse.git ~/gifhorse && cd /gifhorse && python3 -m venv venv && source venv/bin/activate && pip install -e .","bins":["gifhorse"],"label":"Install gifhorse CLI tool"},{"id":"ffmpeg-full","kind":"shell","command":"brew install ffmpeg-full","bins":["ffmpeg"],"label":"Install FFmpeg-full (macOS)"}],"config":{"examples":[{"GIFHORSE_DB":"/gifhorse/transcriptions.db"}]}}}

GifHorse - Dialogue Search & GIF Creator

Create reaction GIFs from your video library by searching dialogue and adding timed subtitles.

What GifHorse Does

  1. Transcribe videos - Extract dialogue with timestamps by downloading subtitles, using local .srt files, or Whisper AI
  2. Search dialogue - Find quotes across your entire video library instantly
  3. Preview clips - See exactly what will be captured before creating the GIF
  4. Create GIFs - Generate GIFs with perfectly timed subtitles and optional watermarks

Setup

First Time Setup

  1. Install gifhorse (via install button above)
  2. Install FFmpeg-full for subtitle rendering (via install button above)
  3. 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-before N - Include N dialogue segments before the match
  • --include-after N - Include N dialogue segments after the match
  • --padding-before SECS - Add buffer seconds before dialogue starts (default: 1.0)
  • --padding-after SECS - Add buffer seconds after dialogue ends (default: 1.0)
  • --start-offset SECS - Manual adjustment to start time (can be negative)
  • --end-offset SECS - Manual adjustment to end time (can be negative)

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

  • --quality low|medium|high - Color palette quality (affects file size)
  • --fps N - Frames per second (default: 15, use 24 for smooth)
  • --width N - Width in pixels (default: 480, use 720 for HD)
  • --no-subtitles - Create GIF without subtitle overlay

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

  1. Always preview first - Use preview to verify timing before creating
  2. Default downloads subtitles - Just run gifhorse transcribe and subtitles are fetched automatically
  3. Watch file sizes - High quality + long duration = large files (20s can be 20+ MB)
  4. Padding vs Include - For reactions, use --padding-after not --include-after
  5. Search with context - Add --context 2 to see surrounding dialogue

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

License

MIT

README.md

GifHorse Skill for ClawdHub

A Clawdbot skill that enables dialogue search and reaction GIF creation from your video library.

What is This?

This is the ClawdHub skill package for gifhorse - a CLI tool that lets you search dialogue in your video library and create reaction GIFs with timed subtitles.

Features

  • 🔍 Search dialogue across your entire video library instantly
  • 🎬 Create GIFs with perfectly timed subtitles
  • 🏷️ Automatic branding - all GIFs include a subtle "gifhorse" watermark
  • 📝 Transcribe videos using subtitle files or Whisper AI
  • 👀 Preview before creating to verify timing

Installation

Via ClawdHub

clawdhub install gifhorse

Manual Installation

  1. Copy SKILL.md to your Clawdbot skills directory
  2. Run the installation commands from the skill's install instructions
  3. Restart Clawdbot to load the skill

Prerequisites

  • Python 3.8+
  • FFmpeg-full (for subtitle rendering)
  • macOS, Linux, or Windows

The skill includes automated installation commands for:

  • gifhorse CLI tool
  • FFmpeg-full (macOS via Homebrew)

Usage with Clawdbot

Once installed, you can ask Clawdbot naturally:

Search my video library for quotes about "perfect"
Create a GIF from Blade Runner with the "cells" quote
Make a high-quality reaction GIF with watermark from that scene

Clawdbot will automatically invoke the gifhorse skill and execute the appropriate commands.

Direct Command Usage

You can also use gifhorse commands directly:

gifhorse search "memorable quote"
gifhorse preview "memorable quote" 1
gifhorse create "memorable quote" 1

Publishing to ClawdHub

To publish this skill to ClawdHub:

  1. Fork or create your own copy of this skill directory
  2. Test locally with your Clawdbot instance
  3. Upload to ClawdHub:
    • Visit https://clawdhub.com
    • Sign in with GitHub
    • Upload the SKILL.md file
    • Add version information and changelog
    • Submit for review

The skill will be available for others to install once approved by ClawdHub moderators.

Version Information

  • Current Version: 1.0.0
  • Compatible With: Clawdbot 2026.1.x+
  • License: MIT

Learn More

Contributing

Issues and improvements welcome! Submit PRs to the main gifhorse repository or this skill package.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install gifhorse?

Run openclaw add @coyote-git/gifhorse in your terminal. This installs gifhorse into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/coyote-git/gifhorse. Review commits and README documentation before installing.