关于 layer-video
layer-video 是指导 Layer 视频生成的技能,面向需要通过文本或现有画面制作视频的创作者。它重点说明如何描述运动、选择能力,并处理时长、音频、循环和多镜头剪辑。
主要功能
- 01按文本生成、图生视频、续写或编辑选择任务类型
- 02围绕主体运动、镜头和速度编写提示词
- 03按能力筛选时长、音频、口型同步与循环
- 04用首尾帧约束镜头走向和循环
- 05规划多镜头生成及后续剪辑
适用场景
- 01将已批准的静帧制作成动态镜头
- 02生成指定时长或可循环的视频片段
- 03为广告、预告片或过场动画规划多镜头内容
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ layerai/ skills --skill layer-video安装后在 Claude Code 中输入/layer-video确认已加载。
详细介绍
图层视频生成
概述
视频模型处理提示词的方式,就像导演处理镜头清单,而不是插画师处理创作简报。视频提示词描述的是片段中发生了哪些变化。如果提示词只描述场景,生成结果通常会像一张近乎静止、带有漂移伪影的图片,这是这里最常见的失败情况。
先选择使用场景:从无到有生成时使用 text_to_video,为现有画面添加动画时使用 image_to_video,延续片段时使用 video_extend,修改片段时使用 video_editing。循环流程和费用门槛见 layer 技能。将完成的片段组装成一个交付内容时,使用 layer-video-timeline。
如果你可用的技能中没有此处提到的同级技能,请让用户安装(npx skills add layerai/skills --skill <name>);若无人值守,则根据工具架构继续操作,并指出这一缺失。
只要有图像,就以它为锚点
只要风格已经获批,image_to_video 几乎总是优于 text_to_video。第一帧会固定角色设计、配色和构图,因此模型可以把算力用于生成动作,而不是重新创造主体。根据模型接受的参数,将静帧作为 init_image 或 first_frame 附加;如果模型同时接受 first_frame 和 last_frame,两者都提供是控制镜头最终效果最可靠的方式。
使用 layer-image 生成关键帧,审核通过后再为其添加动画。
编写动作描述
按以下顺序说明三件事:
- 主体动作:什么在移动、朝哪个方向、速度如何。“旗帜在阵风中骤然绷紧,随后逐渐平稳”是一个镜头。“一面旗帜”则是一张照片。
- 镜头:固定、缓慢推进、环绕、手持漂移、向下摇臂移动。如果镜头必须保持不动,请明确写出“锁定镜头”,因为模型默认会添加漂移。
- 节奏:缓慢、从容、突然,或在整个片段中逐渐变化。否则模型会自行选择一个不快不慢的节奏,效果不伦不类。
不同模型系列对提示词的惯用方式各不相同,因此请查看你所选模型的 get_base_model,不要照搬适用于其他模型系列的措辞。如果模型提供结构化的 video_effects(条目包含大写的 type,例如 ORBIT_360 或 DOLLY_IN,以及可选的 0 到 100 的 weight),请优先使用它,而不是用文字描述相同的运镜:这是模型针对其调优的参数。
时长、音频和口型同步
片段时长因模型而异,通常都很短,一般只有几秒。除非确认模型支持,否则不要计划通过一次生成制作 30 秒的作品。
有些模型会自行决定时长,完全忽略 duration_seconds。如果片段必须达到精确时长,请按 fixed_duration 筛选,以排除这类模型。否则模型可能直接返回不同长度的片段,而响应中不会显示任何错误。
generate_audio 是一项能力,因此如果片段需要原生音频,请按此筛选,不要假设之后可以补上静音。如果角色需要对白,则需使用单独的 lipsync 能力。filter.capabilities 是布尔值对象,而非名称列表:{generate_audio: true}。
视频生成受比图像更严格的速率限制:每位用户每分钟最多生成 60 次,其中视频最多 30 次。
多镜头作品
广告、预告片或过场动画都由多个镜头组成。在组装之前,请先确认模型是否能通过一次生成渲染完整内容,因为单次生成能保持自身的连贯性,而后期组装无法做到这一点。确实需要组装时:
- 使用一张获批的静帧锁定整体风格。
- 以与该静帧一致的画面为基础,将每个镜头生成为
image_to_video。 - 使用
layer-video-timeline将它们剪辑到一起。
如果镜头超过三个,请先制作分镜:参见 layer-art-direction。
循环
首先按 loop 能力筛选。它会选出能生成无缝循环的模型,而不只是描述循环的模型;这与在提示词中输入“循环”,然后得到一段剪辑点处画面跳变的视频,是两回事。如果循环必须达到特定时长,请同时使用 fixed_duration。
如果找不到这样的模型,就生成锚点帧,并在模型同时接受 first_frame 和 last_frame 时,将锚点帧同时用作这两个参数,这样至少能让运动回到起点。
无论哪种方式,都应让运动本身具有周期性(例如迎风飘动的旗帜、闪烁的火把、悬停待机),并避免单向运动,例如角色走出画面,因为无论怎样编写提示词,都无法让这种运动循环起来。
示例
“将这张已批准的角色关键帧制作成 5 秒的待机循环。”
- 该帧来自之前的运行,因此已有
file_id。 - 使用
list_base_models,设置filter.use_case: "image_to_video"和filter.capabilities: {loop: true, fixed_duration: true},因为视频必须无缝循环,时长也必须为 5 秒。取第一个结果,然后调用get_base_model,查看它是否接受last_frame和结构化的video_effects。 - 只提示运动:“角色缓慢呼吸,斗篷在微风中飘动,重心在双脚之间轻微转移。固定镜头。动作轻柔、连贯,片段结束时姿势不变。”
- 将同一个文件同时作为
first_frame和last_frame传入,以闭合循环。 - 估算费用。视频的定价远高于图像,因此费用通常会超过 20 CUs,需要明确确认。
- 执行任务,以
poll_interval_seconds轮询,并在称其为循环之前,检查剪辑点,确认片段结尾衔接到开头时足够自然。
常见错误
- 提示场景而不是运动,然后抱怨模型“几乎没动”。
- 已有获批的静帧,却仍使用
text_to_video。 - 未指定镜头,之后又要处理模型默认添加的镜头漂移。
- 模型提供了
video_effects,却在文字描述中编写镜头移动。 - 将较长作品规划为单个片段,却不检查模型的时长限制。
- 假设某个原本能原生生成音频的模型,之后还可以再添加音频。
- 提示模型生成循环,而不是按
loop能力筛选。 - 片段必须达到精确时长,却未启用
fixed_duration。 - 未检查剪辑点,就称片段为循环。