Polish Transcript logo

Polish Transcript

Community
JimLiu
polish-transcript

视频的转写要校对或润色时用:改错字与误听,统一术语与专名,补正标点与分句,写回同一份转写,词的时间不变。做译文或建字幕层之前先做这一步。默认不改语法、不删口癖、不精简;去掉口癖与停顿是剪辑,不在这里做。不用于润色与视频无关的文章或纯文本。

Overview

PublisherJimLiu
Repositorybaocut
Skill namepolish-transcript
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 Polish Transcript 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/polish-transcript
  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/polish-transcript .claude/skills/polish-transcript
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Polish Transcript 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 Polish Transcript 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 Polish Transcript 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. 什么时候做

  • 在翻译与建字幕层之前。句子由标点切出来,改标点就会改分句;分句一变,译文记下的句子指纹就对不上了。所以先润色、写回,再重新 documents_read 拿新的句子去翻译。
  • 这个视频已经有译文时,润色之后多数句子要重译。先告诉用户这一点,再动手。
  • 用户说不要润色,或者这份转写已经润色过(用户改过、这个会话里做过)时跳过。跳过润色时,第 7 节的说话人实名照样做。

2. 只能一词对一词地改

用 documents_read 读 kind 为 speech 的转写(有几份时按来源素材对上用户说的那段)。正文的 words 是一串词,每个词有 id、开始与结束时间、说话人和 text;标点贴在词的 text 上:句末标点在一句最后那个词的末尾,开引号、开括号在第一个词的开头。

写回时只改词的 text:

  • 每个词的 id、时间与说话人原样保留;词的个数与顺序不变;正文里其他字段照读到的原样写回。
  • 能做:把一个词的文本换成正确的写法(错字、同音或近音误听、拼写、大小写、专名);在词的 text 前后加、改、删标点;把一个词里明显连写在一起的外语短语按词补回空格(仍在这个词的 text 里,不翻译)。
  • 不能做:合并或拆分词,增加或删除词,调换词序,把文本挪到别的词上,把词的文本改成空串。
  • 一个错误跨了几个词时,能把正确写法分摊到这几个词上、每个词仍有文本,就分摊(例如逐字切分的转写里「深」「度」「雪」「洗」改成「深」「度」「学」「习」,按词切分的转写里 Chat GBT 改成 Chat GPT)。分摊不了(要删一个词或多出一个词才对得上)时不要硬改,在交付说明里列出这一处和正确写法。

为什么这么严:字幕的每一条、译文的每一句都对着这些词的时间。你改的是字,时间轴不能动。

3. 动手之前

先通读全文,定下这几件事,全文照它们改。它们不进成品:

  • 背景参考:先 videos_inspect 看来源素材的 assets[].source(从链接导入的素材才有):标题、发布者(uploader)、简介(description)、作者的章节。它是背景参考,不是文稿内容,也不是绝对权威:里面人名、机构、产品、术语的准确写法是强校正提示,只在说话人明显在说它时才照它改;绝不因为简介里有就往文稿里加词、加事实。用户点名的写法仍是硬性要求,优先于它。
  • 内容概要:一两句话说清这个视频讲什么。听错的词本来是什么,多半要靠它判断:一个讲机器学习的视频里,「深度雪洗」只可能是「深度学习」。
  • 术语与专名:认出同一个术语、人名、产品名的几种错写,全文统一成一种正确写法。用户点名的写法是硬性要求,逐字照用:不变形、不改拼写与大小写、不增减空格。上下文不能确定时不猜,保留原样。
  • 原文语言:取转写文档的 language。润色后的文本仍是这种语言,绝不翻译;说话人夹用的别种语言的词保留原样,也不把原文语言的词换成别的语言。

4. 默认做的三件事

  1. 错字与误听:明显的识别错误、拼写、同音或近音误听、错分的词界。要有上下文的证据才改;口语里不通顺、不规范的说法本身不是识别错误,代词、时态和口语语法照原样留着。
  2. 术语与专名:按第 3 节统一。
  3. 标点与分句:按意思补正标点,每说完一个完整的意思,就用这种文字自己的句末标点收住。
    • 不在悬着的连词、介词或没说完的引导语后面断句(例如 because.、of.、当。、和。):把它接到后面的分句上,意思说完再断。
    • 停顿只是参考:人说话常在句子中间喘气,按意思断句,不因为停顿就断。
    • 一长段话不要一直用逗号连下去:没有句末标点的长段会被硬切成很长的句子,字幕和译文都会难读。
    • 不留冲突的相邻标点(例如 。,、,。、,,、.,),只保留一个表达边界的。
    • 标点与空格按这种文字自己的习惯:中文、日文用全角标点,字与字之间不加空格;拉丁、西里尔等字母文字用半角标点,标点贴着前一个词;其他文字按它通行的书写规范,拿不准时沿用转写里已有的标点风格,不套用别种文字的标点。

对比一下分句(只是示意):

不好:我们当时试了三种方案,第一种是直接上大模型,成本太高,第二种是蒸馏,效果掉得厉害,最后用的是第三种,就是混合的,

好:我们当时试了三种方案。第一种是直接上大模型,成本太高。第二种是蒸馏,效果掉得厉害。最后用的是第三种,就是混合的。

词一个没动,只改了标点;但前一种会被切成一条塞不下的字幕,后一种每句都能单独成条、单独翻译。

