Goblin is a media analysis pipeline for Claude. It extracts scene-change keyframes and a timestamped transcript from a local video or audio file, then writes a structured MANIFEST directory that Claude and editing tools can consume directly.
- ffprobe / ffmpeg — frame extraction and audio processing
- whisper.cpp — speech-to-text
(
whisper-clion PATH, or setGOBLIN_WHISPER_CMD) - mkvextract (optional) — embedded subtitle extraction from MKV files
make build
# or
go build -o bin/goblin ./cmd/goblinPre-built binaries for Windows, Linux, and macOS are attached to each GitHub release.
Cross-compile all platforms:
make build-all# Full pipeline (frames + transcript)
goblin -model /path/to/ggml-large-v3-turbo.bin video.mp4
# Probe only (metadata, no extraction)
goblin -probe-only video.mp4
# Skip transcription
goblin -no-transcript video.mp4
# Use custom whisper binary
GOBLIN_WHISPER_CMD=/usr/local/bin/main goblin -model /path/to/model.bin video.mp4video_goblin/
├── MANIFEST.json — top-level index with scene list and cross-links
├── probe.json — technical metadata (codec, resolution, duration)
├── transcript.json — timestamped transcript segments
└── frames/
├── frame_00001.png
└── ...
See USING.md for the full flag reference and worked examples, including
a strategy guide for AI agents. The guide is also embedded in the binary:
goblin -guide