SuperAPI AI 工具集

layer-motion-templates

设计与创作

查看项目

更新于 10-30 15:40

技能介绍

用途

动态模板(motion template)指一个 render_video_timeline 模板,其媒体项不写 file_id,而是写一个 slot 名称。每次渲染时传入这些 slot 对应的文件,多个变体就能共享同一套设计好的剪辑:同样的切点、字体、转场和时序,只有被替换的媒体发生变化,因而批量产出保持一致、结果可比。

主要能力

  • 可替换素材:在 video、image 或 audio 项上使用 slot: "<name>",不写 file_id。
  • 填充 slot:渲染时通过 videos、images、audios 映射按 slot 名传文件,例如 audios: {voiceover: [{file_id}]}。
  • 自适应时长:在某一个项上设置 is_auto_length: true,渲染时该项取所绑定文件的完整长度;每个模板至多一个。
  • 时长上限:template.max_duration_in_seconds 可设置上限,最高 120 秒。
  • 可选元素:未解析的 slot 会在渲染中被省略。
  • 就地更新看板时间线:在已知 timeline_object_id 时传入,可更新已有看板时间线而非新增一条。
  • 价格预估:使用 estimate_video_timeline_price,除 timeline_object_id 外传入全部参数。

设计模板

先决定哪些内容变化。每个元素要么固定(品牌字体、尾卡、logo、音乐底、转场),要么设为 slot(钩子片段、配音、游戏画面、角色图)。尽量固定能固定的内容:如果每个项都是 slot,模板就只是空时间线。

slot 按角色命名而非内容命名,例如 hook_clip、voiceover、hero_image,而非 dragon_v2。每个 slot 解析为与该项媒体类型相同的文件:视频项的 slot 从 videos 填充,图像项从 images 填充,音频项从 audios 填充。

文本保留为模板中的文本项。文本项没有 slot,因此随变体变化的文案(翻译后的 CTA、不同钩子文案)要么按语言各做一个模板,要么改用图像 slot,填充按变体生成的 render_text PNG(参见 layer-typography)。后者可保持单一模板,但每张渲染出的 PNG 放入前需逐张检查。

时长随媒体变化

配音和钩子片段在各变体间长度不同。在应由其媒体决定时长的那一个项上设置 is_auto_length: true:渲染时它取绑定文件的完整长度,duration_in_frames 仅用于编辑器中的尺寸。自动长度块之后的项会按长度变化移动,结束于其末尾的项随之结束,位于其内部的项在新末尾处被裁切。每个模板只能有一个项设置该标志;未绑定媒体的自动长度 slot 会被移除并闭合空隙。其他视频与音频不会超过自身文件长度,因此短于最长变体的音乐底会提前结束,需选择足够长的音乐底。

将 max_duration_in_seconds 设为版位的上限,并检查每次渲染的长度,以免过长的配音把 40 秒成片投放到 30 秒版位。

定价与批量渲染

首次渲染前先预估,并把整批作为一个整体定价。仅在填充 slot 的文件不同、长度相同的变体,共用一次预估再乘以数量。自动长度媒体更长的变体可能价格不同:按每种不同长度分别预估。汇总总额;超过 20 CUs 需等待用户明确同意。

用 render_video_timeline 渲染每个变体:同一模板加该变体的 slot 映射,按返回的间隔用 get_generation_run 轮询每个 generation_id。传入 session_id 让整批落在同一看板上。

timeline_object_id 使渲染就地更新已有看板时间线,而不是再放一条。该工具说明称 id 来自 MCP 未暴露的 board-timeline 工具,因此不要尝试调用它们。用户提供 id 时传入,否则省略,并说明每次渲染都会在看板上新增一条时间线,不要试图绕过。

示例

“我们的 15 秒广告模板,按三个钩子和各两条配音填充。”

每个钩子片段和配音都来自早前运行并带有 file_id,logo 和字体已上传。

模板为 1080 x 1920、30 fps、max_duration_in_seconds: 15。轨道 1:logo 图像项,以及最后 60 帧上的文本 CTA。轨道 2:视频项 slot "hook_clip",然后固定尾卡。轨道 3:音频项 slot "voiceover",is_auto_length: true。轨道 4:音乐底,长于任何配音。

共六个变体。两条配音长度不同,因此用 estimate_video_timeline_price 预估两次,各乘以三。呈现总额;超过 20 CUs 等待确认。

六次 render_video_timeline 调用,videos: {"hook_clip": [{file_id}]} 与 audios: {"voiceover": [{file_id}]},使用同一个 session_id。用 get_generation_run 轮询每一个。

按单元格命名并交回每个输出(如 hook2-vo1),并针对每种配音各完整观看一条,确认 CTA 在时长变化后仍落在正确位置。

适用场景与限制

适用于一条编辑需以不同媒体多次渲染的批量场景,例如按钩子、语言、版位或角色填充的广告模板。限制包括:每个模板至多一个自动长度项;文本项不能设 slot,变化文案需另建模板或改用 render_text 图像 slot;音乐底需足够长;长度上限最高 120 秒;timeline_object_id 的来源工具未通过 MCP 暴露。

常见错误

  • 所有元素都设为 slot,模板不固定任何内容,变体漂移。
  • 在应设 slot 处硬编码 file_id,然后逐变体编辑模板。
  • 设置多个 is_auto_length 项,或音乐底短于最长自动长度变体。
  • 自动长度媒体长度不同时,仅按一个变体给整批定价。
  • 期望文本项有 slot;变化文案应为 render_text 图像 slot 或独立模板。
  • 对有时长硬上限的版位省略 max_duration_in_seconds。
  • 为获取 timeline_object_id 而杜撰画布时间线调用,而不是说明该缺口。

相关技能

时间线基础见 layer-video-timeline,设计动效见 layer-motion-graphics;决定制作哪些变体的矩阵见 layer-ua-creatives 与 layer-localization。若此处提到的同级技能不在可用技能中,请让用户安装(npx skills add layerai/skills --skill <name>);无人值守时可依据工具 schema 继续,并标记该缺口。