video-voiceover

video-voiceover is a skill for Claude Code from zenstory-ai/video-recap-skills. It costs 136 tokens per session (1,361 once invoked), scanned A, original, MIT.

A text-to-speech tool that turns a timestamped narration script into separate Chinese voice clips and places them within the video's timeline. Text-to-speech means generating spoken audio from written words.

In plain words
What is it for?
Use it to create Chinese voiceovers from narration scripts, adjust speaking speed to fit timings, manage pauses and overlaps, and produce audio metadata for video assembly.
Why use it?
It fits each spoken segment to its assigned time window and prepares the timing information needed for later video mixing.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter.

Part of the video-recap-skills plugin — 6 skills shipped together

Good fit Use it to create Chinese voiceovers from narration scripts, adjust speaking speed to fit timings, manage pauses and overlaps, and produce audio metadata for video assembly.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zenstory-ai/video-recap-skills/video-voiceover
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add zenstory-ai/video-recap-skills --skill video-voiceover
Clone the repo
git clone --depth 1 https://github.com/zenstory-ai/video-recap-skills

Made for: Claude Code.

Or install video-recap-skills, the plugin that ships this one along with the rest of its 6 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for video-voiceover

README.md
[![agentmods](https://agentmods.dev/badge/skills/zenstory-ai/video-recap-skills/video-voiceover/github.svg)](https://agentmods.dev/skills/zenstory-ai/video-recap-skills/video-voiceover)
Your own site
<a href="https://agentmods.dev/skills/zenstory-ai/video-recap-skills/video-voiceover"><img src="https://agentmods.dev/badge/skills/zenstory-ai/video-recap-skills/video-voiceover/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for video-voiceover

Your own site · 80×15
<a href="https://agentmods.dev/skills/zenstory-ai/video-recap-skills/video-voiceover"><img src="https://agentmods.dev/badge/skills/zenstory-ai/video-recap-skills/video-voiceover.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 136 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,361 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00136 $0.01361
Opus 5 $0.00068 $0.00681
Sonnet 5 $0.00027 $0.00272
Haiku 4.5 $0.00014 $0.00136

Measured 13d ago against content hash e726cda155ae, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

video-voiceover scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.

The scan reads SKILL.md. This mod also ships 5 executable files (scripts/dub.py, scripts/fish_audio.py, scripts/lib.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

skills/video-voiceover/SKILL.md · 82 lines

How it starts

The opening of the file, as written. The whole thing — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.

1. 定位

本技能读取带时间戳的旁白稿,为每一段生成独立音频,并把语音适配到对应时间窗,随后记录下游合成所需的放置元数据。 默认引擎是 MiMo TTS(mimo-v2.5-tts);也可显式选择 Fish Audio(默认模型 s2.1-pro-free)。

2. 环境要求

export MIMO_API_KEY=***  # 也可使用仅供 TTS 的 MIMO_TTS_API_KEY

# 或改用 Fish Audio TTS
export TTS_PROVIDER=fish-audio
export FISH_API_KEY=***
export FISH_TTS_REFERENCE_ID=<voice-model-id>  # 可选;覆盖内置“娱乐扒妹”音色

下面的 scripts/... 均相对于本技能目录。若执行器从仓库根目录启动,请给脚本路径加上本技能的绝对目录。 脚本不从其他技能目录读取文件;外部输入仅限命令显式传入的稿件、音频、参数与 work_dir 产物。

3. 输入契约

默认输入为 work_dir/narration.json。每段必须包含 startendnarration,可选字段包括 pause_after_msoverlaps_speech。时间统一表示音频最终放置的输出时间线秒数

编排式 cut 流程直接使用输出时间的 narration.json。只有旧版直接剪辑路径需要显式传入 narration_mapped.json

4. 运行命令

python3 scripts/voiceover.py --work-dir <work_dir> --narration <narration.json> \
  [--tts-provider auto|mimo-tts|fish-audio] \
  [--mimo-voice 冰糖 | --voice-ref <reference-audio>]

单独运行且省略 --narration 时,默认读取 work_dir/narration.json。旧版路径如需映射后的稿件,必须显式传入:

python3 scripts/voiceover.py --work-dir <work_dir> \
  --narration <work_dir/narration_mapped.json>

5. 输出契约

  • tts_segments/*.wav:每段旁白对应一个音频文件。
  • tts_meta.json:包含 segmentsenginenarration。每段记录 audio_path、时间、 pause_after_ms 和放置字段。
  • 干净运行写入 partial: falsefailures: []
  • 使用 --allow-partial-tts 跳过失败段时,写入 partial: truefailures: [{index,start,end,text,error}],让缺失语音保持可见。

6. 运行规则

  • 重跑只复用内容与 TTS 设置均匹配的分段音频;修改旁白或合成参数后,只重生成受影响的 WAV。
  • auto 优先使用已配置的 MiMo,MiMo key 缺失且设置了 FISH_API_KEY 时使用 Fish Audio;需要可复现的 provider 选择时显式传 --tts-provider
  • Fish Audio 直接请求 WAV;默认使用“娱乐扒妹”音色(5653cea4ac83480aaf2bf45406556185),FISH_TTS_REFERENCE_ID 可覆盖。模型、音色 ID、API URL、动态语速或归一化设置变化时会重新生成缓存。当前免费模型无 SLA,受 Fair Use 和官方免费期限约束。
  • --voice-ref 仅用于 full/cut 解说克隆,切换到 mimo-v2.5-tts-voiceclone。仅在确需新合成时惰性规范化一次;
  • dub voiceclone 原始 WAV 也会用模型、提示、台词和参考音频指纹缓存;匹配重跑不再重复请求或计费,dub_manifest.json 逐行记录 tts_cache=hit|miss; 参考音频内容或预处理指纹变化会使旧缓存失效。仅在获得授权后使用,参考音频会发送到 MiMo。
  • TTS_WORKERSTTS_TIMEOUTTTS_RETRIESALLOW_PARTIAL_TTS 用于调整并发、超时、重试与部分成功策略。
  • dub 模式有独立的确定性门禁:dub_lint.json 会在语音克隆前阻止空行、重叠或越界译文; dub_review.json 用于记录忠实度、语气、时长和平台适配复核。可通过 dub.py --stage lint|reviewdub.py --print-schema 单独调用。

Read the full file on GitHub · 82 lines

Files

What ships with it

5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 13d ago First seen · 82 lines · 136 tokens per session scan A e726cda155ae

Subscribe to this mod's changes

video-voiceover is a skill published in the GitHub repository zenstory-ai/video-recap-skills (505 stars, last pushed yesterday), licensed MIT. It adds 136 tokens to every session and 1,361 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

narrator-ai-cli

A command-line client for creating AI-narrated movie and short-drama videos. It can guide a workflow from selecting source material, templates, music, and voices to writing narration and combining the video.

NarratorAI-Studio/narrator-ai-cli-skill · 132 tokens

narrator-ai-cli

Create AI-narrated film/drama commentary videos via CLI. Two workflow paths (Original & Adapted narration), 93 movies, 146 BGM tracks, 63 dubbing voices in 11 languages, 90+ narration templates. Use when creating narration videos, film commentary, short drama dubbing, or video production.

NarratorAI-Studio/narrator-ai-cli · 73 tokens

director-agent

Skill "director-agent" from 6174/recut, covering director agent, core rule, usability and anti-laziness contract, output must be usable and modes.

6174/recut · 0 tokens

recut-editor

A timeline-editing skill for creating new videos or changing parts of an existing timeline in a CapCut-style editor. It can work with media assets and export the result while keeping edits undoable.

6174/recut · 78 tokens

recut-directing-qc

A quality-control workflow for diagnosing problems in a finished video. It connects each visible symptom to a likely cause and a repair, then checks whether the fix passes review.

6174/recut · 47 tokens

recut-directing-short-drama

A directing guide for planning the production of story-based AI short dramas, animated dramas, and narrative short videos. It covers decisions from story intent through a controlled production process and contract management.

6174/recut · 56 tokens