Talking Head Cut logo

Talking Head Cut

Community
JimLiu
talking-head-cut

一两个人对着镜头说话的录音要剪成能发布的视频时用:去掉口癖、长停顿、录废重来的部分和离题的话,在几遍重录里挑一遍,收紧句间停顿,把最有力的原话挪到开头,再按需要加放大强调、B-roll、竖屏取景和配乐闪避。需要视频的转写。只想从长视频里挑几段短视频时用切短视频。

Overview

PublisherJimLiu
Repositorybaocut
Skill nametalking-head-cut
Stars
687
Forks
57
Bundled files
1
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.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

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

Installation

Install the Talking Head Cut 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/talking-head-cut
  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/talking-head-cut .claude/skills/talking-head-cut
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Talking Head Cut 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 Talking Head Cut 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 Talking Head Cut 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. 转写。没有转写,下面每一步都是瞎猜。没有 kind 为 speech 的文档时先转写,告诉用户转写在进行。
  2. 按论点列出留 / 删清单,一次剪完(第 2 节)。
  3. 收紧句间停顿(第 3 节)。
  4. 定开头(第 4 节)。
  5. 剪口定下之后才加画面:放大强调、B-roll、文字;然后是取景与声音。做法在 references/picture-and-sound.md,要做这些时用 skills_read 取。
  6. 验收(第 5 节)。

画面元素会跟着剪口走,但先剪话、后加画面仍然更省事:话没定下来之前,定不了放大落在哪一句、B-roll 给几秒。

1. 时间与剪法

这里有两个时钟,搞混了剪点就落错地方:

  • 转写(documents_read 读 speech 文档)里词的 start、end 是素材自己的时钟,按 timescale 换成秒:秒 = 刻度 ÷ timescale。addCuts、proposeCuts 用的就是素材时钟上的秒。
  • splitItem、moveItem、removeRange、导出的范围和 videos_frames 的 at 用时间线上的秒。素材上的时刻 t 在时间线上的位置 = 那个片段的 startSeconds +(t − sourceInSeconds)(videos_inspect 的片段里有这两个值;变过速的片段再除以速率)。不要凭感觉换算;拿不准就重新 videos_inspect 读片段。
  • 口播的删减用剪口(addCuts):可以恢复(restoreCut),剪口集合是视频里 kind 为 cut-set 的文档。原文件不动。

2. 留 / 删清单

读全文,不要边听边一句一句剪:

  • 按论点列:这段录音讲了哪几个论点,每个论点留哪几句。写成留 / 删清单(句子、留或删、理由),一次剪完;边读边剪,读到后面常发现前面删掉的一句是后文的前提。
  • 该删的:开拍前的准备、说错重来的那几遍、录完到停机之间的杂音、与主线无关的离题话。
  • 口癖与长停顿:用 edits_apply 的 proposeCuts(detect 里的 fillers 与 pauses)生成剪辑提案,用 documents_read 读提案,逐条看过,再用 acceptCutSuggestions 只接受该删的那些;要改区间的直接 addCuts 并把建议 ID 写进 ref。提案不检测重复的句子:录废重来、说了两遍的,自己按转写里的词时间用 addCuts 剪。
  • 几遍重录挑哪遍:看完整(意思说全了)、自然(不像背的)、节奏(不拖不赶)。后一遍通常更顺,但这不是规则;拿不准就都留着,请用户听了再定。
  • 默认保持原来的顺序。调序会改变论证;除了第 4 节的开头,其他任何挪动都先问用户。
  • 按整句删:剪口的边界落在词与词之间的空隙里,取整句第一个词的开头到最后一个词的结尾,不切进词里。
  • 清单定下后作为一笔修改提交:每句要删的一个剪口,放进同一次 edits_apply。整笔是一步撤销:用户说「不要那一批」时,一次 edits_undo 就退回去。

3. 句间停顿

