Video Recap (End-to-End Narrated Recap Generator)
An orchestration skill that turns a raw video file into a finished narrated recap: understanding, story planning, cutting, AI voiceover and assembly.
Image & VideoAdvanced★ 470⑂ 86AI score 9/10Last updated: Aug 24, 2026
What it does
- Takes
.mp4/.mov/.mkv/.webminput, analyzes scenes, speech and characters, then forces the agent to plan in a real editorial order: directorial intent → story beats → shot selection → narration copy. - Acts as a lightweight orchestrator over
video-understanding → script planning → video-cut → video-voiceover → video-assemble. Stages talk only through JSON/MP4 artifacts inwork_dir, so a run is resumable by re-issuing the same command. - Three edit modes:
full(full narration),cut(condensed recap, supports multiple source videos),dub(translate an English video and replace speech with a cloned voice of the original speaker). - Produces SRT/ASS subtitles, supports measuring the original subtitle band (
tools/measure_subtitle.py), CapCut/剪映 project export, and optional advisory MiMo QC reports. - Hard timeline constraints: source audio may only be cut at reliable sentence/silence boundaries, and narration must use whole per-segment audio — preventing clipped, half-spoken lines.
Who it's for
- Creators and editors producing recurring recap videos for dramas, films, documentaries or explainer content.
- Channel owners who need to condense several episodes into one ~10-minute summary.
- Localization teams who want translated dubs that keep the original speaker's timbre.
- Requires ffmpeg plus a MiMo API key (Fish Audio optionally for TTS); output narration is Chinese-first by default.
Examples
- Single video:
python3 scripts/recap.py ep1.mp4 --work-dir wd --context "show background"→ the script writes a creative brief and pauses → you authorrecap_story_plan.jsonandnarration.json→ rerun the same command to renderrecap_ep1.mp4. - Multi-episode digest:
python3 scripts/recap.py ep1.mp4 ep2.mp4 --edit-mode cut --target-duration 10m. - Voice-cloned dubbing:
python3 scripts/recap.py talk.mp4 --edit-mode dub, supply per-sentence translations on the original timings, rerun to getdub_talk.mp4. - Extra review: add
--mimo-qc bothfor advisory pre-assemble and post-render QC notes inmimo_qc.json.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/zenstory-ai/video-recap-skills/HEAD/skills/video-recap/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/video-recap folder from the GitHub repo zenstory-ai/video-recap-skills into my ~/.claude/skills/zenstory-ai-video-recap/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/zenstory-ai/video-recap-skills.git /tmp/video-recap-skills && mkdir -p ~/.claude/skills && cp -r /tmp/video-recap-skills/skills/* ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Prerequisites: verify
python3 --versionandffmpeg -version. Install ffmpeg if missing: macOSbrew install ffmpeg, Ubuntusudo apt install ffmpeg, Windowschoco install ffmpeg. - Clone the repo:
git clone https://github.com/zenstory-ai/video-recap-skills.git - Install the skills:
mkdir -p ~/.claude/skills && cp -r video-recap-skills/skills/* ~/.claude/skills/— copy the sibling skills (video-understanding, video-cut, video-voiceover, video-assemble) too, not just video-recap. - Set credentials:
export MIMO_API_KEY=your_key(add it to~/.zshrc/~/.bashrcto persist). For Fish Audio TTS also setexport FISH_API_KEY=.... - Self-check:
python3 ~/.claude/skills/video-recap/scripts/recap.py --doctor. - Restart Claude Code, then ask something like "generate a narrated recap from this video file".
- The first run intentionally stops after the creative brief. Once the plan/narration JSON is written, rerun the exact same command to continue through rendering.
View source on GitHub ↗License: MIT