捆绑脚本使用
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
… (用于翻译的部分已截断)