Narrate Video

Timed, synced video voiceover via Azure/Gemini TTS with ffmpeg mux — avoids the amix-silence and audio-cutoff traps.

Works with setup

Test report

Verdict
Works with setup
Score
9.6/10
Tested
Jul 15, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · 27ef433

Ran the real ffmpeg pipeline both ways on a 9s test clip: the naive baseline (single narration track dumped at the start) silently truncated the video to 4.5s via -shortest, while the skill's segment/adelay/amix(normalize=0) approach preserved the full 9s runtime with mean volume -17.6dB, right in the documented -25..-15dB target. Real friction: needs a paid Azure Speech or Gemini API key configured in ~/.narrate_video.env before it can actually synthesize speech.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 5/5
  • Triggers reliably 5/5
  • Output vs. baseline 9/10
  • Docs & honesty 5/5

What Narrate Video does

Adds a professional voiceover track to any video by analyzing scene transitions, writing timed narration segments, generating speech via Azure TTS or Gemini 3.1 Flash TTS, and muxing with ffmpeg while keeping audio and visuals in sync. Triggers on requests to add narration, voiceover, commentary, or dubbing to a video, including screen recordings and Chinese-language phrasings like "视频配音".

How to install Narrate Video

git clone https://github.com/feiskyer/video-skills
mkdir -p ~/.claude/skills
cp -r video-skills/skills/narrate-video ~/.claude/skills/narrate-video

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Narrate Video

  • /narrate-video Timed, synced video voiceover via Azure/Gemini TTS with ffmpeg mux — avoids the amix-silence and audio-cutoff traps.

It also activates on plain-language prompts like these:

  • Add a synced voiceover track to this screen recording using TTS
  • Dub this product demo without the audio track getting cut off early
  • This video needs narration timed to the scene transitions, add it please

Frequently asked questions

Is the Narrate Video skill free?
Yes. The skill itself is free from feiskyer/video-skills. SkillProof publishes the install command and an independent test verdict at no cost.
Does Narrate Video work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 15, 2026. Verdict: Works with setup. Ran the real ffmpeg pipeline both ways on a 9s test clip: the naive baseline (single narration track dumped at the start) silently truncated the video to 4.5s via -shortest, while the skill's segment/adelay/amix(normalize=0) approach preserved the full 9s runtime with mean volume -17.6dB, right in the documented -25..-15dB target. Real friction: needs a paid Azure Speech or Gemini API key configured in ~/.narrate_video.env before it can actually synthesize speech.
What is the Narrate Video SkillProof Score?
9.6/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 9/10, docs & honesty 5/5.
How do I install Narrate Video?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Narrate Video with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.