Agent SkillswaooAI/waoowaoo › video-direction

video-direction

GitHub

将剧本内容转化为结构化视频生成提示词,确保镜头、表演与声音的连续性。通过严格的状态管理和物理化表演设计,优化分段策略以最小化生成次数,最终输出可直接执行的 video_generation_batch。

src/lib/creative-skills/skills/video-direction/SKILL.md waooAI/waoowaoo

Trigger Scenarios

需要基于文本生成视频时 处理视频导演设计与分段提示词生成

Install

npx skills add waooAI/waoowaoo --skill video-direction -g -y
More Options

Non-standard path

npx skills add https://github.com/waooAI/waoowaoo/tree/main/src/lib/creative-skills/skills/video-direction -g -y

Use without installing

npx skills use waooAI/waoowaoo@video-direction

指定 Agent (Claude Code)

npx skills add waooAI/waoowaoo --skill video-direction -a claude-code -g -y

安装 repo 全部 skill

npx skills add waooAI/waoowaoo --all -g -y

预览 repo 内 skill

npx skills add waooAI/waoowaoo --list

SKILL.md

Frontmatter
{
    "name": "video-direction",
    "description": "Direct source-text-based video generation with explicit state continuity, physical performance, minimal segment count, structured shot timing, reference identity, sound relationships, and executable final prompts."
}

视频导演与生成设计

作用

把已经成立的内容事实(剧情、产品行为、主张顺序)组织成可执行导演设计,并为每个独立生成分段写一份结构化最终提示词。本 Skill 是 outputKind=video_generation_batch 的唯一专业 Skill:镜头、表演、构图、声音、连续性、装段与接缝判断全部内化进每段唯一 prompt,最终只返回 strict video_generation_batch,不输出平行导演表、时间线或解释文件。

事实与时长权威

  • 源文本(剧本、商业脚本或其他脚本)、用户明确要求、已确认资产、入段状态和已采纳 Creative Direction 是唯一事实。不得新增源文本没有的人物、对白、地点、道具、动作、动机、停顿、主张、屏幕文字、CTA 或结局;对白、旁白与屏幕文字逐字保留。
  • 精确源文本存在时,它独占事件顺序和 mode=derive 演出时间线。Creative Direction、题材、画幅、3D/写实风格、镜头数量、声音与转场只决定怎样呈现,不能创造额外剧情时间。
  • 严格按“整片时间线 → 导演设计 → 生成装段”工作。不要先给每个镜头或节拍分配一段 Provider 时长再相加。
  • durationIntent.mode=fixed 时,全部 Segment 时长之和必须准确等于用户总秒数。mode=derive 时,只按自然对白、不能并行的来源动作和来源明确要求的停顿估算最短清楚时长;并行动作不重复累加。
  • 禁止用重复动作、无信息空镜、拖慢转头、额外反应、题材留白或装饰性转场填充时长。

完整作品的规划纪律

以下纪律只约束计划质量,不改变任何 Operation 的合法输入,也不构成服务端门槛:

  • 先识别当前交付物以及与执行相关的总时长、画幅、风格、内容、人物、声音和合成需求,只补真实缺口。
  • 总时长超过 15 秒的完整视频作品:开始视频生产前,先创建或复用一份匹配的文本 Creative Direction,以及最终视频真正会复用的角色、场景、道具资产;这不授权任何视觉风格参考图。该作品还必须通过配乐 Skill 声明的收尾检查点获得明确的配乐决定,除非用户已经决定;绝不静默假设无配乐。
  • 总时长超过 180 秒:按文件夹结构组织为独立生成的单元,并按 creative-core 的续作状态锚定在单元之间显式传递状态;这不是固定分支。
  • 续写已有作品时,先读覆盖续写点的源文本和最近一次交付批次的出口状态,绝不凭资产、印象或摘要重新想象当前状态;可变状态永远覆盖资产的默认外观,资产只锁定身份与设计。
  • 音色一致:同一人物在两个以上独立生成的镜头中说话时,在依赖它的视频提示词之前创建并绑定一个稳定音色;单独一个孤立的说话镜头不需要。生成的稳定音色试听样本必须是语音多样的句子,满足音色工具的文本长度限制;不能是名字、应答词或其他极短片段。用于视频前检查实际音频时长,不能假定它满足视频参考音频上限。
  • 交付完整作品前逐项检查:跨镜头复用的可见人物、场景、道具都有参考资产;跨镜头复用的说话人物有一个稳定音色;每个生成分段自带对白和必要声音;全部分段使用同一项目画幅;超过 15 秒的成品有明确配乐决定。

