Communitygithub.com

style-lab - 视频编辑风格实验室

从参考视频或文字描述中学习视频编辑风格,然后通过编辑计划和多轮审阅,以该风格编辑你的素材。触发词:editing style, style-lab, סגנון。

style-lab - 视频编辑风格实验室 是什么?

style-lab 是一款高级 AI 技能,专为 Claude Code 等 AI 编码代理设计,用于从参考视频或文字描述中学习并应用视频编辑风格。它遵循两阶段工作流程:阶段 A 通过分析约 20 个参考视频(包括逐帧分析、转录和样式板创建)来训练风格,阶段 B 则使用经过训练的样式来编辑谈话头或短视频片段。该技能生成一个包含样式板、编辑计划和审阅轮次的基于 HTML 的界面,通过 ffmpeg 和 Python 脚本实现,并支持 HyperFrames 作为构建引擎。它还维护一个可复用的样式注册表,每个样式都有其自己的规则包和生成的技能文件,确保风格定义可测量、可版本化,并可通过审阅轮次进行完善。主要优势在于将人类创意与 AI 自动化相结合,将“为什么”(设计原理)与“何时/如何”(动画逻辑)分离,从而实现与品牌一致且可重复的视频效果。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Malik-rgb43/style-lab-skill/tree/HEAD

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

style-lab - 视频编辑风格实验室 是做什么的?

何时使用(完整触发词列表)

当用户想要创建、定义、复制、学习或训练来自参考视频(链接或文件)或文字描述的编辑风格或外观时使用;构建样式板或样式指南;将参考素材转化为可复用的风格;或以训练好的风格编辑谈话头或短视频片段,然后通过多轮审阅进行修正。同样适用于:“让我的视频看起来像这位创作者”、“保存此外观以便每个视频都匹配”、“剪辑看起来太通用/像 AI 生成的”。希伯来语:סגנון עריכה, ליצור סגנון, ללמד את Claude סגנון, בורד סגנון, לוח השראה, ריפרנסים, תערוך בסגנון, תוכנית עריכה, סבב הערות, סטייל לסרטונים。

סקיל = הוראות קבועות ל־Claude. 此技能是 Gabriel Gelman 的“וידאו עם AI”课程技能的一部分(Apache-2.0 许可)。这是一个高级附加技能:假设已安装 Claude Code 以及 ffmpeg 和 Python,并且最好安装了 HyperFrames。

语言:始终用希伯来语与用户交流,除非他们使用其他语言。在执行每个步骤之前,先用简单的语言解释(我们做什么、为什么、用户现在做什么),一次一步,并注明步骤名称(“שלב A2: בורד הסגנון”)。用户看到的所有页面(样式板、计划、审阅室)均采用课程设计:从右到左希伯来语、Karantina / Heebo 字体、白色-黑色-紫色。

