SuperAPI AI 工具集

captions-overlay

设计与创作

查看项目

更新于 10-15 10:38

技能介绍

用途

captions-overlay 是一套关于嵌入式字幕工作流的叠加原则(overlay doctrine),用于补充上游的 embedded-captions 技能,应用在其之上,而非并入上游技能。它主要解决两类问题:一是如何决定每句口播内容的字幕呈现方式;二是带字幕的合成画面应如何布局。

主要能力

字幕模型:drop / rail / embed

每一句口播内容都属于以下三种之一:

  • drop(丢弃):填充词,如 um/uh、结巴、自我更正,不显示。
  • rail(字幕轨):默认方式,即普通口播内容(逐字),以干净的下三分之一字幕显示,位于前景、可读。重点词可以内联 emphasis 高亮(强调色 / 当前词弹出),但仍留在字幕轨上。
  • embed(嵌入):被提升的高潮节拍,一个大词合成在主体之后(通过遮罩遮挡),带有设计的入场与出场。

字幕轨承载大部分文本;embed 是稀缺的、需要争取的高潮——每个节拍不超过 1 个,绝不出现两个相邻或同时可见,间隔至少一个节拍。短片段通常一个 embed;长讲解视频大约每节一个。把每个词都嵌入是常见错误。

这是 Standard 模式的形态(rail = 逐字下三分之一;embed = 合成在主体之后的高潮)。Cinematic 模式去掉字幕轨,让所有内容都采用 embed 风格——仅用于纯电影化需求,绝不用于需要文字可读的讲解 / 旁白。

字幕轨优先、嵌入稀缺(关键规则)

引自 embedded-captions 的不可协商项:

  • 口播 / 讲解视频以字幕轨优先。 不要嵌入整段转录——大部分文本是字幕轨,只嵌入高潮。全部嵌入是默认错误。
  • 嵌入稀缺且有间隔。 每句 / 每节拍不超过 1 个 embed,绝不出现两个相邻或同时可见,间隔至少一个节拍,最多一个 apex。climax 是每个节拍的峰值,而不是“整段视频唯一的回报”。

叠加法则:字幕不是预留带

在生成的发布合成中,当启用字幕时,finalize 会把一条小而精简的逐词字幕行作为叠加层合成在整个影片之上(单行文本,底部居中,约占画布高度的底部 5-8%)。它是叠加层,不是预留区域(引自 product-launch-video 场景代理的约束 #13):

  • 将合成居中于真正的垂直中心——y = H / 2(横屏 540,竖屏 960)。不要为了“给字幕腾地方”而把内容上移;一个居中在 0.42 × H 且底部有空白带的合成是 bug,不是修复。
  • 内容可以延伸到画布底部。全出血主体、字幕轨和背景都欢迎。
  • 一条温和的礼貌规则: 避免把关键的小号可读文本(URL 行、法律行、副字幕)正好停在底部约 80px 的中央跨度内,也就是字幕行所在的位置——叠加层会与之冲突。字幕下方的大幅图像 / 卡片 / 环境内容没问题;字幕皮肤设计为可在内容之上阅读。
  • 没有机器 keep-out 门禁(旧的 captions.mjs keepout 检查已退役)。Finalize 快照 QA 以视觉方式判断字幕叠在内容之上的可读性。

当字幕禁用时: 定位自由度完全相同——叠加层只是不存在。

使用方式

该技能应用在 embedded-captions 之上,不并入上游技能。在以下情况加载:为口播或发布视频添加字幕 / 副标题时;决定某句该丢弃、走逐字字幕轨,还是提升为稀缺的嵌入式高潮时;布局将承载字幕的合成时(不要预留 keep-out 带);或在字幕下将合成居中于真正的画面中心时。

适用场景

  • 口播视频、讲解视频、发布视频的字幕添加。
  • 决定每句口播内容的字幕呈现方式(drop / rail / embed)。
  • 带字幕的合成画面布局与居中。

限制

  • 该技能是叠加原则,应用在 embedded-captions 之上,不并入上游技能。
  • Cinematic 模式仅用于纯电影化需求,绝不用于需要文字可读的讲解 / 旁白。
  • 嵌入必须稀缺且有间隔,每节拍不超过 1 个,绝不两个相邻或同时可见。
  • 没有机器 keep-out 门禁,可读性由视觉判断。
  • 资料未提供具体的安装命令、代码示例、收费或价格信息。