内部状态表

写提示词前,在内部为每个镜头记录入口与出口,不把状态表作为输出字段。至少检查:

  • 人物:身份、服装、身体状态、情绪强度、所在位置、身体朝向、视线目标。
  • 道具:持有者、位置、开合/亮灭/损坏等状态。
  • 场景:时间、光线、天气、关键结构和不可突然复制的主体。
  • 信息:人物与观众已经知道什么,揭示是否已经发生。
  • 声音:正在持续、刚停止、需要跨镜延续或尚未出现的声音。

后一镜头入口必须等于前一镜头出口再加上本镜头的新变化。人物已经完成拿取、转身、起身、到达、开门或说完一句话后,下一镜头直接从完成状态继续,不能换景别重演。

导演设计

  • 每个镜头承担一个明确叙事任务:建立空间、推进动作、呈现反应、揭示信息、改变关系或完成落点。
  • 每个时间块围绕一个核心节拍,可以包含完成该节拍所需的因果微动作,但必须有可见入口、变化和落点。动作使用物理动词,不解释人物内心。
  • 有人物的普通镜头必须写清景别、机位关系、主体落位、身体朝向、视线目标和一种主要运镜。参考图只锁定身份与设计,不继承资产板的正面居中、姿态或直视镜头。
  • 相邻镜头改变信息尺度与构图;居中、对称或直视只在剧情明确需要时使用。默认把人物放在三分线或前中后景关系中,把负空间留给其视线或运动方向。
  • 镜头只向前推进。后一镜头第一帧必须晚于前一镜头最后一帧;改变角度、加特写或换景别名称都不能把同一动作再展示一次。
  • 同一 Segment 内可在动作进行中切镜:前镜承载动作前半,后镜从动作后半继续。不同 Segment 之间必须落在已完成节拍上,后段从下一个新节拍开始。
  • 一个时间段需要多个亚秒镜头时,写成一个“快切组”:整组共享一个动作链或视觉母题、一个时间段与一条银幕方向,不逐 cut 标秒;结束后回到明确落点。快切组不得跨 Segment。
  • 先判断转场是否必要。同一时空通常直接切换;只有时空跳跃、时间压缩、情绪转折或视觉母题确有收益时使用一个清楚的物理转场,并写明前镜终点和后镜起点。不得依赖叠化或主体变形。

表演设计

  • 表演只写可见物理事实,禁止情绪形容词与内心解释(“愤怒地”“她很紧张”“想起了往事”)。把情绪翻译成呼吸、手部、下颌、肩颈、步态和视线停留时长的具体变化:写“呼吸变浅,指节抵住桌沿”,不写“她很紧张”。
  • 优先低幅度描述。视频模型倾向把情绪词演成过火的表情和夸张手势;“下颌收紧、语速放慢、目光在对方脸上多停了一拍”这类小幅物理动作比高强度情绪词更稳定可控。需要强表演时,把强度写进动作本身(摔门、掀翻椅子),不写进情绪副词。
  • 反应有层级。重大信息的反应按“僵住 → 确认(回看、靠近、再读一遍)→ 释放(行动、崩溃或压下去)”推进,每个镜头只承载其中一层;不许一步到位地大哭大叫,除非剧本明确写了。
  • 潜台词用身体与台词的反差呈现:嘴上说“我没事”,手指在袖口里收紧。反差只能建立在剧本已有的情绪事实上,不得借此发明剧情。
  • 一个镜头内最多一次情绪变化,且必须由本镜头内可见事件触发。持续情绪写成持续的身体状态(肩线一直绷着),不逐镜头重新表演一遍。
  • 表演幅度按题材校准并全片保持同一基准:短剧外放但不失真,电影克制,喜剧靠节奏与停顿而非鬼脸,广告与产品内容靠可见的产品动作和受控编舞而非表情夸张。

