Narration logo

Narration

Community
JimLiu
narration

做一条由旁白带着走的成片(资讯快评、知识讲解、产品介绍、步骤教程),或给已有画面配一段多句的旁白时用:先按实测语速算出稿子该有多少字、按句分行写稿,再选一个全片不变的音色、用同一套语气说明一次合成,量时长、查接缝、只重配不合格的句子,最后把画面剪到旁白上。不用于把视频配成另一种语言(翻译配音),也不用于只念一句话。

Overview

PublisherJimLiu
Repositorybaocut
Skill namenarration
Stars
687
Forks
57
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by JimLiu on GitHub. Read the source before you install it.

Installation

Install the Narration AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/JimLiu/baocut/tree/main/skills/baocut/built-in-skills/narration
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/JimLiu/baocut.git /tmp/baocut
mkdir -p .claude/skills
cp -r /tmp/baocut/skills/baocut/built-in-skills/narration .claude/skills/narration
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Narration in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Narration on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Narration is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

旁白成片

旁白成片里决定一切的是稿子与声音:稿子的长度定了成片的时长,声音的一致定了观众信不信这是一个人在说。顺序:

  1. 先量语速,再算字数,再写稿(第 1 节)。
  2. 稿子按句分行,怎么说与说什么分开写(第 2 节)。
  3. 选一个能锁住音色的声音,一套说明一次合成,记下种子(第 3 节)。
  4. 量出来、查接缝、只重配不合格的句子;不靠变速凑时长(第 4 节)。
  5. 画面剪到旁白上(第 5 节)。
  6. 验收(第 6 节)。

1. 先量语速,再算字数

  • 尚无当前配置样音、需要先起草时,用 skills_read 读 baocut-catalog-voice-language-rates:按目标语言的 Unit 与 Rate 估首稿预算,再用下面的实测修订。表内包含完整语言数据、校准条件与未列语言的兜底;不用为了查表先合成音频。
  • 字数不是猜的:先让要用的模型与音色念一小段有代表性的稿子,带同一套语气说明,用结果里的时长算单位/秒。已有同配置、同语言与相近风格的样音时复用,不重复生成。
  • 计数方式跟着目标语言走:中文等适合按字计的稿子按字,有明确分词习惯的语言按词;其他语言或混合语言采用一致、可复算的字符或分词方法,用同一方法计样音与全稿,不回退成英文语速。数字、缩写按实际读法计,不计舞台说明与标点。
  • 用样音总时长算平均语速时,单位预算 = 可用于旁白的秒数 × 实测单位/秒,停顿已包含,不重复扣除。若按对齐时间单独量发声语速,则 单位预算 =(可用秒数 − 预计停顿秒数)× 发声单位/秒;不能把秒直接从字数里减掉。外部语言速率表只能起稿参考,换模型、语言或表演后重新校准。
  • 写超了就在允许改写的范围内压缩,不靠加速。用户要求逐字朗读时保留原稿,说明它与时长预算的冲突,不擅自删句。
  • 时长是目标不是配额:稿子念出来 55 秒就交 55 秒,不用填充、循环或变速把它拉到 60。

2. 稿子怎么写

  • 一句一行,一句一个意思,句末用句号、问号或叹号收住:合成引擎按这些标点切句与停顿,字幕也按这些断行。不用分号把两句连成一句。
  • 数字、年份、缩写写成读法(「二零二六年十月一日」「每秒三十帧」);多音字与专名用读音标注(<银行|yin2 hang2>,speak 的文本接受这种写法)。
  • 梗与吐槽放在事实句之后、单独成句,节奏靠句子长短与剪辑切换,不靠让声音念得更快。
  • 怎么说与说什么分开:语气说明只写语气、场景、角色(「年轻资讯主播,明快自然,吐槽时带一点笑意」),不写台词;台词里不夹括号注释与舞台说明。模型能响应时可要求「缓慢安抚」「急促兴奋」等表演语速,不能用它承诺精确秒数或挽救超长稿;先定表演,再按第 1 节实测预算。「剪辑节奏快」不自动等于「声音念得快」。

