mcpField
L
layer-video-looks

layer-video-looks

github.com/layerai其他70 次安装今天更新
代码仓库

关于 layer-video-looks

layer-video-looks 是用于 Layer 时间线的视频外观处理技能,可为视频和图像条目应用一致的视觉效果。它面向需要重复使用调色、特效、抠像和合成设置的视频编辑者;效果本身无需生成任务。

主要功能

  1. 01按顺序应用特效和条目级调色
  2. 02在多个片段间复用统一外观
  3. 03抠除绿幕或蓝幕
  4. 04拆分时间线条目以限定短时效果
  5. 05用模糊画面填充竖屏留白

适用场景

  1. 01为多个镜头统一胶片或 CRT 风格
  2. 02将绿幕主持人合成到素材上
  3. 03在剪辑点添加短暂故障效果
  4. 04为竖屏画面填充横屏片段周围区域

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/layerai/skills --skill layer-video-looks

安装后在 Claude Code 中输入/layer-video-looks确认已加载。

详细介绍

图层视频风格

概述

风格是让独立镜头看起来浑然一体的整体效果。在 Layer 中,它通过时间线实现: render_video_timeline 中的每个视频和图像项都接受一个 effects 列表,以及各自的 blur、 brightness、saturation、hue 和 opacity 字段。应用这些效果不会运行模型,因此风格可以精确复现;渲染仍按 estimate_video_timeline_price 计费。

剪辑本身(序列、转场、叠加、音频)由 layer-video-timeline 负责。本技能涵盖在其基础上添加整体效果。时间线无法实现的风格效果,例如为镜头重新打光或重新设计其内容,则属于生成:请参阅 layer-video-fixes。

如果你当前可用的技能中缺少此处提到的某个相关技能,请让用户安装 (npx skills add layerai/skills --skill <name>);若无人值守,则根据工具架构继续操作,并指出这一缺失。

快速参考

风格效果,按此顺序应用
品牌色调使用带有品牌色 darkColor 和 lightColor 的 duotone,或使用带有 amount 的 tint
复古 CRT依次使用 scanlines、noise,再轻度使用 chromaticAberration
胶片使用 noise(颗粒)、vignette、lightLeak
剪辑点上的故障效果在剪辑点处的短项目上使用 tvSignalOff 或强烈的 chromaticAberration
绿幕或蓝幕首先使用 colorKey,并将 keyColor 设为屏幕颜色
抠出的徽标或角色对带透明度的图像使用 dropShadow 或 outline
梦幻高光使用 glow 并设置 threshold,让辉光只作用于明亮部分
基础调色项目字段:brightness、saturation、hue;效果:contrast、exposure、vibrance

每种效果都采用 {type: "<name>", ...params} 格式,参数使用 camelCase,且每个参数都有默认值, 因此单独使用 {type: "vignette"} 也有效。颜色是 {red, green, blue, alpha} 对象,取值范围为 0 到 255。 blur、brightness、saturation、hue 和 opacity 是项目字段,而非效果:brightness 和 saturation 的取值为 0 到 2 的乘数(1 表示不变),hue 的旋转范围为 -180 到 180 度。

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。

顺序决定风格

效果按列表顺序依次应用,每个效果都处理前一个效果的结果。顺序会改变画面:

  • 先抠像。 colorKey 必须识别屏幕的真实颜色。如果在它之前使用 tint 或 exposure, 绿幕颜色会发生偏移,抠像后就会残留斑块。
  • 先调色,再加纹理。 将 tint、duotone 和 contrast 放在 noise 和 scanlines 之前,这样 颗粒会叠加在颜色之上,而不会被重新着色。
  • 最后扭曲。 wave、fisheye 和 zoomBlur 会扭曲接收到的画面;应将它们放在纹理效果之后, 这样扫描线也会随画面一起弯曲。

一个列表,覆盖每个片段

只有所有使用同一外观的片段都带有完全相同、参数也完全一致的 effects 列表,外观才能保持一致。 只构建一次列表,并将它复制到每个片段上。第二个片段若使用了略有不同的 tint amount,看起来就会不一致,这比完全没有外观还糟。

调整画面时要贴合镜头,而不是让镜头去迁就效果。不同时间生成的镜头在曝光和饱和度上会有差异;先用条目的 brightness 和 saturation 字段调整平衡,再应用共享列表。

