SuperAPI AI 工具集

caption-decorations

设计与创作

查看项目

更新于 10-30 20:04

技能介绍

caption-decorations 是一个用于编写和校验字幕装饰(caption decorations)的技能,核心思路是:根据装饰需要表现的行为来选择资产形式,而不是根据它的视觉外观。

用途

该技能服务于场景字幕的装饰编写:为字幕行、高亮词或强调词添加形状、道具或场景作品,并对声明结果进行校验。

主要能力

一、按行为选择资产形式。技能给出一张对应表:如果装饰需要由测量到的单词/行几何生成,使用 type: "decoration" 加程序化形状定义,或 preset: "<asset-id>" 加 params;如果是可编辑的任意作品(形状、文本、媒体、嵌套场景、贴纸),使用 type: "scene" 加 scene body,并以 content.kind: "scene_ref" 引用;外部图片/视频/Lottie/SVG 则使用其普通媒体资产类型,content.kind: "media"。技能特别说明 type: "decoration" 不是通用场景容器,它是测量式字幕定义语言,其形状读取 boxW、boxH、可选的测量路径以及声明的参数;通用作品已有完整的场景语言。

二、字幕行几何。字幕行的 padding、size、gap、offset 都是有效字幕字体 em 的倍数。平台文本测量负责 x/width、视觉居中以及换行行之间的推进量;定义侧的 boxW/boxH 是应用这些行字段后得到的装饰盒。换行发生在样式的 wrapWidth(合成像素)处,未设置时则发生在渲染所用合成的全宽处(无外边距)。两种宽度都是固定像素,不随字体大小缩放,因此更小的字体在换行前能容纳更多字符——缩小字体可能把两行换行变成一行更宽的行,直到该宽度上限。

三、生成图层 id 约定。生成的 decoration/segment 图层 id 共享词干:字幕段/装饰获得 <layer>__seg<i>__dec<d> 词干,id 中包含 __seg0__dec0 即属于第一段的第一个装饰。其后跟一个形式后缀(如 __band、__stick、__bandreveal、__pillw<word>),该后缀不属于契约。选择装饰时应依据词干或结构(target/place/行索引),不要依据完整的生成 id。

四、程序化测量预设。资产键即预设名,decoration.name 可省略。参数只声明一次,并在实际形状位置读取。资料给出了 brand_pill 预设的完整 JSON 示例:声明 color 与 radius 参数,shape 中通过 $eval 读取 boxW、boxH 绘制圆角矩形并填充,然后在字幕样式 decorations 中以 preset 引用并传入 params 与 padding。

五、任意场景作品。适用于设计者编写的合成,包括动态形状、文本、媒体或嵌套场景。字幕装饰的 scene_ref 接受 sceneRef 和可选 parameters;该 content 对象内不要使用图层级 assetId、fit 或 bounds 字段,而应通过 size、gap 等字幕行字段来放置和缩放装饰。资料给出了 sparkle_badge 场景示例。

六、文字强调配方。place: "text" 的行处理文字本身,三种配方可组合在同一样式上:发光(emphasized/highlighted 文本行上的 effects 只作用于这些词,光晕位于相邻词下方;作用于每个词的 effect 属于样式自身 effects,因此行文本行不取);逐词定时显示(style.reveal 只显示已说出的词,window: "sustain" 显示截至目前所有已说出的词,window: "active" 显示当前词,fade 以秒为单位让每个词在说出时淡入,第一个词之前不显示任何内容);阶梯行(style.lineStep: [x, y] 以合成像素为单位,换行后计数的第 i 行按 i × lineStep 移动,行胶囊、词框和贴纸跟随其装饰的词)。

七、作用域规则。资产 ID 对其声明的场景本地有效;同级场景资产可复用相同的本地装饰 ID 但定义不同;type: "scene" 资产开启独立资产作用域,不能隐式读取父级或同级资产,需本地声明或通过声明的参数传入;内联 kind: "composition" body 属于外层场景,不能声明自己的资产表,其图层使用外层表;文档定义不能遮蔽同名的内置预设。

八、时序行为。不能假设每个高亮装饰都连续滑动:媒体与 scene_ref 高亮带在测量停靠点之间连续滑动;带路径跟踪的程序化预设拥有一个测量路径时间表,内置 color-box 处理保持后跳到下一停靠点;普通程序化预设在每个停靠点实例化,除非其定义显式拥有路径跟踪;上方/下方贴纸在一个停靠点保持后跳到下一个。mode、speed、duration 控制预设内部动画时钟,不改变路径跟踪定义的测量移动时间表。

使用方式

通过 MCP 场景工具验证:调用 picsart_scene_validate 传入完整场景,要求返回 valid: true 且无错误诊断;一次调用渲染两个时刻的全分辨率静帧(有代表性的字幕时间 t1,以及装饰移动后应处于不同位置的时间 t2),调用 picsart_scene_contact_sheet 并设置 times: [t1, t2, …] 与 resolution 为场景的 composition.width 和 composition.height。装饰细节很小,全分辨率才能看清;不设 resolution 时返回的是缩小缩略图,不能用于判断位置。联系表会把每帧缩放以适配一张图,判断全分辨率细节需打开某帧的 url。schema 校验与渲染帧是两项独立检查:schema 有效的声明在文本测量与作品放置后仍可能落错位置,必须检查返回的图像,工具调用成功本身不足以证明放置正确。

适用场景

为视频场景字幕添加圆角背景胶囊、高亮带、贴纸、发光效果、逐词显示或阶梯排布,并需要依据实际测量几何与渲染结果确认装饰位置时使用。

限制

type: "decoration" 不是通用场景容器;type: "scene" 资产不能隐式读取父级或同级资产;文档定义不能遮蔽同名内置预设;不同装饰类型的时序行为不同,不能一概假定连续滑动;仅凭 schema 校验不足以确认放置正确,需检查全分辨率渲染帧。资料未提供具体的收费、价格或平台支持范围信息。