3. 选声音,一次合成

  • 多句旁白优先选有参考录音锚定的音色:用户库里已授权克隆的音色(library:<id>),或 models_capabilities 里 voices[].source 为 builtin 的内置音色。它们每一块都对着同一段参考录音生成,音色稳得住。
  • source 为 model 的预置说话人(能接受语气说明的那类本机模型)每块独立采样,块与块之间音高会漂 3–5 个半音,听起来像换了人:只用在 60 字以内的短旁白,或用户点名要它时——这时在报告里写明这个风险。在线模型按它自己的说明。
  • 全片一个角色就一个音色、一套语气说明;模型不接受语气说明时只靠选音色。
  • 整段一次提交(或按段落、几百字一段),不要逐句提交:引擎自己按句切块、统一块之间的停顿与响度;逐句提交不会让音色更一致,反而把总时长拉长、每字变慢。逐句只用于重配某一句(第 4 节)。
  • 模型接受 seed 时给一个固定的 seed 并记下来;重配某一句时只换那一句的 seed,其余不动。
  • 结果带 video 时是候选素材,还不在时间线上;合成完先量(第 4 节),再放。

4. 量出来、查接缝、重配

  • 量:结果的时长取自结果里的媒体事实,对照预算。超了按第 1 节判断是否允许压缩,再重配那一段,不改时间线速度;短了照实交。
  • 对齐:把旁白素材转写(transcribe 给旁白的 asset,语言断言为稿子的语言,提示里放专名)得到每个字的时间;字幕与切镜都用这份时间,不凭感觉估。
  • 查接缝(量出来的):用对齐后的字时间与第 1 节的计数方法算每句的单位/秒与句间停顿。偏离中位数超过 15% 的句子、超过 0.8 秒的句间停顿,是重配或剪掉静音的候选。
  • 重配一句:只对那一句 speak(同音色、同说明、换 seed),用对齐时间在时间线上替换那一句的范围;新句比原句长时按第 1 节处理文本与时长的冲突,不变速。
  • 听(要人听的):导出旁白里 2–3 处 5 秒的片段(每处跨一个句子边界)给用户听,问的是「像不像同一个人」「停顿自然不自然」。你自己听不了时在报告里如实写「没听过」,不把「量过」写成「听过」。
  • 时间线上不给旁白加变速:变速保音高但会改变语速与停顿的比例,让本来的快慢差更明显;翻译配音流程里对齐用的小幅变速是那条流程的事,不在这里用。

5. 画面剪到旁白上

  • 旁白一条轨,先放好、量好,再按旁白里句子的起止排画面:一句一个镜头或一组镜头,切点落在句间停顿里,不切在字中间。
  • 画面从哪来:用户的素材优先;讲概念、比喻、场景的句子没有素材时,可以按句或按一组句子各生成一张静图(比例按画幅,画面里不要字,全片用同一段风格说明,生成时带上 video,怎么调用用 skills_read 读 baocut-catalog-media 的「生成图片」);文字、数字、步骤与图表用代码画面(用 skills_read 读 motion-graphics)。静图不会动,一张不要停太久,配转场或镜头取短;讲到真实的产品、人物、数据时用真实画面,不拿生成的图冒充。
  • 配乐在旁白下面压低(setDucking),音效落在句子之间。要配乐时用 skills_read 读 baocut-catalog-music:用户给了音乐就用用户的,否则本机能生成就生成纯音乐;旁白量好、画面排好、成片时长定了再生成。旁白片的配乐要稀疏、动态平稳、不抢人声,收尾 2–3 秒平滑淡出,不在最后一句话中间收掉。
  • 字幕按旁白稿分行,不按识别结果的断句;用对齐得到的字时间。

6. 验收

  • 稿子字数在预算内;成片时长与旁白时长一致(差额是片头片尾)。
  • 旁白只有一个音色、一套说明,用的 seed 记录在报告里;选了预置说话人时写明了风险。
  • 每句的字/秒与停顿量过,异常句处理过或在报告里列出。
  • 报告分三栏:量出来的(时长、字/秒、停顿)、看过的(切点、字幕位置)、要人听的(音色一致、停顿自然、与画面的呼吸)。

Frequently asked questions

What does the Narration AI skill do?

做一条由旁白带着走的成片(资讯快评、知识讲解、产品介绍、步骤教程),或给已有画面配一段多句的旁白时用:先按实测语速算出稿子该有多少字、按句分行写稿,再选一个全片不变的音色、用同一套语气说明一次合成,量时长、查接缝、只重配不合格的句子,最后把画面剪到旁白上。不用于把视频配成另一种语言(翻译配音),也不用于只念一句话。

Why use Narration on TypingMind?

Because you install it once and use it with any model. Narration is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Narration in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/JimLiu/baocut/tree/main/skills/baocut/built-in-skills/narration. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Narration?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Narration?

As many as you like. As long as a model supports skills, you can use Narration with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Narration AI skill free?

It is published on GitHub by JimLiu. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