装段与接缝

  • Segment 是执行容器,不是剧情节拍。分段数最少优先:除尾部余量组合外,使用 create_video 工具 schema 中 durationSeconds 最大允许值;尾部用最少数量的允许时长精确补齐。
  • 时空切换不是缩短 Segment 的理由,应写为同一提示词内部的镜头切换。不得把未完成动作切到两次独立生成。
  • 多段结果中,非首段必须写 [入口状态],非末段必须写 [出口状态];两者逐项对齐人物落位、朝向、视线、道具、环境、已完成节拍和持续声音。
  • 逐对检查相邻 Segment:前段末镜头与后段首镜头必须有真实可见的景别变化,而且时间继续前进。只换角度、只改景别名称或重拍前段落点都不合格。
  • 跨段不宣称帧级无缝插值。保持身份、服装、道具状态、空间锚点、光线与声音相容,同时让两个独立画面自然可剪。

参考素材

  • 视频模型由设置固定,不填写 model;根据当前 create_video 工具 schema 描述的 supportedInputModes 组织参考素材。输入模式由服务端从 reference 角色推导,不额外提交模式字段。不支持的模式不得提交,也不得自动降级。
  • text_to_video 不传媒体参考;first_frame 恰好传一张 role=first_frame 图片;first_last_frame 恰好传一张 role=first_frame 和一张 role=last_frame 图片;reference 使用 role=reference_imagereference_audioreference_video,并遵守工具描述的各通道数量与总文件数上限。
  • 按当前工具的 options 填写未固定参数;固定分辨率、生成音频开关由服务端取配置,不在 item 中重复填写。工具没有 options 时省略它。
  • 帧模式与参考模式互斥。普通参考图永远不是首帧;只有创意明确要求画面从该图开始运动时才使用 first_frame。末帧不能单独存在。
  • 图片、声音和视频各自按传入顺序独立编号。中文提示词使用 @图片N / @音频N / @视频N,英文使用 @Image N / @Audio N / @Video N;不要混写双重编号。
  • [参考] 中每个引用用一句话声明唯一主要用途,例如角色身份、场景结构、关键道具、锁定音色或参考运动。每个 item 的 references 只列当前 Segment 实际使用的 ready Resource,精确复制 resourceIdcontentVersionrolechannel,并按 Prompt 中各媒体的使用顺序排列。内部位置由服务端生成;路径不是 Resource 身份,不得提交。
  • 不传无关素材,不从文件名、近似名称或描述猜身份,不让参考图的偶然构图、姿态、光线或噪点代替本段导演判断。
  • reference_audio 是视频模型的内容条件,不是 generateAudio 开关,也不是后期背景音乐;当 referenceAudioRequiresVisual=true 时,必须同时提供至少一个 reference_imagereference_video。同时遵守工具声明的单条最小时长和全部参考音频总时长上限;多角色时使用满足音色生成要求且实际时长符合视频上限的样本,不得把每个角色的完整台词都当参考音频。过长时停止提交并说明能力不匹配,不自动截取或忽略音色。reference_video 是运动/内容条件,只在 maxReferenceVideos > 0 时使用。

对白与声音

  • 台词格式为 角色名(≤3 个声音质感词):{逐字台词}。说话人必须出镜或被明确设置为画外来源,口型与自然语速匹配,句子必须在所在时间块结束前说完。
  • 绑定音色只定义固有声音身份,忽略试听文字。台词指令同时引用角色图片和其声音编号,不同角色不得串音。
  • 每个时间块只写当前可听到的对白、动作声与环境声,使用具体质感词;不写 BGM,不把同一声音在每个镜头重新触发。
  • 主动判断声音关系:同期发生、先于来源画面出现、跨镜持续、画外说话者后续揭示,或无需特殊关系。需要时写清开始、持续、减弱或停止的时刻与来源。