参数在整个条目期间固定

时间线没有关键帧。效果的参数在条目的整个时长内保持不变:progress: 0.5 的 shine 是停在中间的光泽,而不是扫过画面的光泽;lightLeak 的 progress 则表示漏光的某个相位,并会保持不变。

实现动态效果有两种方式:

  • 分段条目。 将时长拆成同一轨道上的多个短条目,使用同一个文件,并让每个条目的 start_from_in_seconds 从上一个条目停止的位置继续,然后逐步提高 progress。对于较短的光泽效果,分成四到六段就能呈现出动态感。
  • 生成视频。 如果扫光必须流畅,就生成视频,并在提示词中描述动作(layer-video),而不要使用时间线效果。

同样的分段方式也能将效果限制在某个瞬间:在同一轨道上将片段剪成之前、触发和之后三部分,只给几帧长的触发条目添加 tvSignalOff。不要把这些部分叠放在不同轨道上;同一轨道上的条目在时间上不能重叠。

给屏幕抠像

colorKey 默认使用绿色({red: 0, green: 255, blue: 0});蓝幕则将 keyColor 设为 {red: 0, green: 0, blue: 255}。按照架构定义的顺序进行调整:屏幕上仍有色块时,提高 similarity;主体边缘被抠除时,降低它;主体上仍有彩色边缘时,提高 spillSuppression。smoothness 会柔化抠像边缘。

轨道按相反顺序合成,因此 Track 1 位于最上方。应将抠像片段放在背景所在轨道的上方。

填充画面中缩小的片段周围

在 9:16 画面中,16:9 片段两侧会留下黑边。架构提供的解决方法是:在较低轨道上放置该片段的第二个副本,设置全画幅 layout、is_auto_layout: false、content_fit: "cover"、较高的 blur、volume: 0,并调低其 brightness;然后在上方显示 content_fit: "contain" 的片段。这样画面就会用片段本身的颜色填满,而不是显示黑色。

完整示例

“给这四个已审核通过的游戏画面加上复古街机风格,并将我们拍摄于绿幕前的主持人放在最后一个画面上。”

  1. 五个片段都来自之前的运行,因此每个都有 file_id;无需上传。
  2. 为游戏画面构建一个列表: [{type: "contrast", amount: 1.15}, {type: "scanlines", amount: 0.2, spacing: 4}, {type: "noise", amount: 0.12}, {type: "chromaticAberration", amount: 3}]。将该列表原样复制到 Track 2 上的四个游戏画面条目中。
  3. 将主持人放在 Track 1 上,时长覆盖最后一个画面,并应用 [{type: "colorKey"}, {type: "scanlines", amount: 0.2, spacing: 4}, {type: "noise", amount: 0.12}]: 先抠像,再添加相同的纹理,让主持人融入同一个世界。
  4. 在切入最后一个画面的地方添加一个三帧长的 tvSignalOff 条目,并按上述方式从片段中拆分出来。
  5. 使用完整输入调用 estimate_video_timeline_price。展示表格;超过 20 CUs 时,等待明确答复。
  6. 使用相同输入调用 render_video_timeline。按返回结果给出的间隔,用返回的 generation_id 轮询 get_generation_run,切勿使用固定等待时间。
  7. 从头到尾观看成片。如果主持人身上仍有绿色色块,就将 similarity 调高一档并重新渲染;如果头发边缘被抠除,就降低它。

常见错误

  • 原本应呈现相同效果的片段,使用了不同的效果列表或不同的参数。
  • 在 colorKey 前使用 tint 或 exposure,导致画面不再匹配键控颜色。
  • 期望 shine 或 lightLeak 在片段中移动;参数对每个项目都是固定的。
  • 将键控片段放在背景所在轨道的下方。
  • 在没有透明度的片段上使用 dropShadow 或 outline;架构说明它们最适合用于抠像素材。
  • 整个片段都加上故障效果,而冲击效果本应只出现在剪切处的几帧中。
  • 想要调整素材的色彩,却选择生成内容,而时间线本身已经可以完成调色。
  • 上传由 Layer 生成且已带有 file_id 的片段。

评论

支持 Markdown