本文へ移動
cccskills
無料GitHub で公開

subtitle-workflow

用户给了视频链接或本机音视频,要转录、加字幕、做译文字幕或双语字幕时用:建可编辑视频并导入,转写、润色,需要时翻译,把字幕层放到画面上,再按需导出字幕文件或成片。有媒体时「转录」「加字幕」「翻译成某种语言」都按这个流程。不用于与视频无关的文字翻译。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md9.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

转录与字幕

用户丢来一个链接或一个文件,说「加个字幕」。他要的成品是一个可编辑视频:素材在时间线上,转写润色过,需要时有译文,字幕层放在画面上;之后他能在编辑器里改一个字、挪一条字幕、换一种语言,要文件时再从视频导出。不要只交一个下载下来再改过的字幕文件:那样他改不了,也放不回视频上。

最容易做坏的样子:步骤顺序乱了。转完就建字幕层,再润色,字幕层得删掉重建;先翻译再润色,译文全过期;跨回合接着做时从头来一遍,用户等了两次。所以全程按这个顺序:确认 → 建视频并导入 → 转写 → 润色(含说话人实名) → 章节(旁路) → 翻译 → 建字幕层 → 导出 → 交付说明。每一步等工具的回执或任务完成再走下一步;跨回合接着做时,先 videos_inspect 看已经做到哪一步,从那里接着做,不重复已完成的步骤。

1. 先确认

动手前把这几件事弄清楚,弄不清的问一次,不要边做边猜:

  • 交付物:原文字幕、译文字幕还是双语字幕;要不要文件(字幕文件、带字幕的成片)。用户说「翻译成某种语言」是要译文字幕,说「双语」是双语字幕;只说转录、加字幕时是原文字幕。
  • 目标语言:用 BCP 47 标签(如 zh-Hans、en、ja、es)。要翻译、用户又没说译成什么时问一次。
  • 原文语言、人名与术语:用户说了就记下。语言给转写;人名与术语在转写模型收识别提示时给转写当 hint(见第 3 步),不收时只在润色时用。没说语言的让转写自动识别。
  • 来源元数据:从链接导入的素材,videos_inspect 的 assets[].source 有标题、发布者、简介(description,最多 1200 字符)与作者的章节(chapters);转写或下载完成时 pipeline.summary.description 与 pipeline.summary.sourceChapters 也给出简介和作者章节的条数。润色、说话人实名、章节都用它。
  • 在哪个视频上做:编辑器里打开的或用户点名的视频就在它上面做;videos_inspect 看已有的素材、转写、译文与字幕层,已有的接着用。
  • 用户明确只要一个字幕文件、不要视频或项目时,不走这个流程,按 translate-subtitles 的文件一节做(只转录不翻译时就交下载目录里的文稿)。

2. 建视频并导入

  • 链接:transcribe 给 url(可给 language、hint、name、noCaptions),它新建视频、下载导入、放上时间线、转写并建字幕层;用户说了原文语言时带上 language,给了人名术语、而转写模型收提示时带上 hint(见第 3 步)。download 给 newVideo: true 与 transcribe: true 也新建视频并转写,但只用默认设置、不建字幕层。jobs_inspect 等到 completed:pipeline.summary.videoId 是新视频,pipeline.summary.assetId 是素材。新建的视频在之后的步骤失败时保留,不要再建一次。
  • 本机文件:transcribe 给 file(可给 language、hint、name),它新建视频、导入、放上时间线并转写;第 3 步的转写就在这一步里。只要建视频不要转写时,videos_create 新建视频(名字取文件名;竖屏素材给竖屏的宽高),用 assets_import 导入并放上时间线(给 place)。
  • 链接下载失败时照 error.details.remedy 告诉用户怎么补救,不要用别的方式下载。

