SuperAPI AI 工具集

subtitle-workflow

办公与效率

查看项目

更新于 10-20 08:10

技能介绍

用途 该流程面向“给视频加字幕”这类需求。用户给出视频链接或本机音视频文件,想要的是可编辑视频成品,而非一个下载下来再修改的字幕文件。按需求可产出原文字幕、译文字幕或双语字幕,并可导出字幕文件或带字幕的成片。

流程顺序 全程按固定顺序执行,每一步等工具回执或任务完成后再进入下一步:确认、建视频并导入、转写、润色(含说话人实名)、章节(旁路)、翻译、建字幕层、导出、交付说明。跨回合接着做时,先用 videos_inspect 查看已完成到哪一步,从那里继续,不重复已完成步骤。

确认需求 动手前需弄清楚:交付物(原文字幕、译文字幕或双语字幕,是否需要文件);目标语言(BCP 47 标签);原文语言、人名与术语;来源元数据(从链接导入的素材,其标题、发布者、简介与作者章节可用于润色、说话人实名和章节处理);在哪个视频上做。用户明确只要一个字幕文件、不要视频或项目时,不走此流程。

建视频并导入 链接素材用 transcribe 给 url,可带 language、hint、name、noCaptions,自动新建视频、下载导入、放上时间线、转写并建字幕层;或用 download 给 newVideo: true 与 transcribe: true,但只用默认设置、不建字幕层。本机文件用 transcribe 给 file,新建视频、导入、放上时间线并转写。只要建视频不要转写时,用 videos_create 与 assets_import。链接下载失败时按错误提示的补救方式告知用户,不用其他方式下载。

转写 已有视频要转写时用 transcribe 给 video。要润色时加 noCaptions: true,字幕层留到润色后再建。hint 是否生效取决于转写模型:先用 models_capabilities 查看 acceptsHint,默认模型不收提示时人名与术语留到润色阶段处理,不为此更换模型。转一次就使用该结果,不因主观觉得识别不够好而换模型或重转;只有用户要求重转,或结果不能用(空、语言认错、大段乱码)时才重转一次,并说明第一次哪里不能用、重转改了什么。

润色 按 polish-transcript 的做法润色转写并写回同一份文档,默认只改错字、术语与标点,词的时间不动。润色必须在翻译之前,因为它会改分句。按来源元数据参考人名与术语的准确写法,并为占位名说话人实名(有证据才写)。用户不要润色时跳过润色,但说话人实名照样做。

章节(旁路) 每次转写默认给视频分章,除非用户不要或已有章节。有作者章节时用 chapters_adopt 把作者章节吸到文稿对应位置;没有作者章节时按 video-chapters 的做法自己分。章节是旁路,不阻塞翻译、字幕层和导出;失败最多重试一次,仍不行就在交付说明里如实写明原因,继续后续步骤。

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

建字幕层 用 captions_create 把字幕放到画面上:原文字幕给转写文档,译文字幕给译文文档,双语字幕给译文文档并带 bilingual: true。同一份文档每调用一次就多建一层,不覆盖;调用前先用 videos_inspect 确认是否已有字幕层,已有则不重复建;用户要重做时先说明会多出一层并问清是否删旧。

导出 用户要文件时用 export,等任务完成后把 outputs 里的 path 告知用户:双语字幕文件用 kind subtitles 与 bilingual: true;只要译文字幕文件用 kind subtitles 给 language,且画面上需已有该语言字幕层;原文字幕文件用 kind subtitles 给转写文档;带字幕的成片导出 mp4 或 webm。

交付说明 向用户说明:视频名称与位置、新建还是原有;建了哪几层字幕、各多少条;导出文件路径;润色改了什么、统一了哪些术语;译文目标语言与句数;哪些说话人已实名、哪些仍是占位名;章节数量与来源、作者章节中未对上的条目;以及拿不准之处(未改成的错误、不确定的译法、识别质量差的段落)。

限制与注意 不要只交字幕文件(除非用户明确只要文件);不要在润色前建字幕层或翻译;不要因主观觉得识别不好就重转,不要为用上 hint 换模型;不要在同一文档上重复建字幕层,不要重建已新建过的视频;跨回合不要从头来;章节失败不要反复重试,也不要让它卡住后续步骤。