5. 默认不做的事

  • 改语法(主谓一致、冠词、时态等):用户要求时才做,只修明确的错误,不改意思和语气;需要增删词才能改通的不改,列在交付说明里。
  • 删口癖、精简啰嗦:要删词,转写里做不到。用户想让视频里没有口癖、长停顿,那是剪辑:按剪口播(talking-head-cut)的做法,或用 edits_apply 的 proposeCuts 提出剪辑,剪时间线,不改转写。
  • 改写、总结、调序、补充内容、翻译:都不做。

用户要求做这几件里的某一件时,先说清它会怎样影响字幕和译文,再做能做的那部分。

6. 写回

  • 在读到的正文上代入改好的 text,用 documents_put 写回同一份转写(document 给它的 documentId,kind 不变),一次写完整份。
  • 版本冲突说明用户刚改过:重新读,在新的正文上重做,不要用旧正文覆盖用户的修改。
  • 写好后再 documents_read 一次,看 translationBasis 里切出的句子:没有整段连成一句,也没有在半句话处断开;不对就再改标点。

7. 说话人实名

转写区分了说话人时,正文的 speakers[] 给每位说话人一个 id 和 name。自动区分只给占位名,润色写回之后,最后一件事是给占位名的说话人换上真名。名字会出现在每一条字幕和每个导出的文件里,所以这一步只认证据,不猜。

  • 占位名:转写流程自动起的「说话人 n」及它在别的界面语言里的对应(Speaker 1、Sprecher 1、Parlante 1 这类「说话人 + 编号」)、识别服务给的编号标签(SPEAKER_00、S1、spk-1),以及名字为空或等于 id 的(大小写不论)。别的名字都是用户或别人起的,不动。
  • 什么时候做:说话人多于一位、还有占位名时必做;只有一位说话人、或已经没有占位名时跳过。第 1 节说的跳过润色时,这一步照样做:它只改名字,不碰正文。证据能认出来时,不要带着占位名交付多人的视频。
  • 证据从哪来:文稿开头约 400 词;每位说话人第一次开口前约 60 词、开口后约 120 词;来源素材的标题、发布者与简介(第 3 节);画面帧上的姓名条或字幕:先用这个任务里已经取过的帧;元数据点出了参与者、文稿里却对不上声音时,用 videos_frames 取开头一两分钟和每位说话人首次开口处的几帧看姓名条。姓名条要明确标着这一位在说话,画面上随便出现的名字不算。
  • 什么算证据:自我介绍(「我是……」「my name is …」);对方引介(「今天请到了……」「welcome, …」);被点名之后紧接着这一位的回应;签名式的收尾;来源元数据唯一地指明了其中一位。元数据里列出几位嘉宾,但分不出哪个声音是谁时,还要文稿里的证据。参与者名单、发言顺序、说话人编号、话题本身都不算证据;反过来,标题或简介点出了参与者时更要做这一步:逐位找证据,把名字对到声音上。
  • 名字怎么写:写材料里实际用的形式,通常是全名,没有全名时用出现的那种(比如只有名);保留原来的文字与拼写,不翻译、不音译;不加头衔、敬称、机构、括号、引号或说明;不超过 40 个字符。材料里没有名字、但明确说了角色(某个节目的主持人、采访者、旁白)时,可以用简短的角色标签;不能只凭对话的样子编一个角色。
  • 不猜:拿不准就保留占位名。猜错比留着更糟:错名会出现在每一条字幕和每个导出的文件里。
  • 一人几个 id:自动区分可能把同一个人拆成几个 id。每个 id 各有证据时给它们同一个名字;不合并 id。
  • 写回:用 documents_put 写回同一份转写,只改 speakers[].name,words 与其他字段照读到的原样;几位一次写完。版本冲突时照第 6 节重新读。

8. 要避免的

  • 不要把口语改成书面语,不要删口癖、不要精简,不要翻译夹杂的外语。
  • 不要合并、拆分、增删、调序任何词,不要把文本挪到别的词上。
  • 不要因为简介里有某个名字或说法就往文稿里加。
  • 不要在悬着的连词、介词后面断句,也不要让一长段话靠逗号连到底。
  • 不要猜说话人的名字;不要给名字加头衔、括号。
  • 不要用旧正文覆盖用户刚改过的版本。

9. 交付

  • 说明:改了多少处;统一了哪些术语与专名;补了哪些分句。
  • 列出因为只能一词对一词而没改成的地方(原文、应该是什么)和拿不准没改的地方。
  • 说话人:给谁实名了、凭的什么证据(一句话);哪些没有证据、仍是占位名。
  • 接下来要翻译时,用这次写回之后的转写重新 documents_read。

10. 自查

  • 词的个数、id、时间与说话人和读到的一致,没有空文本的词。
  • 没有翻译、改写、调序或删掉内容;默认没有改语法、没有删口癖。
  • 术语和专名全文一致,用户点名的写法逐字出现。
  • 每句以句末标点收住,没有悬空的断句,没有冲突的相邻标点;标点与空格合这种文字的习惯。
  • 写回后重新读过,translationBasis 切出的句子长短合适。
  • 多位说话人时没有能认出却还留着的占位名;每个写上的名字都有证据,没有头衔与括号;用户起的名字没被改。

Frequently asked questions

What does the Polish Transcript AI skill do?

视频的转写要校对或润色时用:改错字与误听,统一术语与专名,补正标点与分句,写回同一份转写,词的时间不变。做译文或建字幕层之前先做这一步。默认不改语法、不删口癖、不精简;去掉口癖与停顿是剪辑,不在这里做。不用于润色与视频无关的文章或纯文本。

Why use Polish Transcript on TypingMind?

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

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

Which AI models can use Polish Transcript?

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 Polish Transcript?

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

Is the Polish Transcript 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 👇