3. 转写

  • 第 2 步用 transcribe 或带了 transcribe: true 的 download 时已经在转;已有视频要转写、或要带 language、hint 时用 transcribe 给 video(可给 asset;先 models_capabilities 看有没有可用的转写服务)。
  • 要润色时给 transcribe 加 noCaptions: true:字幕层在润色之后由第 7 步建(transcribe 默认转完就建一层,润色前建的要删掉重建)。
  • hint 看模型:带 hint 之前先在 models_capabilities 里看要用的转写模型(不给 model 时是默认的那只)的 acceptsHint。默认的 MOSS 不收提示:带了也照常转写,但提示被忽略,转写任务带 hint-ignored 提醒。这时不带 hint,人名与术语留到第 4 步润色,也不为了用上 hint 换到收提示的模型。
  • 转一次就用它:不因为自己觉得识别得不够好就换模型或重转(transcribe 的 target: replace)。少量错字、人名与术语听错是正常的,第 4 步润色会改。只有用户要求换模型或重转,或者结果不能用(空的、语言认错、大段乱码)时,才重转。结果不能用时不用先问,直接重转一次,语言认错就带上正确的 language(不带时自动识别多半再认错);然后告诉用户第一次的结果哪里不能用、重转改了什么、重转后的结果怎样,仍不能用时停下来问用户。重转一次是几分钟,用户在等。
  • jobs_inspect 等到 completed:pipeline.summary.documentId 是新转写(transcribe 给 url 或 download 带 transcribe: true 时同样在 pipeline.summary.documentId)。
  • 返回 CAPABILITY_NOT_CONFIGURED 时照它的 next 告诉用户要启用哪项服务,停在这里。

4. 润色

按 polish-transcript 的做法润色转写,写回同一份转写。默认只改错字、术语与标点,一词对一词,词的时间不动;用户说不要润色时跳过。润色必须在翻译之前:它会改分句。

按它的做法,来源元数据当背景参考用(人名、术语的准确写法只在说话人明显在说它时才照改,不往文稿里加东西);润色写回后给占位名的说话人实名(有证据才写,拿不准留着占位名)。用户说不要润色时,说话人实名照样做。

5. 章节(旁路)

每次转写默认给视频分章,除非用户说不要,或 videos_inspect 看到视频已经有章节(不覆盖;用户要重分时按 video-chapters 先问清替换还是调整)。章节是旁路:不阻塞翻译、字幕层和导出;失败不致命,最多重试一次,仍不行就在交付说明里如实写原因,接着做后面的步骤。

  • 有作者章节(assets[].source.chapters 不为空,或 pipeline.summary.sourceChapters 大于 0,或简介里有 0:00 开场 这类时间戳大纲):用 chapters_adopt 给 video,把作者的章节吸到文稿的段落或句子起点上并写进视频,不用自己分;chapters 是空的、简介里却看得到时间戳大纲时,把那段大纲给 outline。读回执的 sourceChapters:matched、ambiguous、unanchored 各几条,交付时说明。
  • 没有作者章节(chapters_adopt 返回 NO_SOURCE_CHAPTERS 也是这种情况,不算失败):按 video-chapters 的做法自己分。
  • 用户要你自己写的章节,或要和作者大纲不同的粗细时,也按 video-chapters 自己分,作者大纲当参考。
  • 返回 ASSET_NOT_PLACED 时素材还不在时间线上:先放上时间线再做。

6. 翻译

需要译文或双语时,按 translate-subtitles 的做法翻译。润色写回之后重新 documents_read 读转写,用那时的 translationBasis 翻译;已有同一语言的译文时在它上面更新,不新建第二份。

7. 建字幕层

用 captions_create 把字幕放到画面上,BaoCut 按句对齐时间、按宽度切成字幕条:

  • 原文字幕:documentId 给转写文档。
  • 译文字幕:documentId 给译文文档。
  • 双语字幕:给译文文档并带 bilingual: true。

同一份文档每调用一次就多建一层,不覆盖。调用前先 videos_inspect 看这份文档是不是已经有字幕层:有了就不重复建;用户要重做时先说明会多出一层,问清是否删掉旧的。回执给出 transactionId 和字幕条数,说给用户。

8. 导出

用户要文件时用 export,等 jobs_inspect 到 completed,把 outputs 里的 path 告诉用户:

  • 双语字幕文件:kind subtitles,bilingual: true(主文档是转写,副文档是译文,每句一条)。
  • 只要译文的字幕文件:kind subtitles,给 language;要求画面上已有这种语言的字幕层(第 7 步)。
  • 原文字幕文件:kind subtitles,主文档是转写。
  • 带字幕的成片:导出 mp4 或 webm,画面上的字幕层会画进去。

