Communitygithub.com

SallyRS/video-director

导演任何时长约 6 秒到 3 分钟的短视频,融合动态图形与生成或提供的照片、素材和片段,例如产品发布片、解说片、品牌片、设计演示或教程、竖版社交媒体短片、活动、回顾或数据视频,或带有角色和产品时刻的真人故事或喜剧广告。

video-director 是什么?

该技能将用户转变为视频导演,使其能够通过 AI 构建、用户审批的迭代工作流程,制作结构精良的短视频。它的核心在于防止视频“像幻灯片一样”,通过提供 2-3 个真实选项(而非单一提案)来确保每个视觉决策都经过深思熟虑。工作流程围绕一系列明确定义的阶段展开,从确定视频类型(如产品发布、解说、品牌片)开始,然后依次处理脚本、参考、方向、分镜、动画、音频和最终构建,每个阶段都有一个明确的“关卡”,需要用户进行审批。最重要的是,该技能强调使用真实资产来构建项目,并记录所有决策,从而打造出一个高度可控、可重复且注重质量的视频制作流程,适用于 Claude Code 等 AI 代理平台。

兼容平台✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/SallyRS/video-director/tree/HEAD/skills/video-director

在你喜欢的 AI 中提问

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

文档

捆绑脚本使用 python3 运行。

视频导演

你来设计和构建视频;用户来指导它。在用户以静态帧的形式查看并批准之前,什么都不会被动画化,而且每个视觉决策都是通过从 2-3 个真实选项中选择做出的,而不是对一个单次拍摄进行反应。

这个技能旨在防止的失败是那种感觉像幻灯片的视频:用相同的模糊效果替换彼此独立的布局,所有内容一次性倾泻到屏幕上,然后变成一幅冻结的画面。每种视频类型都通过不同的方式来避免这种情况,因此首要的决定是确定这是什么类型的视频。

基本规则

  • 说话要直白。 说明更改了什么及其含义。为你制作的每个文件提供完整的绝对路径。
  • 脚本属于用户。 保留其措辞和顺序。如果新脚本与旧版本的反馈同时到达,则此反馈是针对旧版本的:将其应用于电影的制作方式,而非脚本本身。如果脚本似乎重复了旧问题,请用一句话提问。
  • “转变”意味着在屏幕上。 当用户说视频“没有显示转变”时,没有元素在视觉上改变形态。一个元素应该转变为下一个。
  • 首先加载品味偏好。 在设计之前,阅读项目的 direction-notes.md 以及用户在其设计品味方面保存的任何笔记(关于设计、颜色、布局、视频的记忆文件或项目笔记)。更早的修正存放在那里;为新项目创建一个空的笔记文件。
  • 对所有内容进行版本控制。 每一版审阅页面都会获得一个新的版本号;构建工具拒绝覆盖。
  • 记录决策。 每次用户选择一个选项或进行修正时,在 direction-notes.md 中添加一行带有确切值的日期记录。后续会话将读取它而不是聊天记录。
  • 在生成图像或片段之前, 说明你将制作什么以及将其放置在何处。

视频类型

在第一阶段选择类型,然后在编写任何其他内容之前完整阅读其文件。类型规定了结构,并在有差异时覆盖以下默认值。

类型定义文件
产品发布通过 UI、动态效果,有时还包括人物来展示一个产品或功能;30-90 秒references/types/product-launch.md
解说片将概念或过程直观化;通常有旁白;60-180 秒references/types/explainer.md
品牌片展示公司的宗旨;一个理念、人物和地点;通常不出现产品;30-90 秒references/types/brand-film.md
演示或教程使用经过编排和放大的 UI 教授一项任务;60-180 秒references/types/demo-tutorial.md
社媒短片竖屏或方形,6-30 秒,静音观看,第一帧就要有钩子references/types/social-short.md
活动、回顾或数据开场、回顾、年度总结、用数字讲述的故事;约 60-120 秒references/types/event-recap-data.md
展示片对构建成果的视觉巡览;无字幕,无解释references/types/showcase.md
真人故事广告一个有问题的角色、真实的场景和产品时刻;通常是喜剧;30-60 秒references/types/live-action-story.md

一部影片可以混合多种类型(例如,带有数据节拍的产品发布片)。选择主要类型并从另一种类型借用单一规则,并说明借用了什么。

随类型变化的数字

起始值取自所研究的影片。真人故事广告将其数值保留在其类型文件中。

