关于 layer-motion-graphics
Layer 的动态图形技能指导如何组合视频生成与时间线编辑,适用于制作品牌标识动画和动态文字。它强调用固定帧保留标识,并通过时间线文本与转场控制文字。
主要功能
- 01用首尾帧制作标识揭示动画
- 02以同一标识帧生成循环动画
- 03通过时间线文本设置精确文案
- 04用转场和分段文本安排动效
- 05用遮罩与色块构建画面
适用场景
- 01制作品牌标识揭示片段
- 02制作循环播放的标识动画
- 03添加标题、字幕条和行动号召
- 04按节拍制作逐词动态排版
MCP 相关
该技能描述通过 Layer 工具执行生成与时间线渲染,包括选择模型、估价、提交任务及轮询结果。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ layerai/ skills --skill layer-motion-graphics安装后在 Claude Code 中输入/layer-motion-graphics确认已加载。
详细介绍
Layer 动态图形
概述
Layer 上的动态图形分为两项不能混为一谈的工作。会动的画面(徽标组装成形、徽章映上光线)通过视频模型生成。文字则绝不生成:视频模型会拼错文字、无法使用字体文件,而且文字会在帧间漂移。文字应作为 render_video_timeline 编辑中的文本项添加,并使用品牌字体。
生成机制见 layer 技能,动态提示词编写见 layer-video。时间线组装基础知识(剪辑、安全区域、音频长度)见 layer-video-timeline,静帧上的精确文字见 layer-typography。将同一动态设计复用于多种变体,见 layer-motion-templates;共享的颜色和纹理效果见 layer-video-looks。
如果当前可用技能中缺少此处提到的同级技能,请让用户安装该技能(npx skills add layerai/skills --skill <name>);若无法等待,请根据工具架构继续操作,并指出这一缺口。
快速参考
| 工作 | 方案 |
|---|---|
| 徽标揭示 | image_to_video,将精确徽标设为 last_frame,将抽象或空白画面设为 first_frame |
| 闲置徽标循环 | image_to_video,将徽标同时设为 first_frame 和 last_frame,并使用 loop 能力 |
| 标题、下三分之一字幕、CTA | 使用带 font_file_id 的时间线 text 项,绝不写在提示词中 |
| 文字进入或离开 | 项目之间的转场:slide、wipe、iris、clockWipe、flip、fade |
| 逐词动态排版 | 连续的 text 项,每项一个词或短语,并通过 start_frame 逐步安排 |
| 图像形状揭示 | 在 image 或 video 项上使用 mask:circle、ellipse-horizontal、ellipse-vertical |
| 文字背景画面 | 在文字下方放置 solid 项,或设置文本项自身的 background_color |
揭示与循环:生成画面,固定帧
揭示效果取决于最后一帧,也就是观众读取画面的那一帧。使用 filter.use_case: "image_to_video" 和 filter.guidance_file_types: ["first_frame", "last_frame"] 筛选 list_base_models,取第一个结果,并调用 get_base_model 查看其时长和触发词。将精确的徽标文件设为 last_frame,这样落版帧呈现的就是作品本身,而不是模型对它的记忆。first_frame 是揭示效果的起点:可以是品牌色的空白画面、抽象形状或粒子,可从现有静帧生成,也可运行一次 text_to_image(layer-image)生成;使用 width 和 height 将尺寸设为与揭示效果的画面一致。提示词只描述转场(“金色碎片汇聚并锁定成徽章,最后一道光扫过其表面”),绝不描述徽标上的字母。
render_video_timeline 接受 {workspace_id, template, videos, images, audios}。template 的结构为 {width, height, fps, tracks: [{id, name, items, transitions}]};一个项的结构为 {id, type, start_frame, duration_in_frames},另加 file_id 或 slot,还可包含 layout {left, top, width, height}、effects、用于裁剪片段开头的 start_from_in_seconds 和 volume;solid 项接受 color {red, green, blue, alpha}。渲染会返回供 get_generation_run 使用的 generation_id。
闲置循环应将徽标同时设为 first_frame 和 last_frame,并使用具备 loop 能力的模型,以确保片段重复播放时不会跳变。动作幅度应保持较小(例如呼吸般的光晕、缓慢移动的轮廓光),使标记始终不超出自身轮廓。
若片头动画必须卡在节拍上,请在使用 fixed_duration: true 筛选出的模型上设置 duration_seconds。使用相同的文件调用 estimate_forge_price 估算价格,然后执行并以 poll_interval_seconds 为间隔轮询 get_forge_run。
类型:设置后,再通过剪辑移动
时间线中的 text 项接受 text、font_file_id(上传的 .ttf 或 .otf;使用
request_file_upload_url 上传本地字体)或 font_family、font_size、font_weight、letter_spacing、
line_height、text_align、color、stroke({color, width})、shadow({color, x, y, blur})、
background_color,以及以合成像素为单位的 layout 框 {left, top, width, height}。
时间线没有关键帧。项目的位置、不透明度和效果在整个时长内保持不变。 运动只有两个来源:
- 转场:添加到轨道的
transitions中,每项包含{id, type, from_item_id, to_item_id, duration_in_frames, easing};对于slide、wipe和flip,还可设置direction(from-left、from-right、from-top、from-bottom)。easing: "spring"会产生显得经过设计的过冲效果;入场适合使用ease-out,退场适合使用ease-in。转场会连接同一轨道上的两个相邻项目,因此,标题要滑入时,需要在它前面放一个solid或看起来为空的项目。 - 阶梯式项目。动感文字由同一轨道上的一系列
text项组成,每项为一个词或短语,按start_frame紧接排列,彼此不重叠。节拍上的硬切能呈现韵律感;项目之间的短暂fade或wipe则显得流畅。
任何必须连续滑动的效果(标题缓慢推进、光线扫过文字)都应使用生成的视频片段,而非时间线效果:先将文字行通过 render_text 渲染为图像,
然后将静帧作为 image_to_video 的首尾帧,并使用“仅光线扫过,字母保持不变”的提示词制作动画,再逐帧检查是否发生扭曲。说明这一限制,而不要承诺可以通过关键帧移动。
阅读时间与摆放
标题的显示时长至少要达到大声朗读两遍所需的时间,并根据模板的 fps 换算为帧数。人物在画面中时,下三分之一字幕应一直显示。让文字
和 Logo 与画面边缘保持足够距离,因为社交平台播放器会在画面顶部和底部叠加自己的 UI;应查阅平台当前的安全区域规范,而不要猜测边距。轨道按
相反顺序合成:Track 1 位于最上层,因此文字放在第一条轨道上,色板放在它下方。
示例
“为我们的预告片制作一个 4 秒的 Logo 短片,接着显示标注工作室名称的下三分之一字幕。”
- Logo PNG 和品牌字体都在用户的机器上:使用
request_file_upload_url上传两者。 - 使用
filter.use_case: "image_to_video"、filter.guidance_file_types: ["first_frame", "last_frame"]和filter.capabilities: {fixed_duration: true}调用list_base_models。选择第一个结果;调用get_base_model查询其 时长。 - 调用
estimate_forge_price,将深色品牌色板设为first_frame,将 Logo 设为last_frame, 设置duration_seconds: 4,并使用提示词“余烬向内飘动并融合成徽记,最后半秒有一道光扫过徽记,摄像机固定”。超过 20 CU 时,先征求确认。 - 调用
execute_forge,轮询get_forge_run,并逐一将每个输出的最后一帧与 Logo 文件对比。任何更改了标记的输出都应拒绝。 - 时间线设为 30 fps:Track 1 显示一个
solid(8 帧),然后显示品牌字体的text项“Studio Name”, 两者之间使用slide转场,设置direction: "from-left"、easing: "spring"、duration_in_frames: 12。Track 2 显示短片视频项目。 - 使用该模板调用
estimate_video_timeline_price;然后使用相同参数调用render_video_timeline,并轮询get_generation_run。从头到尾观看成片。
常见错误
- 将 Logo 名称或字母作为提示词输入视频模型,而不是将 Logo 固定为
last_frame。 - 将标题、副标题或 CTA 文案生成为视频,而不是将其设为文本项。
- 期望在一个时间轴项上设置关键帧幻灯片或缩放;运动应通过转场或分步项实现。
- 转场轨道上只有一个项,因此没有可供转场的内容。
- 在同一轨道上重叠项目,而不是将它们叠放在不同轨道上。
- 标题在观众还没来得及读两遍前就被切掉,或位于平台安全区域之外。
- Logo 循环动画幅度过大,破坏了标志的轮廓。