← Back to list
🎬

video-voiceover Checked

A skill from the GitHub repository zenstory-ai/video-recap-skills.
🎬 Video & Motion skills By zenstory-ai Version v1.0.0 Added 2026-09-17 Updated 2026-09-17 Source ↗
8.6Overall rating
2Views
8Downloads
518Stars

Installation

🤖 Install via AI

Copy the prompt below and send it to your AI assistant (e.g. Claude Code) — it will follow the instructions and install automatically.

Install the "video-voiceover" skill by following the instructions at https://skill123.me/install/video-voiceover.
⌨️ Command line install

Run in your terminal — downloads and installs to ~/.claude/skills/.

curl -fsSL https://skill123.me/install/video-voiceover.sh | bash
📦 Download ZIP

Download the zip and extract it into your skills directory (e.g. ~/.claude/skills/), then restart your session.

⬇ Download v1.0.0 · 31 KB
📊 Static rating
8.6/10
Trigger
7.0
Structure
8.7
Workflow
8.8
Content
9.0
Engineering
8.0
Security
10.0

Six-dimension rubric with reviewer rationale.

View scorecard ↓
🛡 Dynamic test
—

Not live-tested yet — this skill is rated on static analysis only.

About this skill

A skill from the GitHub repository zenstory-ai/video-recap-skills.

Documentation

A skill from the GitHub repository zenstory-ai/video-recap-skills.

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。每段必须包含 start、end 与 narration,可选字段包括

pause_after_ms 和 overlaps_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:包含 segments、engine 与 narration。每段记录 audio_path、时间、

pause_after_ms 和放置字段。

  • 干净运行写入 partial: false 与 failures: []。
  • 使用 --allow-partial-tts 跳过失败段时,写入 partial: true 和

failures: [{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_WORKERS、TTS_TIMEOUT、TTS_RETRIES、ALLOW_PARTIAL_TTS 用于调整并发、超时、重试与部分成功策略。
  • dub 模式有独立的确定性门禁:dub_lint.json 会在语音克隆前阻止空行、重叠或越界译文;

dub_review.json 用于记录忠实度、语气、时长和平台适配复核。可通过

dub.py --stage lint|review 或 dub.py --print-schema 单独调用。

7. 能力边界

  • 不撰写或修改旁白文本。
  • 不混流、不压低原声、不渲染字幕。
  • 不分析视频,也不选择时间点;只为输入稿件中的既定分段配音。
  • Fish Audio 路径不接受本地 --voice-ref;使用已创建的 FISH_TTS_REFERENCE_ID 选择音色。

Score breakdown

Trigger
7.0
Clear stage description naming both TTS providers and models with bilingual trigger words; no explicit When-Not in the description.
Structure
8.7
81-line SKILL.md over 5 focused scripts; no references tier, minimal but appropriate.
Workflow
8.8
Good execution design: content+settings fingerprinted caching (only affected WAVs regenerate), partial-failure policy keeping missing speech visible, provider fallback rules, and a deterministic dub lint gate before cloning.
Content
9.0
Precise contracts and env documentation; consistent with sibling skills.
Engineering
8.0
Valid frontmatter; entry script lacks a shebang (documented python3 invocation); env surface fully documented.
Security
10.0
Capability manifest matches declared scope: cloud TTS providers named in the description, reference-audio upload for cloning explicitly disclosed and gated on user authorization, API keys sanitized out of error text, no other network, no persistence.
TTS stage of the zenstory-ai video-recap pipeline: synthesizes per-segment narration audio via MiMo TTS or Fish Audio with time-window speed fitting, plus dub-mode voice cloning. Capability manifest (6.0): reads narration JSON, optional reference audio and env API keys; side effects confined to work_dir (tts_segments/*.wav, tts_meta.json, dub lint/review); network destinations: api.xiaomimimo.com / token-plan clusters and api.fish.audio, uploading narration text and, for cloning, reference audio — all named in the description itself, with an explicit use-only-with-authorization rule for reference audio; credentials env-only and stripped from sanitized error messages; no persistence. Capabilities match declared scope.