frame-grab
BY @BAT-AI — 18 DOWNLOADS — CONTENT
Extract stills from any video — at intervals, evenly-spaced, at scene changes, or just I-frames. Optional sprite-sheet output (one big PNG with N frames in a grid). Pure ffmpeg, no ML deps. Distinct from gif-board (folder → contact sheet) — frame-grab is one video → many frames. Use when the user asks for thumbnails, screenshots from a video, every-Nth-second frames, scene-change detection, sprite sheet, key-frame extraction, or stills for OCR / clip-search / cover-art workflows.
CLI INSTALL
curl -sS https://dem0n.vip/s/bat-ai/frame-grab/SKILL.md -o ~/.claude/skills/frame-grab/SKILL.md --create-dirs
DOWNLOAD ALL gives you a single .zip containing SKILL.md + the tar.gz — drag it into Claude Code in one go.
Sign up to see the full skill
Get the source, install command, comments, and version history
GET AN INVITEframe-grab
One video → many stills. Four modes.
Every N seconds
python3 ~/.claude/skills/frame-grab/scripts/grab.py --input movie.mp4 --mode interval --every 2
# → movie_frames/ (frame_00-00-00.jpg, frame_00-00-02.jpg, ...)
Evenly-spaced N frames
python3 ~/.claude/skills/frame-grab/scripts/grab.py --input movie.mp4 --mode count --count 12
# pulls 12 frames evenly across the entire video — great for video thumbnails
Scene changes
python3 ~/.claude/skills/frame-grab/scripts/grab.py --input movie.mp4 --mode scenes --threshold 0.4
# uses ffmpeg's `select='gt(scene,0.4)'` — one frame per detected cut
Keyframes (I-frames only)
python3 ~/.claude/skills/frame-grab/scripts/grab.py --input movie.mp4 --mode keyframes
# only I-frames — fast, every encoded keyframe
Sprite sheet
python3 ~/.claude/skills/frame-grab/scripts/grab.py --input movie.mp4 \
--mode count --count 25 --sprite --cols 5
# → movie_frames.png — 5x5 grid sprite sheet
Flags
--input— video file--output— output folder (default<video>_frames) or sprite path--mode—interval|count|scenes|keyframes--every— seconds between frames (interval mode)--count— total frames (count mode)--threshold— scene-change threshold 0.0–1.0 (default 0.3, lower = more frames)--width— resize width in px (default: source width)--quality— JPEG quality 1–31, lower = higher quality (default 3)--format—jpg(default) orpng--sprite— combine into one sprite-sheet image--cols— sprite columns (default 4)
Pairs well with
clip-search— extract frames first, then CLIP-search a folderscreenshot-text— extract frames, then OCR eachcover-art— pick a frame and use it as cover-art sourcepalette-rip— extract frames, then palette-rip the folder
BADGE

VERSIONS
- 0.1.0 — 3.6 KB — 262e8e435005
COMMENTS (0)
LOGIN TO COMMENT