停顿的长短是视频的语气:压得太短像赶,留得太长像拖。

  • 起点(不是规则,要听着调):句与句之间约 0.2 秒;节奏快的宣传类口播可以到 0.1–0.15 秒,讲道理或偏思考的 0.3–0.5 秒。语速慢、句子长的语言和说话人相应放宽。
  • 用 proposeCuts 的 detect 表达:pauses 打开,compressTo 设成上面的目标,minPause、maxGap 不给时用默认值。先读提案看会动多少处,再接受。整片用同一个数之后,回头看转折、包袱和提问之后的地方:那里的停顿是内容,压短就丢了。
  • 留住换气:把每次换气都剪掉听起来像机器。剪的是空等,不是呼吸。
  • 词要完整:剪点落在词之间的空隙,不吃掉第一个音节,也不吃掉结尾的尾音。转写的词边界很紧时,在剪点留一点余量。
  • 你听不到成片。停顿长短可以从剪口和片段读出来,但顺不顺要人耳听:用 export 导出一小段(range 是时间线上的秒)给用户听,并在报告里说明哪些只是量出来的。

4. 开头

头几秒决定观众留不留。

  • 头几秒要有一句让人留下来的话。全片最有力的一句原话可以挪到开头:用 splitItem 在这句话的首尾(时间线上的秒)切开,再用一次 moveItems 把它挪到最前、把原来在它前面的片段顺次往后挪(同一轨道上的片段不能重叠)。

  • 挪的是原话;不重新配音,不拼半句。它原本带着的限定语一起带走(例如「在这种情况下」「对新手来说」,任何语言都一样);拿掉限定语会改变意思时,就不挪。

    对比一下(只是示意):原话是「对新手来说,这个方法第一周就能见效」。挪「这个方法第一周就能见效」到开头,意思从「对新手」变成了「对所有人」,不能这么挪;要挪就整句挪。

  • 想清楚这句话在片子里出现一次还是两次,并告诉用户:挪动是调序,原来的位置就没有这句了;如果是预告、原位置也要保留,就不挪,而是在开头再放一份同一段素材(addItem 放同一个素材,再用 trimItem 裁到这句话的范围),并给它腾出位置。

  • 挪片段时别的轨道上的东西不一定跟着走。所以先定开头,再加放大和文字;如果已经加了,挪完之后 videos_inspect 重新读,逐个核对。

  • 没有能单独成立的原话时什么都不挪;按原来的顺序开始,把开场寒暄剪掉。

5. 验收

  • 读回:videos_inspect 看片段与时长,documents_read 看剪口集合,对照留 / 删清单逐项核对:该删的删了,该留的还在。
  • 要看画面时用 videos_frames 在时间线上的时刻取帧:它给的是那个时刻的素材画面,放大、字幕和叠加的元素不在里面;要核对合成后的效果,导出一小段成片给用户看。
  • 剪过之后译文会过期:有译文时按翻译字幕的做法,只重译变了的句子。
  • 报告分三栏写:量出来的(时长、剪口数、停顿改成了多少)、看过的(取了帧的写看了哪几处、看到什么;没看的如实写没看)、要人听的(剪点顺不顺、配乐音量)。开头那句挪没挪、原位置怎么处理,单独一句说明。

6. 要避免的

  • 不要边听边剪,不要分几笔零散地剪。
  • 不要把每次换气都剪掉,不要把转折、包袱后面的停顿压掉。
  • 不要切进词里;不要为了开头拼半句、拿掉限定语。
  • 不要不问就调序(开头那一句除外);不要替用户在几遍重录里硬选。
  • 不要把素材时钟和时间线时钟混用。
  • 不要把没听过的说成「顺」,把没看过的说成「没问题」。

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Talking Head Cut AI skill do?

一两个人对着镜头说话的录音要剪成能发布的视频时用:去掉口癖、长停顿、录废重来的部分和离题的话,在几遍重录里挑一遍,收紧句间停顿,把最有力的原话挪到开头,再按需要加放大强调、B-roll、竖屏取景和配乐闪避。需要视频的转写。只想从长视频里挑几段短视频时用切短视频。

Why use Talking Head Cut on TypingMind?

Because you install it once and use it with any model. Talking Head Cut 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 Talking Head Cut in TypingMind?

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

Which AI models can use Talking Head Cut?

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 Talking Head Cut?

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

Is the Talking Head Cut 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 👇