产品发布解说片品牌片演示 / 教程社媒短片 (9:16)活动 / 回顾 / 数据
文字位置顶部居中约 9%(连续影片),或居中的声明卡(章节式影片)标签位于其所命名的事物旁边覆盖在画面上,大约 40-57% 处位于目标旁边;卡片居中大约 15-30% 处,或大约 42-60% 居中处标题居中,名称在左下角
保持清晰区域底部 17%底部 17%(当字幕或平台叠加存在时)低于 60% 的区域,除结尾 Logo 外底部 17%(用于添加的文字;UI 可能到达边缘)顶部 14%,底部 35%,两侧 6%,右侧额外留白底部 17%,每位演讲者除一个名称栏外
场景或单元长度4-6 秒的场景,或一个简短的声明卡后跟持续数秒的证明一个旁白句子(在所测量的影片中为 3-6 秒)一个约 1-3 秒的稳定单元一个步骤:带语音 6-12 秒,无语音 3-5 秒约 1-3 秒的节拍,平静的影片最长 4 秒约 0.5-2 秒的镜头;数字停留时间足够长以用于阅读
硬切1-2 处重音(连续影片)或约 10-20 处(章节式影片)0-5 处(一个世界)或许多处且有主线(蒙太奇)是素材影片的主要转场很少;仅在背景变化时增多主要转场是素材回顾的主要转场
结尾Logo 1-3 秒;整个结尾约 3-11 秒静态卡约 2-5 秒声明独立显示,然后 Logo 1-4 秒约 3-9 秒:Logo,或一行文字和 Logo无卡片、循环或简短收尾标签(约 1.5 秒)静态组合 1.5-3.5 秒;在动态背景上更长

项目布局

在第一阶段,按照 references/project-layout.md 中的布局创建项目文件夹:简报、脚本、指导笔记、创意、参考、分镜、动态规范、资源、构建和输出。

工作阶段

阅读 references/checkpoints.md 以获取回复模板和特定阶段的加载。在每个关卡处停止并等待用户;复用已明确做出的决策。

#阶段你的产出关卡
1简报brief.md:类型、格式、旁白、人物、素材、时长、参考视频或无简报正确吗?
1b风格对于包含动态图形的影片:一个页面,包含每种动画风格的图片和 3-4 个建议哪种风格?
2脚本与故事script.md,包含钩子、类型文件中的结构、每拍一个任务脚本锁定?
3参考仅当用户选择了参考视频时:对 3 部或以上可访问的真实影片的笔记,或明确的参考输入保留(无停顿;为阶段 4 提供输入)
4方向选项2-3 个以开场真实帧形式呈现的方向哪个方向?
5视觉决策一次一个决策,每个 2-3 个选项每个选择
6故事板每个场景、开始和结束帧、笔记页面已批准,或有备注
7动态规范场景时长,然后为每次变化命名的移动、时序和缓动已批准
7-9声音声音计划、按影片类型分类的片段声音、使用真实音效放置的库效果、配乐、assets/audio/SOURCES.md听起来对吗?
8动画测试HyperFrames 中最难的 2-4 个场景(真人故事广告则从头开始运行)动起来对吗?
9完整构建整部影片及其精简版本,逐帧检查最终版
10润色轮次每轮备注生成一个新编号的渲染版本,针对其帧检查每条备注每轮签字确认

1. 简报

将这些作为明确的决策来提问;切勿推断或在设置列表中隐藏它们:

  • 类型(上表),以及它是解说型还是纯展示型。
  • 格式:16:9、9:16、1:1 或 4:5,以及任何精简版本(6、15、30、60 秒)。
  • 旁白:画外音、仅屏幕字幕或无文字。
  • 内容构成:用这些词语提问:“影片将由什么构成:动态图形、素材、屏幕录制还是混合?”素材可以是真实的或生成的;哪部分为主导由你在第 4 阶段提出。
  • 人物:真人、插画角色、仅手部还是无面孔,以及是否听到他们自己的声音。
  • 必须是真实的内容:Logo 文件、字体、真实产品的屏幕或演示账户、真实人物或事件的真实素材或照片(回顾片和包含指定人物的品牌片需要真实素材)、音乐(他们自己的曲目,或付费计划上的 Suno)。人物、B-roll、地点和 3D 的制作方式由你在第 4 阶段提出。
  • 观众:谁观看,他们知道什么和怀疑什么,视频发布在哪里(这决定字幕),以及他们之后应该想什么或做什么。
  • 时长:对照该类型的常用范围进行检查。
  • 名称和 Logo:哪些可以显示。
  • 媒体工具:他们的片段工具(Higgsfield、其他或无)和静态图片生成工具(Codex 或他们自己的照片)。如果证明需要真实动态但没有片段工具,请说明(references/media.md)。还要询问是否可以将剪辑上传到 Google 的 Gemini API 进行运动观察(references/build-and-qa.md)。
  • 参考视频:用这些词语提问:“在设计之前,有没有你希望我学习的视频,还是我不用参考视频直接开始?(我们会单独选择视觉效果。)” 是:询问哪些影片(指定名称的影片算一个),请求允许下载,并询问“你想要的是这些影片的视觉效果,还是其他方面,比如节奏?” 否:影片从头开始制作;跳过第 3 阶段。不确定:用一句话推荐一个(对于常见类型从头开始;对于未涉及到的视觉效果或高风险影片使用参考)。

将答案写入 brief.md;切勿臆造。

1b. 风格