灵感:两阶段工作流程(从约 20 个参考视频和样式板训练风格,然后根据人为制定的计划进行编辑)的灵感来自 Joseph 关于使用 Claude 编辑谈话头视频的 YouTube 视频 (https://youtu.be/g9xoKm5DEeU)。此处未复制视频中的任何内容;样式板、计划、审阅页面、脚本、规则和审阅循环是我们自己的,针对 13 个 Reel 进行了重建和测试。

核心思想(一段话概括)

参考视频教会 Claude 动画背后的逻辑(何时、持续多久、如何移动);样式板教会它设计(字体、颜色、大小、为什么)。缺少任何一个,编辑看起来都会很通用。人的审美在三个检查点发挥作用:样式板(阶段 A)、编辑计划(阶段 B)和审阅轮次。Claude 负责两者之间的繁重工作。如果你不知道什么造就了好的风格,AI 只会帮助你更快地制作糟糕的视频,因此每条规则都是经过衡量的,并且每个设计选择都有“为什么”。

默认设置(在开始时用一行说明,可根据要求更改)

  • 品牌: 课程品牌(references/brand-defaults.md:Karantina 700 标题、Heebo 正文(-0.04em)、Consolas 代码、白色/黑色/紫色)。保留参考视频的布局、动态和结构;其字体和颜色会被替换为品牌。如果用户想保留参考视频自己的外观作为风格,或者将自定义品牌放在 ~/.claude/style-lab/brand.md 中。
  • 构建引擎: HyperFrames(HTML 转视频)。如果没有安装:references/tools-and-fallbacks.md。
  • 转录: 本地 faster-whisper;希伯来语使用本地 ivrit-ai 模型。仅经用户同意后才使用云端 (RunPod),因为需要付费。
  • 图像 / 3D: 可选,仅在节拍需要时使用,且仅在用户同意付费时使用。
  • 格式: 9:16,1080x1920,30 fps,除非用户另有说明。永远不要假设字幕语言:询问用户(或不要字幕)。 首先检查已安装的内容(ffmpeg、Python、faster-whisper、Node + HyperFrames、Blender、图像模型)并说明你将使用哪些。缺少的工具会阻止其步骤的执行:说明缺少什么以及需要安装什么;永远不要跳过步骤而不告知,永远不要未经确认就下载。

你的风格(多个命名风格并存)

每个风格都有一个用户选择的名称(希伯来语也可以)、一个拉丁语拉丁化标识符、一行描述、自己的风格包以及自己的风格技能 style-<slug>。所有风格都列在一个注册表 ~/.claude/style-lab/styles.json 中,由 scripts/styles.py 管理:

python scripts/styles.py list                       # 列出可供选择的风格
python scripts/styles.py add <slug> --name "<name>" --pack <project>/styles/<slug> --description "..."
python scripts/styles.py show <slug or name>
python scripts/styles.py set <slug> name="<new name>" status=ready aliases="..." theme=light
python scripts/styles.py check                      # 检查每个包和技能是否仍存在

状态:training 在阶段 A 期间,ready 在 A5 之后(仅提供 ready 状态的风格用于编辑),archived 用于隐藏一个。remove 仅删除注册表条目,从不删除文件。每个风格还记录 fonts / colors(brand 或 reference)和 theme(dark、light 或 both;一个视频仍然可以是“另一种主题”)。

哪个阶段? “new style / ליצור סגנון / ללמד סגנון” → 阶段 A。“edit / make a video / תערוך” → 阶段 B。“change / rename / improve style X” → 使用 styles.py set,对于规则更改,编辑该风格的 STYLE.md 和技能。

文件位置

<project>/styles/<slug>/            风格包
  refs/  sources.md                 参考视频(本地学习副本,从不发布)
  analysis/                         每个视频的转录、联系表、笔记
  board/  board.json  board.html  thumbs/
  library/<V01-A06 title>/           still.png  strip.jpg  clip.mp4  notes.md  (+ index.json)
  animations.json                   分解文件(库脚本的输入)
  STYLE.md                          编号规则、标记、类别、动态、声音、审阅规则
  kit/                              可选,为构建引擎准备的可测试组件
<project>/edits/<clip>/             每个编辑一个文件夹
  raw/  words.json  edit_ready.mp4  edit_ready.words.json  plan.json  plan.html
  build/  assets/  renders/  revisions.md  SOURCES.md
~/.claude/skills/style-<slug>/SKILL.md   生成的风格技能
~/.claude/style-lab/styles.json          注册表

脚本(本地,免费):styles.py、transcribe_words.py、transcribe_cloud_ivrit.py(付费,可选)、cut_silences.py、verify_cut.py、word_edges.py、build_reference_library.py。页面:assets/board-template.html、assets/plan-template.html、assets/review-template.html。


阶段 A:训练风格(构建风格包)

A1. 收集参考素材

  • 询问如何命名风格并要求提供一行描述;立即注册(styles.py add ...,状态为 training)。询问是使用品牌外观(默认)还是参考视频自己的外观。
  • 询问参考素材的位置。视频: 用户提供允许下载的文件或链接;目标是约 20 个编辑精良且完全符合此风格的视频;少于约 12 个会导致库内容单薄(告知用户,但如果用户坚持则继续)。将它们命名为 V01.mp4 …,并在 refs/sources.md 中列出每个。它们保留在本地:从不发布、上传或放入 artifacts 中。
  • 仅提供描述(无视频):采访用户(感觉、背景、类型、动态、字幕、声音、禁止项),将每个形容词转化为数字,并收集几张他们喜欢的剧照或截图。跳过 A3-A4 的帧相关工作;样式板显示标记、规则和草图而不是参考帧,并且库最初为空,后续从批准的编辑中增长。

A2. 样式板(训练中最重要部分)

  1. 分析每个参考素材:使用 ffmpeg 每 0.5 秒提取一帧(或使用已安装的视频分析工具),生成联系表、测量音频响度。阅读联系表。
  2. 提出类别(字幕系统、布局、B-roll 类型、图形、转场、CTA……);风格的自身类别优先。references/example-style-3d-paper.md 展示了一个完成的示例。
  3. 挑选 100-150 张灵感帧作为 9:16 缩略图(约 360 像素宽)放入 board/thumbs/,以及每个类别的一个主帧用于注释。
  4. 填写 board.json(模式:references/board-and-plan-spec.md):标记(字体、从帧中提取的十六进制颜色、纹理、形状、大小、布局)以及每个类别的磁贴、一个带 3-5 个可测量标注的注释帧,以及四个“为什么”问题的草稿答案(设计、颜色、效果、动画)。
  5. 从 assets/board-template.html 构建 board.html(替换 JSON 块)并将其发布为 artifact,并将缩略图作为支持文件。用户重写“为什么”答案并按下 העתקת ההערות לבורד 将其粘贴回来。
  6. 检查点 1:停止并等待。 应用用户的备注,重新发布。在用户确认样式板正确之前,不要开始 A3;错误的样式板会训练出错误的风格。

A3. 分解

针对每个参考素材:逐字转录(transcribe_words.py,语言由用户指定或设置为 auto)以及逐帧分析,找出每个动画并记录三件事:

  • 位置: 哪些词语触发它,触发后多长时间,哪种类型的行对应哪种场景(宣告型 vs 描述型、数字、人物、故事、点睛句);
  • 设计: 背景、纹理、字体配对和尺寸、颜色、线条处理、插图、位置;
  • 逻辑: 持续帧数、距离、缓动效果、镜头运动。以帧数进行测量;切勿猜测。 然后与样式板进行比对(样式板 = 什么与为什么;视频 = 何时与如何移动);询问用户不同意的部分。将每个动画写入 animations.json(V<nn>-A<n>、开始/结束、关键帧、标题、类别、场景类型、词语、备注)。一次处理一个视频,边处理边保存;对于多个视频,可将工作分配给子代理(每个视频一个代理,使用相同的模式)。

A4. 参考素材库

python scripts/build_reference_library.py styles/<slug>/animations.json --out styles/<slug>/library 每个动画变成一个文件夹(图片、带标签的帧序列、剪辑、备注)以及 index.json。打开一些帧序列,修复 animations.json 中的错误边界,使用 --force 重新运行。

A5. 打包风格

从 references/style-skill-template.md 编写 STYLE.md 和风格技能:编号的、可测量的规则(以便计划或备注可以引用“规则 7”);将标记映射到品牌(保留参考视频的尺寸、比例和颜色规范;记录其原始值);每个类别包含设计、动态、位置和 2-3 个库引用;计划模式;声音配置;一个“思维方式”部分;一个空的“审阅轮次规则”部分。从 references/craft-rules.md 中的通用规则开始编写每个风格,仅记录差异。建议:将重复出现的部分(字幕、标题、演讲者布局、CTA)构建为 kit/ 中经过测试的组件包。将技能保存到 ~/.claude/skills/style-<slug>/SKILL.md,然后执行 styles.py set <slug> status=ready board_url=<board artifact URL>。告知用户风格的名称,并说明新会话将列出该风格。


阶段 B:在训练好的风格下编辑剪辑

使用可用的最强模型和最高努力。

B0. 选择风格

styles.py list。如果用户指定了某个风格,则使用该风格;否则询问用户,并提供 ready 状态的风格作为选项(如果只有一个 ready 风格:说明你将使用哪个)。如果没有 ready 风格:提供阶段 A。加载 style-<slug> 并将选择写入 plan.json,以便每轮使用相同的风格。

B1. 转录和剪辑

  1. transcribe_words.py raw.mp4 --out words.json(希伯来语:--language he --model <ivrit-ai folder>)。
  2. 显示低置信度的词语(名称、数字、品牌);在规划之前修复它们。
  3. 如果有多个片段的录制,则与用户一起选择镜头(--keep keep.json),然后执行 cut_silences.py raw.mp4 --words words.json --out edit_ready.mp4 --pad-ms 120(对于故意干脆利落的风格仅使用 30 毫秒)。接合处添加 15 毫秒的音频淡入淡出。
  4. 重新听取每个接合处,不使用 VAD(transcribe_words.py edit_ready.mp4 --start .. --end .. --no-vad --no-context),检查词尾(word_edges.py --at <t>),然后执行 verify_cut.py。隐藏的重复和剪辑掉尾音在此处发现,而不是由视频所有者发现。 此后的所有步骤均使用 edit_ready.mp4 和 edit_ready.words.json。

B2. 编辑计划(主动展示)

将脚本拆分为节拍(每个节拍一个想法或一行)。对于每个节拍,从风格库中提供三个设计方案,按照参考视频的放置方式排列,其中一个标记为 ההמלצה שלי。每个选项:标题、类别、场景类型(פנים + כתוביות / שכבה מעל הפנים / סצנה מלאה)、具体描述、Ref V##-A##;每个节拍:解释为什么它合适(引用参考视频和规则编号)以及一个镜头提示。使用 references/craft-rules.md §1 中的五个问题(隐喻、真实事物运作、无形变有形、移动的参考、绝不重复)设计每个节拍。从 assets/plan-template.html 构建 plan.html,发布并附带一个 540p 的代理文件 clip.mp4 和选项的剧照 thumbs/。

B3. 检查点 2:人工制定计划

用户为每个节拍选择一个设计方案或自行编写,按下 העתקת התוכנית 并粘贴回来。提供计划模式作为建议:以演讲者开场;钩子是一个强有力的节拍;面对镜头宣告,用视觉效果描述;人物 → 标注;故事 → B-roll;平衡场景类型。如果用户给予完全控制权("אתה מחליט"),则做出选择并告知用户。

B4. 构建

  1. 对于每个选定的设计方案,打开其库文件夹并记录要复制的确切设计。
  2. 资产清单,包含每个项目的来源(真实的 UI、官方标志、工具制造商自己的展示片段、用户的文件、授权音乐/SFX、可选的生成图像或 3D 模型);展示清单;下载前询问。在 SOURCES.md 中记录每个来源。
  3. 在 HyperFrames(先加载其技能)或备用引擎中构建:一个 1080x1920 合成,使用 edit_ready.mp4 作为演讲者轨道;风格标记;首先使用风格的组件包。顺序:首先从词语文件中生成整个视频的字幕,然后按计划顺序处理每个节拍。先构建 2 个节拍,截图,与风格的参考帧进行比较,调整,然后构建其余部分。遵循 references/craft-rules.md 并检查 references/pitfalls.md。
  4. 验证(0 错误),每 0.5 秒截图一次(在密集的节拍和 CTA 处每 0.2 秒截图一次),阅读每张截图,修复。然后渲染一个草稿(低质量,带音乐)并打开审阅页面。明确说明初稿完成了 60-70%。

B5. 审阅轮次

遵循 references/review-loop.md:审阅室页面 (assets/review-template.html) 在每轮草稿之后自动打开;阅读每条备注,包括未发送的草稿;批处理所有备注 → 修复 → 每轮渲染一个草稿;**同一备注出现两次意味

相关技能