9. 要避免的

  • 不要只交一个字幕文件,除非用户明确只要文件。
  • 不要在润色前建字幕层,不要在润色前翻译。
  • 不要因为自己觉得识别得不够好就重转;不要为了用上 hint 换模型。
  • 不要在同一份文档上重复建字幕层;不要重建已经新建过的视频。
  • 跨回合时不要从头来:先 videos_inspect 看做到哪了。
  • 章节失败不要反复重试,也不要让它卡住后面的步骤。

10. 交付说明

写给用户看的,说清他拿到了什么、哪里要他自己看一眼:

  • 视频在哪:名字与所在位置;是新建的还是用户原来的。
  • 字幕层:建了哪几层(原文、译文、双语),各多少条。
  • 文件:导出的路径。
  • 润色改了什么、统一了哪些术语;译文的目标语言与句数。
  • 说话人:给谁实名了;哪些没有证据、仍是占位名。
  • 章节:几章;用的是作者的章节还是自己分的;作者章节里没对上的条目(ambiguous、unanchored);没做或失败时说明原因。
  • 哪里拿不准:没改成的转写错误、不确定的译法、识别质量差的段落。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

baocut

無料

测试用的说明书:用 BaoCut 转录、翻译、剪辑与导出视频。

日本語の概要は準備中です。原文の説明を表示しています。

JimLiu/baocut8602026年10月12日 更新

baocut

無料

用 BaoCut 处理视频与音频:转录、字幕、翻译、配音、剪口播、切短视频、分章、总结写稿、从链接下载、压缩转码、导出成片,或从零做一条成片。有媒体文件、视频链接、字幕文件或 BaoCut 视频时用;只翻译纯文本、与视频无关的写作或作图、别的剪辑器与 FFmpeg 的用法、BaoCut 源码开发不用。

日本語の概要は準備中です。原文の説明を表示しています。

JimLiu/baocut8602026年10月12日 更新

Release BaoCut Electron desktop apps through GitHub Actions tags by default; use local/manual packaging only when explicitly requested. Also handles App version bumps, release continuation and portable signing backups; excludes craft skills and legacy standalone CLI releases.

日本語の概要は準備中です。原文の説明を表示しています。

JimLiu/baocut8602026年10月12日 更新

用户要给视频做封面、要封面大字,或要标题和封面一起出时用:读文稿提炼卖点,给几组标题与封面文案,用户挑定后按视频画幅生成封面图,放进这个视频的候选素材。每句都由视频兑现。只要标题或简介、不要封面时用起标题与写简介。需要视频的转写。

日本語の概要は準備中です。原文の説明を表示しています。

JimLiu/baocut8602026年10月12日 更新

design

無料

用户要做界面、网页、海报、图表或信息图、示意图、原型这类视觉设计稿时用:在工作目录写一份设计稿(canvas.json 加每块画板一个 .dc.html),校验通过后线程里出现设计稿卡片,用户在功能区预览、编辑与标注。也用于按用户的意见或设计稿标注改已有的设计稿。幻灯片不用它(用 slides),视频画面里的字卡与动效也不用它(用动效图形)。

日本語の概要は準備中です。原文の説明を表示しています。

JimLiu/baocut8602026年10月12日 更新

用户要建立或修改设计系统时用:品牌的颜色、文字样式、间距与圆角 tokens,给智能体看的品牌手册 README,bundle 与预览,标志、图标与字体。在工作目录写一个设计系统目录(design-system.json 加 tokens.json、README.md、components/、assets/、fonts/),可以从代码仓库或设计工具里的真实来源整理;图片、视频与 PDF 导入设计系统的素材库,校验通过后线程里出现设计系统卡片,用户在功能区预览与编辑;做好的设计系统可以装进设计稿。

日本語の概要は準備中です。原文の説明を表示しています。

JimLiu/baocut8602026年10月12日 更新

JimLiu のスキルをすべて見る

このスキルの問題を報告する