对于包含任何动态图形的影片,用户从包含每种动画样式图片的页面中选择外观:遵循 references/animation-styles.md 中的“阶段 1b”。切勿在不询问的情况下选择样式。对于仅由素材构成的影片(其外观在阶段 4 制定),以及当参考视频已经展示了外观时,跳过此步骤:用一句话命名该样式,以便用户可以纠正。

2. 脚本与故事

如果用户提供了脚本,请将其以表格形式(场景、名称、台词、旁白,对于发布片和演示影片还包括一个证明列)放入 script.md 并保留原样。如果你草拟台词,请写出人们会说的简单句子:不要堆砌片段、平行句的三元组、不要出现“认识 X”、“隆重介绍”或“不仅仅是 X,它是 Y”这类句式。运行 python3 <skill>/scripts/scan_script.py script.md --out output/script-language-review.json;在上下文中审查每个候选内容,并保留用户提供的措辞,除非用户批准修改。然后对照类型文件的结构检查故事:

  • 钩子:前 1-3 秒应展示最有力的画面或一种感知情境,而不是 Logo 或公司介绍。
  • 一个承诺,在第二个节拍时做出;之后所有内容都是证据。
  • 每拍一个任务。关键时刻获得的时间大约是次要节拍的两倍。
  • 在中后部某处有一个转折或能量变化。
  • 开场装置和收尾装置 是有意选择的,而不是凭反射添加的。
  • 在静音状态下也有意义,除非是由旁白主导的。
  • 产品发布片和演示影片:为每个主张命名证明。 在 script.md 中每个主张旁边,写出屏幕上的内容将如何证明它,使用 references/visual-ideas.md 中的节拍方法找到。

3. 参考

对于从头开始制作的影片,跳过此阶段,并用一句话说明。否则,在绘制之前研究三部分(或更多)可访问的真实影片。如果用户指定了一部影片,它必须是其中一部;如果他们在阶段 1b 选择了样式,那么至少有一部影片是所选样式的(仅研究其外观),其余的是该类型的影片;如果无法访问,请遵循 references/reference-films.md。使用 ffmpeg 提取静帧并记录机制:什么承载了剪辑之间的过渡,文字位于何处(以占帧高度的百分比计),镜头长度,结尾是如何构建的。借用机制,切勿借用影片的外观、Logo 或素材。方法:references/reference-films.md。

4. 方向选项

按照 references/animation-styles.md 的“阶段 4”将阶段 1b 的选择转化为方向;使用 references/footage-looks.md 规划任何素材的外观。如果用户指定了一部影片,至少有一个方向使用了该影片的风格和机制,但绝不使用其外观。房屋规则仍然适用。向用户展示实际的静态帧选项。

制定 2-3 个方向,它们在核心理念上有所不同(类型文件说明了哪种差异是重要的),而不是同一个布局的三种颜色版本。每个方向在其选项的 plan 字段中说明其完整的视觉计划:

  • 用一句话说明的理念,并包含产品;
  • 产品在转折时起到什么作用;
  • 媒体组合:一个主导媒介,加上每个有一个任务的插入内容;
  • 一种命名的绘画风格;
  • 重复出现的元素(或有意不使用);
  • 一种在想法之间移动的方式;
  • 结尾语。

在绘制之前,找到这个理念并运行 references/visual-ideas.md 中的五项检查。你自己提出媒介(B-roll、3D、人物如何展示);简报中说明了人物是否出现以及哪些内容必须是真实的。

使用帧套件绘制第一、二个场景的开始和结束帧,并构建一个选项页面:

python3 <skill>/scripts/render_frames.py storyboard/frames.html --ids 01a,01b,02a --out storyboard/options-direction-v0.1
python3 <skill>/scripts/build_storyboard.py storyboard/options-direction-v0.1.json storyboard/options-direction-v0.1.html

从 assets/options-direction-starter.json 开始创建 JSON。说明每个方向背后的风格,以及在研究了参考时说明参考技术,然后用一两句话推荐一个。

5. 视觉决策

一次确定一个视觉决策,每个决策都有 2-3 个基于相同帧的选项:在产品发布、演示和真人故事广告影片中,如何展示产品(录制的屏幕、重建的真实界面、或带有少量界面的人物和插画;类型文件说明了每种方式的成本),然后是色彩处理,然后是标志性场景的布局,然后是文字的位置。使用变体开关进行色彩处理(使用 --variant <name> 渲染,从 assets/options-color-starter.json 开始)。解读答案时:

  • 当答案模棱两可时(例如“1 看起来更好看”),说明你认为他们指的是哪个选项。
  • “我喜欢 1 和 3,但感觉太 X 了”:保留两者,在两个上都修复 X,然后再次展示它们。
  • 修复用户指出的问题;他们称之为“有趣”的想法是加分项,而不是主要要求。
  • 如果他们不喜欢所有选项,在制作新选项之前,说出所有选项的共同点。

更多信息:references/options-rounds.md。

6. 故事板

设计每个场景:一个开始帧和一个结束帧,以及每当变化无法仅从两端描绘出来时,加一个中间帧。使用帧套件(references/frame-k

… (用于翻译的部分已截断)

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能