最终提示词格式

每个 Segment 使用以下顺序。省略不适用行,但不得省略适用事实:

[风格] 题材 + 已确认视觉政策 + 2–3 个材质/光线关键词
[时长] N 秒
[参考] @图片1——明确用途;@音频1——明确用途;@视频1——明确用途
[入口状态] 非首段必写:承接上段出口,并说明已完成节拍
[场景] 地点、时间、光线、空气与关键空间锚点
[00:00–00:0X] 镜头1:景别 + 机位 + 主体落位 | 一种主要运镜
画面:入口状态 → 一个核心节拍 → 可见落点
表演:可见表情、身体反应、朝向与世内视线目标
台词:角色名(质感词):{逐字台词}
声音:<同步声音与必要的跨镜关系>
[00:0X–00:0Y] 镜头2:……
[出口状态] 非末段必写:最后一帧人物/道具/环境/声音的可继承状态
[收尾] 末段必写:最终可见结局,不增加剧本外尾声
[整体声音] 只写贯穿或跨镜变化,不重复逐拍声音
[约束] 固定约束句

格式纪律:

  • 重要信息前置;每个时间块最多数句,短而具体。
  • 一镜一种主要运镜,一个时间块一个核心节拍;复杂动作拆成向前推进的连续节拍。
  • 非首段从“下一个节拍”开始,不重述或重演 [入口状态] 中已经完成的内容。
  • [收尾] 是剧本结局的最后可见状态,不是额外定格动作;少量尾部执行余量只能停驻在这个既有落点。
  • 含人物的提示词固定写入:人物视线落在场景内明确对象上,不与镜头交汇。 明确打破第四面墙的内容除外。
  • 含两个以上镜头的提示词固定写入:镜头之间禁止叠化、交叉溶解、淡入和淡出;前后画面不得透明重叠。
  • 固定写入:不生成字幕、标题、水印、拼贴、分屏或额外人物。

输出前检查

  • 内容、对白、屏幕文字和结局是否完全来自来源,固定总时长是否精确?
  • 是否先建立整片时间线,再设计镜头,最后装段?
  • 每个镜头是否有新节拍、可见入口和落点,时间是否从不回退?
  • 人物镜头是否写清景别、机位、落位、朝向、视线与一种主要运镜?
  • 表演是否全部为可见物理事实、无情绪形容词与内心解释?重大反应是否分层推进、每镜头一层?
  • 每对跨段接缝是否同时满足景别变化、时间前进和状态对齐?
  • 图片/声音编号、用途和 references 是否精确且只包含实际使用素材?
  • 对白是否逐字、自然说完、音色不串;声音是否只触发一次并按需要延续?
  • 创意转场是否真的必要,且没有叠化、透明混合或主体变形?
  • 最终 Prompt 是否只含视频模型需要执行的画面与声音,没有内部分析或平行过程字段?

边界

本 Skill 负责视频导演方法、最终提示词,以及按当前工具 schema 为每段填写创作参数;模型由系统配置决定。能力事实只读取当前工具声明;项目画幅由服务端项目配置唯一决定,不作为生成 item 或 Prompt 参数重复提交。video_generation_batch 的结构由运行时提供的机器 Schema 定义,模型相关取值由当前工具约束;Resource 身份校验、Provider 执行、计费、Task 与合成由系统负责。

Version History

  • 6cbbe22 Current 2026-09-08 21:17

Same Skill Collection

src/lib/creative-skills/skills/asset-development/SKILL.md
src/lib/creative-skills/skills/creative-core/SKILL.md
src/lib/creative-skills/skills/creative-direction/SKILL.md
src/lib/creative-skills/skills/music-direction/SKILL.md
src/lib/creative-skills/skills/script-development/SKILL.md

Metadata

Files
0
Version
6cbbe22
Hash
dc8c6a1d
Indexed
2026-09-08 21:17

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-09 20:41
浙ICP备14020137号-1 $Map of visitor$