从客户一句话需求到交付成片的完整闭环。
先理解世界观,再碰工具。
这套体系里有大量缩写和专有名词。读正文之前先扫一遍这张表——遇到不认识的词随时点导航栏「术语表」回来查。
没找到的术语?在 video-prompt-tuner 的 references/ 目录或 ai-video-assembly 的 _meta/glossary.yaml 里查; 新人遇到没解释的缩写,请反馈给培训人加入本表。
AI视频的施工管理规范——有蓝图、有工序、有验收门、有变更控制。它不写prompt(那是tuner的活),它管"做什么、什么顺序做、什么时候该回头"。
企业宣传片、品牌形象片、创意短片、IP动画。全程不需要Premiere/Final Cut,只要ffmpeg + Pillow + 视频生成API。引擎无关。
不能替代审美判断、不能100%保证一致性、不做实拍混剪。当前天花板:道具跨帧崩溃、运动保守、运镜默认平视。
先理解四条设计信念再碰工具。信念对了不看文件也知道下一步干什么;信念不对看完107个文件还是转圈。
从大家实际踩过的坑开始——"你做AI视频踩过最深的坑是什么?"
第三镜才发现第一镜的风格和客户调性不一致,前面全白做。改第三镜又影响第四镜,越改越远。
根因:manifest里的style_id没有三梯队锁定,下游每一镜都在"重新诠释"风格。
每镜单看不错,拼在一起色温跳、人物变脸、光线方向矛盾。AI视频跨镜色温天然不一致——这是引擎物理特性。
根因:没有"风格SSOT"机制,六维度风格没有统一定义在一张style_card上。
prompt改了十几版还不对。不知道是prompt问题、首帧问题、引擎问题还是资产设定矛盾。改10轮越改越偏。
根因:没有"三步定位法"。应该先判断属于哪一段、是否段内可解、连续2轮无提升则跳出。
所有的七段流程、模板、脚本都是这四条信念的落地工具。
prompt是函数调用,资产卡是类定义。发现第5镜角色衣服颜色变了?修character_card——修一处全片跟着动。
三层世界观结构:
| 层级 | 内容 | prompt占比 | 特征 |
|---|---|---|---|
| L1 基础设定 | 角色/场景/规则 | 20-30% | 全片不变 |
| L2 氛围画质 | 视觉宪法 | 10-15% | 全片统一 |
| L3 画面内容 | 每镜独有内容 | 55-70% | 每镜不同 |
大多数人把100%精力放在L3,但L1+L2才是一致性的基座。prompt_assemble.py自动注入L1+L2,用户只需手写L3。
纯文本prompt对风格控制力近乎为零(实测5镜分布在3个完全不同风格)。必须挂3-4张多图参考——视觉条件的贡献比文本高一个数量级。
从弱到强:① prompt文本约束 → ② 风格词锚定 → ③ 设备词锚定 → ④ 参考图输入 → ⑤ I2V首帧锁定 → ⑥ 引擎内置身份锁 → ⑦ 多帧联合生成。不需要全部用上,根据项目需求选合适的档位。
style_anchor只能是纯风景/无主角的帧。含特定角色的剧照会导致角色特征泄漏到全片所有镜头。实测教训:参考图里一个红蝴蝶结,全片滑翔翼变伞形。
"shot on ARRI Alexa LF"必须放L2层开头独立声明。混入L3叙事段落会被模型渲染为画面内文字——真有项目出过画面底部赫然出现相机型号字样。
微服务架构的API契约思想——段一输出就是段二的接口文档,字段类型、必填项、验收条件白纸黑字。
| 梯队 | 数量 | 特征 | 改动代价 |
|---|---|---|---|
| Tier 1 硬约束 | 11项 | 画幅/引擎/风格ID/人设锚点… | 改 = 全片重做 |
| Tier 2 平台设备 | 11项 | 分辨率/音频策略/字幕策略… | 改 = 返工该段 |
| Tier 3 迭代约束 | 5项 | seed策略/迭代轮次/CU预算… | 可迭代调整 |
三步起草:填表 → 用户书面确认 → 下游lint验证全绿才进段二。locked后下游需改 → 强制回退到段一。
"我已经有prompt了,直接从段四开始吧"——最常见反模式。跳段可以,但必须先检查上游模板是否已有对应产出物。缺了就补最小骨架再进新段,否则段六交付时无基线可回。
在写剧本之前对创意做"引擎适配体检"——角色面部/动作复杂度/场景数量/文字UI/口型对白/时间跨度。核心哲学叫"短板变美学":LED屏脸规避人脸一致性(Daft Punk风格);鸵鸟替代人类规避精细五官;丧尸本该丑容错天然高。
段三→段四之间有一道关卡,不是抽完卡再发现首帧不对:
四步全过才能进段四。跳过此门的后果——风信子项目实测:17/25镜翻车。
段三末尾做低成本Animatic预览:静帧拼接+时间轴标注,10分钟出结构预览。确认节奏和叙事弧线对了再投入段四正式生成。避免"方向错了还在精修细节"。
连续2轮无提升不是"再试一次"的信号,是换工具的信号:换引擎(HH→Wan2.7)/ 换范式(T2V→I2V→R2V)/ 改分镜设计 / 告知客户"AI现在做不了"。大多数人在这里多花3-5轮无效迭代。
不是写感悟,是改规则。复盘后形成至少1条可写回references的规则——这是段七的验收门。如果三个项目下来references没有新增一条规则,说明复盘流于形式。
七段里段三、段四、段五决策密度最高、最容易翻车——本章节深挖这三段的方法论:
段一、段二、段六、段七的"输入→产出→甜区→坑"已经在 04 章节逐段配齐——它们决定项目方向但操作密度低,按表对照即可,不需要在本章再展开方法论。
assembly 管"全片怎么编排",tuner 管"单镜 prompt 怎么写好"。两个 skill 在段三交汇——分镜表排好了,每一镜的 prompt 由 tuner 生成。
关键认知:prompt 不是从零写起。在 assembly 管线内,prompt 继承世界观的 L1+L2(由 prompt_assemble.py 自动注入),tuner 只写 L3(本镜画面内容)。
这是 tuner 的脊柱——所有维度、体检表、自检都是它的具象化:
| 层级 | 内涵 | 典型崩法 | 载体强度 |
|---|---|---|---|
| L1 静态属性 per-frame | 身份/外观/构图/配色/光影/道具/镜头几何 | 角色变脸、黑白衣互换、巨人变侏儒 | 首帧图(I2V)最强 文本(T2V)最弱 |
| L2 动态属性 across-frame | 动作起止/轨迹/幅度/接触面/速度曲线 | 翻身变倒立、五指轻叩变怪异手势 | 源视频(V2V)最强 视频文本看范式 |
| L3 语义因果 | 物理拟真/常识/叙事目的性/情绪连贯 | 翻身又回床上、起身太从容(该惊吓) | 模型先验+文本提示 |
载体强度光谱——同一个"L1身份要锁住"的需求,用不同载体效果天差地别:
写一条prompt时按这个顺序过脑子——先物理,再工程,最后横切层:
| # | 维度 | 核心律 | 最常见错误 |
|---|---|---|---|
| 1 | 机位 | 四件套(景别+角度+高度+运镜)独立成块,缺一不得送抽卡 | 只写景别没写角度和高度→全片平视中景 |
| 2 | 空间 | 前/中/后景分层 + 选锚物 + 跨镜锚定声明 | 多角色位置靠"大概描述"→每帧随机站位 |
| 3 | 光照与风格 | 光源/方向/质感/色温四要素缺一不可 | "cinematic lighting"=等于没写 |
| 4 | 动作 | 写起止状态,一镜一动作,手指级放弃转大肌肉群 | 一镜堆5个动作→模型选择性执行或全静止 |
| 5 | 抽卡 | 探索期随机seed → 早筛三关 → 锁定期固定seed | 一直随机seed没锁定→好效果复现不了 |
| 6 | 多视角 | 跨视角一致靠多图参考表 + 先查有没有这个角度 | 选了参考表没覆盖的角度→身份崩溃 |
| 7 | 人物刻画 | 真实感靠可见细节不靠标签 | "一位老人"远不如"五十多岁、眼角皱纹、花白鬓角" |
| 8 | 表演工程 | 情绪时间隔离 / 视线锚定 / 因果链prompt | 情绪靠抽象词"悲伤地"→AI不知道怎么表现 |
| 9 | 音频 | 音频是显式维度,L1层声明声音规则 | 忽略音频→AI随机脑补不相关的声音 |
| 10 | 句法规范 | 命令式/陈述式,禁10类不确定词 | "可能在走路"→遵从率比"walks forward"低40-60% |
把前面讲的"信念一资产工程是底层"落到技术操作上:
用户只需要写L3(55-70%的内容),但这55-70%决定了"这一镜画什么"。前面的20-30%(L1)+10-15%(L2)由系统从资产卡自动继承——这就是"资产工程是底层"的技术兑现。
镜头意图:"茶农老张蹲在茶园里,阳光透过茶树,他抬头微笑看向远方"
A old Chinese farmer might be squatting in a beautiful tea garden with cinematic lighting and film grain. He seems to look into the distance with a warm smile. The atmosphere should feel peaceful and maybe nostalgic. Shot in a professional way.
问题:might/seems/should/maybe=4个不确定词;cinematic lighting=抽象词;film grain=会变噪点;无机位四件套;无空间分层;无光源方向
[机位] Medium shot, low angle (15° upward), camera at knee height, static.
[空间] Foreground: tea bushes at waist height. Midground: a 55-year-old Chinese man with sun-weathered skin and deep smile lines, squatting between rows. Background: rolling green hills dissolving into morning mist.
[光照] Golden hour back-rim light from upper-left, soft diffused fill from overcast sky, warm 4500K.
[动作] He lifts his chin 20° upward over 2 seconds, lips part into a slight smile revealing crow's feet deepening.
[设备词] Shot on ARRI Alexa Mini LF, Cooke S7i 50mm T2.0, shallow depth of field.
全命令式 / 机位四件套完整 / 光照四要素 / 动作有起止+幅度+时长 / 设备词L2独立 / 无抽象词
模型不做语义翻译。"如诗如画的晨雾"→"white translucent fog layer at 1.5m height, visibility 30m"。业务概念转译不是删除("复利增长"→"树木从幼苗到大树的延时")。
"意境/高级感/氛围感/质感"→翻译成可见的光影色调动作。"高级感"到底是什么?是冷色调+低饱和度+大面积留白+慢运动。写后者。
"两人比例正常""构图要平衡""画面干净"——模型不执行这种约束。要从描述结构控制:声明空间分层、给出具体尺寸/距离、用negative排除。
没有这一节,人会无限改prompt。这节告诉你什么时候停手换策略。
| 档位 | 内容 | 行动 |
|---|---|---|
| 确定不行 | 手指精细动作 / 中文Logo像素还原 / UI界面数字图表 / 过渡态首帧 | 直接放弃,后期Pillow叠加或换方案 |
| 吃运气 | 近景脸跨镜身份(<60%) / 暗光相近色(<70%) / 长prompt后段(<50%) / 多角色≥3人 | 加抽卡预算,3-4 takes起步 |
| 能力甜区 | 中远景人物 / 单动作 / 明确光照 / 环境氛围 / 物体质感 | 正常流程,2 takes足够 |
换策略时机:1-3版调文字 → 4-5版换机位/景别 → 6版+换工具/范式。连续3版同一种问题没解决 → 强制换策略,不要第7版还在改同一个词。
看到崩case第一件事——三步定位:
Q1 崩在哪一层?→ L1(身份/构图) / L2(动作/轨迹) / L3(物理/叙事)
Q2 我用的是哪种范式?→ T2V / I2V / R2V / V2V
Q3 这一层在这个范式下,本应被哪个载体焊死?→ 回那个载体去改
铁律:用错关就是用错药。L2的崩(动作跑偏)拿到L1(出图)去改首帧,改到死也没用——应该改视频prompt的动作描述。
最常见的反模式:跳到§3写词时不读§0.5 → 长度堆砌(200字I2V塞了500字) / 比喻泛滥("如梦似幻的") / 审美词污染("高级感")。这三类问题占prompt失败案例的一半以上。§0.5全部覆盖,是真正的"写之前先读"。
风信子项目Phase A赛马,同prompt+同首帧,HappyHorse vs Wan2.7对比:
关键实证结论:两者共同弱点是camera指令遵循差(hand-held shake/dutch tilt均不执行)。用户选HH的理由:"温度感对吉卜力短片更核心"——非量化审美判断优先于0.05分数差距。
每个新prompt首次必须两个seed同跑:两好→锁定 / 两崩→改prompt / 一好一坏→第三seed。能区分系统性问题和随机性问题。
thinking模式VLM极度宽松——14/14镜可能全打满分。严格评分须:(1)逐条check-off "prompt说了X→视频是否兑现X" (2)不允许"animation style所以物理放宽"逃生通道。
80%的"生硬感"来自情绪/叙事/节奏断层而非技术过渡:
| 手段 | 顺滑度贡献 | 投入时机 |
|---|---|---|
| BGM | 60% | 最先做 |
| Sound Bridge | 20% | 段落口衔接 |
| Match Cut | 15% | 画面内容接力 |
| Dissolve/Whip等技巧 | 5% | 最后考虑 |
铁律:若全片未配BGM,禁止做per-cut xfade调优。
先用concat demuxer硬切拼接(10秒搞定)验证叙事弧线,确认OK后再做精剪:
prompt写"film grain"→引擎理解为"加颗粒状噪声"不是胶片美学。替代写法:ultra-clean sensor, no visible noise。已有素材降噪:nlmeans=s=10:p=7:r=5 + unsharp,降噪后码率下降18%。
前面讲了"流程长什么样"和"为什么这么设计",这一节是真正的施工蓝图——每一段的输入→任务→工具→产出→验收门→工时。开工时按这张表走,不会漏环节。
目标:把客户一句话需求 → 落到 27 字段可执行的 manifest。这一段决定后面 6 段的所有默认值。
| 环节 | 具体动作 | 工具/模板 | 产出物 |
|---|---|---|---|
| 输入 | 客户 brief(业务目标/受众/渠道/时长/红线)+ 品牌资产(Logo/VI/字体) | — | 会议纪要 |
| 1.1 选题 | 三档候选 → 与客户拍板一个(避免段三返工) | templates/topic_confirm.mdreferences/flow/topic_matrix.md | topic_confirm.md |
| 1.2 brief 转写 | 客户原话翻译为 SA 可执行项目简报 | templates/brief.md | brief.md |
| 1.3 AI 友好度评估 | 对选题做六维度红黄绿打分(人脸/动作/UI 文字/口型/时长/场景) | references/flow/ai_friendliness.md | ai_friendliness.md |
| 1.4 品牌学习 | 抽取品牌色/字体/调性/禁忌 → brand_profile.yaml | references/flow/brand_profile_example.md | brand_profile.yaml |
| 1.5 manifest 起草 | 27 字段三梯队全部填齐(Tier1 硬约束 11/Tier2 平台 11/Tier3 迭代 5) | templates/project-meta.mdreferences/flow/project-preparation.md | manifest.yaml |
| 1.6 引擎选型 | 从 AI 友好度+预算+客户偏好选主引擎+fallback | references/proxy/engine-routing.mdengine-cards | manifest.engine_id |
| 验收门 | 客户书面确认 + lint 全绿 → manifest.locked=true | 不通过禁进段二 | |
| 工时 | 单镜短片 0.5 天 / 30s 宣传片 1-2 天 / 复杂叙事片 3-5 天 | ||
28 档基线风格库(C/F/H/N/V/A 等系列)已经穷举了金融/科技/人文等行业的常用调性。新人 SA 想"我们做个独家风格"——大概率走 200 镜抽卡才稳。能用 28 库就用 28 库,确实必须自创时,至少要客户付返工预算的心理准备。
不要只给客户一个选题等他点头。三档备选+一档主推(含每档的 AI 友好度六维红黄绿)给客户。客户大多会同意主推,一旦不同意你也立刻知道偏离方向,不用第二次开会重提。
"先做着吧 Logo 后面补"——做到段五客户拿出 VI 你才发现品牌色完全不对,前面四段全废。没拿到 brand_profile.yaml 全部字段填齐前,manifest.locked 不准置 true。客户拖延就发邮件留痕,让对方知道是他在卡进度。
manifest.cu_budget 没填,段四抽卡按"先抽再说"思路开干,30 镜抽到第 12 镜发现 CU 烧完。段一必须算清三档 CU 预算(基线/中位/上限),按上限的 80% 触发预警、100% 强制砍镜或回段一谈钱。
目标:把 manifest 的抽象描述 → 实体化为可被 prompt_assemble.py 调用的资产卡。这一段决定全片一致性的上限。
| 环节 | 具体动作 | 工具/模板 | 产出物 |
|---|---|---|---|
| 输入 | manifest.yaml + brand_profile.yaml + 客户提供的 Logo/参考图 | — | — |
| 2.1 世界观三层 | 声明 L1 基础设定 / L2 氛围画质 / L3 画面内容的边界 | references/flow/world-building.md | world.yaml |
| 2.2 角色卡 | 9 层字段(身份/外观/服装/视觉 anchor/性格 anchor/年代/语言/职业/禁忌) | templates/character_card.md | character_card.md(每角色一份) |
| 2.3 场景卡 | 地点/时段/天气/室内外/空间布局/光源方向 | templates/scene_card.md | scene_card.md(每场景一份) |
| 2.4 风格卡(SSOT) | 六维度:色温/饱和度/对比度/颗粒/设备词/参考图风格 | templates/style_card.mdreferences/proxy/style-library.md | style_card.md(全片仅一份) |
| 2.5 道具卡 | 跨镜复用道具的形态/材质/标志性特征 | templates/props_card.md | props_card.md |
| 2.6 资产命名 | 按 {地点}_{景别}_{时间}_{状态} 规则命名所有资产文件 | references/flow/asset-naming.md | 资产目录树 |
| 2.7 资产包打包 | asset-package.md 索引全部资产 + 依赖图 | templates/asset-package.md | asset-package.md |
| 验收门 | 所有资产卡填齐 + 跨镜一致性 lint 通过 + 视觉 anchor 已生成 | 缺一项禁进段三 | |
| 工时 | 单角色单场景 2-4 小时 / 多角色多场景 1-2 天 / 复杂世界观 3-5 天 | ||
style_card 全片只有一份、character_card 每角色只有一份。下游 prompt 永远从卡里读,不在 prompt 里重新描述风格/角色外观。改风格只动 style_card 一处,全片色调跟着动;这是"风格不漂移"的工程兑现。
HH 引擎本身没有独立 image 模型,让它"自己生首帧"=每镜首帧风格抖动。固定走 wan2.7-image-pro 生首帧 → 喂给 HH/Wan2.7 做 i2v,跨镜一致性立刻提升 20-30%。这是段二的"小动作大收益"。
有人想"客户 PPT 里有 Logo,OCR 一下抠出来用作首帧锚物"——抠出来的 Logo 永远是有损的(边缘锯齿/底色残留),AI 复现率更低。所有 Logo/UI 文字一律段五 Pillow 后期叠加,绝不进资产卡进首帧。
9 层字段(身份/外观/服装/视觉 anchor/性格 anchor/年代/语言/职业/禁忌)写到第 4 层就结束 ="差不多吧"。结果就是镜镜变脸——AI 在缺失的字段里自由发挥。lint 卡死必须 9 层字段全填,能写"无"也得写,不准空。
目标:把世界观 → 落到逐镜可送抽卡的 prompt。这一段是 assembly 和 tuner 的交汇点。
| 环节 | 具体动作 | 工具/模板 | 产出物 |
|---|---|---|---|
| 输入 | asset-package.md + 客户旁白文稿(如有) | — | — |
| 3.1 叙事策略 | 五种叙事策略选一(线性/平行/倒叙/蒙太奇/意识流) | references/flow/single-shot-creation.md | 叙事大纲 |
| 3.2 分镜表 | 逐镜:景别/构图/运镜/画面内容/时长/音频意图 | templates/storyboard.mdreferences/flow/shot-design.md | storyboard.md |
| 3.2b 情绪→机位映射 | 每镜按情绪反查机位四件套(景别+角度+高度+运镜) | references/flow/emotion-to-camera.md | storyboard 加 camera 列 |
| 3.3 首帧生成 | 用 wan2.7-image / flux 生成每镜首帧 + 多图参考 | qianwen-image-generation skill | S01_first_frame.png 等 |
| 3.4 调用 tuner 写 prompt | prompt_assemble.py 注入 L1+L2 → tuner 写 L3 | scripts/prompt_assemble.pyvideo-prompt-tuner skill | production-order.md(逐镜 prompt) |
| 3.5 Animatic 预览 | 首帧拼接+时间轴标注,10 分钟出结构预览 | scripts/animatic.py | animatic_v1.mp4 |
| 验收门(Murch Pre-Edit Gate) | Animatic 确认叙事弧线 OK + prompt lint 通过 | 叙事不对禁送抽卡 | |
| 工时 | 5 镜 0.5-1 天 / 15 镜 1-2 天 / 30 镜 3-5 天 | ||
逐镜首帧拼成动态分镜,加旁白草稿 + 时间戳,10 分钟出预览。给客户先看 Animatic 而非成片——节奏问题在静帧阶段就能发现并改,到段四再发现要全部重抽。"Murch Pre-Edit Gate"是段三→段四唯一的强制门。
不要"想好画面再写机位",而是先定每镜情绪(紧张/松弛/敬畏/亲密),从 emotion-to-camera 反查机位四件套。同样"客户开心",远景仰拍是英雄叙事、近景平视是平等对话——情绪先行才不会画面"漂亮但没情绪"。
tuner 只该写 L3。但有人怕模型不听,把 character_card 的外观、style_card 的色调全部 copy 进 prompt,结果 200 字的 i2v 被塞了 500 字,长 prompt 后段遵循率掉到 50% 以下。L1+L2 由 prompt_assemble.py 自动注入,tuner 严格只补 L3。
"他走过来,转身,抬手敬礼,露出微笑,然后看向远方"——AI 会选择性执行 1-2 个,剩下的全静止或乱动。一镜一动作铁律,多动作必须拆镜。镜数加 1 比抽卡重抽 5 次便宜得多。
目标:把 prompt → 实际视频片段。这一段是 CU 消耗大头,也是最容易翻车的环节。
| 环节 | 具体动作 | 工具/模板 | 产出物 |
|---|---|---|---|
| 输入 | production-order.md + 首帧图 + manifest.engine_id | — | — |
| 4.1 早筛三关 | 人工 10 秒过:首帧是否符合预期 / 资产卡是否一致 / 机位是否完整 | references/flow/fast-fail.md | 通过/否决标记 |
| 4.2 Fast-Fail 自检 | 六维度+prop_identity 自动评分,<80% 禁进抽卡 | scripts/fast_fail_check.py | fast_fail_report.json |
| 4.3 identity_match | 跨镜身份一致性对比(vs 角色 anchor) | scripts/identity_match.py | identity_match.json |
| 4.4 batch 抽卡 | 静态镜 2 takes / 动态镜 3 takes / 高难度镜 4-6 takes | qianwen-video-generation skillscripts/hh_utils.py | runs/<shot>/<seed>/*.mp4 |
| 4.5 batch_qc 热力图 | N×5 维度热力图 + REPORT.md | scripts/batch_first_frame_qc.py | qc_grid.png + REPORT.md |
| 4.6 候选片选优 | P0+P1 评估,≥4.5 分进选片池 | scripts/candidate_select.pyreferences/flow/candidate-selection.md | footage-index.md |
| 4.7 赛马(可选) | 项目级多引擎横评 12+1 维评分卡 | references/flow/horse-race-scorecard.md | scorecard.jsonl |
| 验收门 | 每镜至少一条 P0 选片 + 跨镜 identity ≥4.0 + 段四 4.5 P0+P1 | 缺镜禁进段五 | |
| 工时 | 单镜 5-15 分钟(含等待)/ 15 镜整批 4-8 小时 / 30 镜整批 1-2 天 | ||
看到崩 case 不要直接改 prompt。先定崩在哪一层(L1/L2/L3)→ 用的什么范式(T2V/I2V/R2V/V2V)→ 这层在该范式下应该被哪个载体焊死,回那个载体去改。L2 动作崩拿 L1 首帧改,改到死也没用。这一条节省 30%+ 抽卡量。
没有这条人会无限改 prompt。设硬上限:同一镜连续 2 轮(各 2 takes)无明显提升,立刻跳出——换机位/换景别/换范式/拆镜,不在第 7 版还在改同一个词。这是 v7 体系最值钱的"放弃律"。
"看着差不多就够了,赶紧拼"——风信子项目原话。结果 17/25 镜段五才发现身份漂移,回段三全部重抽。早筛三关(10s 人工)→ fast_fail(自动 5 维)→ identity_match(≥80%)→ batch_qc(N×5 热力图),任何一步不达标禁进段五,这是硬纪律不是建议。
探索期可以随机 seed,但找到一条好结果立刻锁 seed 写进日志。不锁的话明天客户说"这镜再小改一下"——你抽 50 次也复现不了昨天的画面。candidate_select.py 选片时同时记录 seed+prompt 哈希,是复盘必备。
目标:把零散素材 → 成片。这一段决定"拼贴感"还是"电影感"。
| 环节 | 具体动作 | 工具/模板 | 产出物 |
|---|---|---|---|
| 输入 | footage-index.md(选优后的素材)+ 旁白文稿 + BGM 简报 | — | — |
| 5.1 时间线粗剪 | concat demuxer 硬切拼接,10 秒出粗剪验证叙事 | scripts/segment_utils.py | rough_cut.mp4 |
| 5.2 转场决策 | Murch 六准则评分 → 选 hardcut / xfade / match cut / 音桥 | references/flow/transition-design.md | 转场清单 |
| 5.3 音频三轨 | BGM 25% + 旁白 100% + 环境音 12%;旁白 acompressor / BGM afade | scripts/audio_mix.pyscripts/tts_cosyvoice.pyscripts/bgm_synth.py | audio_mix.wav |
| 5.4 xfade 精拼 | 每路 setpts=PTS-STARTPTS 防漂移,offset 计算严格 | scripts/xfade_assembly.py | fine_cut.mp4 |
| 5.5 调色 | C-COLOR 验收硬约束,LUT 应用 | scripts/palette_tools.pyreferences/flow/color-grading.md | graded.mp4 |
| 5.6 字幕/Logo 叠加 | Pillow 渲染(避开 ffmpeg drawtext)→ overlay | scripts/subtitle_overlay.py | final_with_text.mp4 |
| 5.7 发布合规 | 免责卡 / AI 水印 / BGM 署名 | references/flow/publishing-compliance.md | compliance_overlay.mp4 |
| 验收门 | Murch 六准则评分 ≥80% + 三轨混音电平合规 + 字幕零错位 | 不通过禁进段六 | |
| 工时 | 15s 短片 2-4 小时 / 30s 宣传片 1 天 / 复杂叙事片 2-3 天 | ||
concat demuxer 硬切 10 秒出粗剪,先验证叙事弧线对不对。叙事不对,xfade 调到天花板也救不回来;叙事对了,硬切都可看。BGM 上来后再回头精修转场——80% 的"生硬感"靠 BGM 解决,不是靠 xfade。
所有 UI 文字、Logo、数字、字幕——一律 Pillow 渲染后 ffmpeg overlay,绝不用 ffmpeg drawtext,更绝不让 AI 生成。Pillow 文字像素级精确、可任意字体、零乱码;drawtext 中文字体配置麻烦+渲染粗糙;AI 生成的文字几乎必乱。这是金融片合规底线。
xfade 多路素材帧率/起始 PTS 不一致时直接拼,画面会跳秒、音画不同步。每路输入先 setpts=PTS-STARTPTS 归零,offset 按累计时长严格计算,否则 30s 片到第 20s 开始漂移。xfade_assembly.py 已封装这套逻辑,别绕过它手搓。
三轨混音直接 amix=normalize=1,会按峰值自动归一化,结果 BGM 高潮段把旁白整段压没。正确做法:normalize=0,旁白前置 acompressor 压缩动态、BGM 用 sidechain 在旁白处自动让位。模板都在 audio_mix.py 里,照搬。
目标:成片 → 多版本交付包 + 客户审片通过。
| 环节 | 具体动作 | 工具/模板 | 产出物 |
|---|---|---|---|
| 输入 | final_with_text.mp4 + manifest.delivery_spec | — | — |
| 6.1 自动 QC 12 项 | 分辨率/帧率/码率/音频电平/字幕同步/黑边/穿帮… | scripts/qc_video.pyreferences/qc/qc-checklist.md | qc_report.json |
| 6.2 评分卡(12 维) | VLM 调用 video_analyze.py 打分,<4 项需复检 | scripts/video_analyze.pytemplates/criteria.md | criteria_scorecard.md |
| 6.3 Murch 审片 | 情绪/叙事/节奏/视线/二维空间/三维空间六维度人工审 | references/qc/acceptance-delivery.md | murch_review.md |
| 6.4 多版本适配 | 完整版/精华版/短视频版(9:16)/无声版 | scripts/multi_version.pyreferences/qc/multi-version.md | versions/*.mp4 |
| 6.5 交付包打包 | 成片 + 源工程 + 资产卡 + 评分报告 + 复盘卡 | templates/delivery-package.mdtemplates/master-package.md | delivery.zip |
| 6.6 客户审片 | 提交审片 → 收集反馈 → 决定是否回段三/段五迭代 | — | 客户书面确认 |
| 验收门 | 自动 QC 全绿 + 评分卡均分 ≥4.0 + 客户书面确认 | 不通过禁结项 | |
| 工时 | 单版本 1-2 小时 / 多版本 3-6 小时 / 含客户反馈轮 1-3 天 | ||
不要让客户随便提反馈。给客户一份 12 维评分卡的"已自评结果"+ P0/P1 分级反馈表,让他在 P0=必改、P1=建议改、P2=可选 三档里选。客户会聚焦在叙事/合规这种真问题,而不是"这朵花颜色再红一点"——同样审片,反馈量减半,改片轮次从 3 轮压到 1 轮。
客户接到成片往往会临时要"再切一个 9:16 抖音版"——临时切=临时返工。段六初次交付就把完整版/精华版/9:16 短视频版/无声版 4 个常用版本一起出,multi_version.py 一键打包,多花 2 小时省后面 3 天。
客户拿到完整版第一反应是逐镜挑刺——3 分钟片能挑出 50 个改点,越细越偏离方向。正确节奏:段三 Animatic 卡叙事 → 段五粗剪卡节奏 → 段六成片只对照已确认的两个里程碑做最终签字。三关分批审,比一次砸完节省 60% 沟通成本。
"客户说要明天用,今天交吧"——结果客户当晚提 8 条改动,你熬通宵改完第二天发现客户领导又改方向。合同里写明审片反馈 24h 窗口,超时视为通过。这一条让客户内部对齐先于你动手,否则改片轮次失控。
目标:把项目踩的坑 → 写回 references / MEMORY,让下个项目自动继承。
| 环节 | 具体动作 | 工具/模板 | 产出物 |
|---|---|---|---|
| 输入 | delivery.zip + 客户反馈 + 段四/段五的失败记录 | — | — |
| 7.1 段级复盘 | 逐段统计:CU 消耗 / 迭代次数 / 失败模式 / 翻车镜 | references/flow/retro-protocol.md | 段级数据表 |
| 7.2 项目级复盘 | "当时我以为…直到看清…"叙事 → 根因 → 改进规则 | templates/retrospective.md | retrospective.md |
| 7.3 经验回写 | 新规则写入 references/flow/* 或 references/proxy/* 或 90-badcase-vault/ | references/flow/iteration-loop.md | references 增量 commit |
| 7.4 模式识别(每 3 项目) | 跨项目规律 → MEMORY.md(个人)/ 团队 wiki | memory tool | MEMORY.md 增量 |
| 7.5 投后数据闭环(可选) | 客户投放数据 → 反推哪些设计决策有效 | — | data_feedback.md |
| 验收门 | 至少 1 条可写回 references 的规则(否则复盘流于形式) | 软门 · 自律 | |
| 工时 | 单项目复盘 2-4 小时 / 每 3 项目模式识别 0.5-1 天 | ||
不要等"有空再复盘"。段七强制产出三件套:① 数据回写库(CU 实际/计划、迭代次数、翻车镜清单)② 分镜复盘(每镜 1-2 句"做对了什么/做错了什么")③ 模型偏好刷新(哪个引擎在哪类镜头表现)。每个项目固定 2-4 小时,半年后形成的"私人模型偏好库"是西区 SA 团队的真实护城河。
单项目复盘只能发现"这个项目的偶然问题",模式只在跨项目里浮现。每完成 3 个项目花半天做一次跨项目对比,把出现 ≥2 次的现象提炼为新规则写进 references/flow 或 references/proxy。这一步把个人经验变成团队资产,新人入职第一天就能继承。
大家天然只盯着翻车的镜头复盘,结果好实践(哪个 prompt 写法一次过、哪种首帧选型百发百中)就这么流失了。复盘表必须并列两栏:失败模式 + 成功公式,把成功公式抽象成 references/flow/cookbook.md 里的"招式卡"。下个项目能直接套招。
很多 SA 复盘写完发到群里说"分享一下"——一周后没人记得。复盘的产物必须落到三个地方之一:references/flow/* 或 references/proxy/* 或 90-badcase-vault/,git commit 留痕。下次启动新项目 AGENTS.md 自动加载这些规则——没写回的复盘对未来等于不存在。
创作模式(重审美/慢)/ 工程模式(重一致/快)/ 顾问模式(只给方案不下手)。在段一 manifest 锁定,影响七段所有决策密度。
参考:references/flow/mode-routing.md
六维度(身份/空间/光照/时序/风格/品牌)跨七段持续校验。任何一段引入的变化都必须回查前段是否冲突。
参考:references/proxy/consistency-management.md
CU 实时累计 vs manifest.cu_budget。≥80% 触发预警,≥100% 强制回段一调整预算或砍镜。
参考:references/proxy/sampling-economics.md
下游发现需改 manifest → 强制回退段一(判则 6),禁下游就地改。最常见回退点:段四发现风格不对 → 改 style_card 重做段二+段三。
参考:references/flow/iteration-loop.md
| 项目类型 | 镜数 | 段一 | 段二 | 段三 | 段四 | 段五 | 段六 | 段七 | 合计 |
|---|---|---|---|---|---|---|---|---|---|
| 极简短片(朋友圈) | 3-5 | 0.5d | 0.5d | 0.5d | 0.5d | 0.5d | 0.5d | 0.5d | 3-4d |
| 标准宣传片 | 8-15 | 1d | 1d | 1d | 1d | 1d | 1d | 0.5d | 6.5-7d |
| 复杂叙事片 | 20-30 | 2d | 2-3d | 3-5d | 2d | 2-3d | 1-2d | 1d | 13-18d |
| 多角色多场景大片 | 30+ | 3-5d | 5d+ | 5-7d | 3-5d | 3-5d | 2-3d | 1d | 22-31d |
基线假设:单人 SA、引擎正常、客户反馈周期 24h 内。任一假设失效(多人协作 / 引擎不稳 / 客户拖审)工时翻倍。
"我接了客户项目,开工前需要找客户要什么?哪些系统自己能搞定?"
最常被遗漏的:品牌Logo。很多SA做到段五才发现客户还没给Logo,又等一周。开工时就要。
| 配置项 | 默认值 | 什么时候改 |
|---|---|---|
| 画幅比 | 16:9 | 抖音→9:16 / 朋友圈→1:1 |
| 分辨率 | 720P | 高品质→1080P / 大屏→4K |
| 帧率 | 24fps | 欧洲→25 / 体育游戏→60 |
| 风格ID | — | 28个baseline选(金融仅C1/F1/H1) |
| 引擎 | — | 能力匹配+成本+偏好 |
| 模式 | — | 创作/工程/顾问三选一 |
| 音频策略 | — | 纯BGM/旁白主导/环境音/对白/静音 |
| 时长 | — | 15s/30s/60s/自定义 |
| CU预算 | — | 镜数×单镜成本 |
一句话:SA核心决策集中在段一——画幅/风格/引擎/模式/预算/时长。选对这7个,后面六段默认值基本够用。
25镜吉卜力风格短片,完整走了七段流程+赛马+四步门禁。
Phase A 5镜赛马选片——用Contact Sheet一屏决策:
从首帧到成片的完整链路——style_card + character_card → prompt_assemble → I2V生成 → 选优:
同一镜S13——HappyHorse vs Wan2.7,感受"温度感 vs 指令遵循"的取舍:
赛马决策树:≥4镜同一引擎胜出→锁定。维度互胜→展示对比报告给用户拍板。用户选择优先于综合分(审美判断 > 0.05分数差距)。
装了skill不等于能出好片——同引擎同模型同预算下,成片差异来自镜头语言、节奏感、视觉一致性。
| 投入项 | 权重 | 说明 |
|---|---|---|
| 看片 | 40% | 电影语言一百年不变 |
| 拉片+镜头语言 | 25% | 景别/角度/运镜/节奏 |
| 美术基础 | 15% | 色彩/构图/光影 |
| AI工具熟练度 | 15% | 工具半年一换 |
| 追工具新闻 | 5% | ROI最低 |
达不到时有代偿手段:先排剪辑表再抽卡(代偿节奏感)、先剪音轨脊再挂画面(代偿音画感)、用Murch六准则打分表强制量化(代偿取舍力)。
14 人团队 80% 客户都是金融机构。金融行业有独特的合规约束、表达范式、审批节奏,单独成章。tuner 的 references/70-domain-financial.md 是完整 SSOT,本节是销售/项目层的提要。
禁止 AI 生成具体收益率/利率/费率数字(如"年化 4.5%")。任何数字必须客户法务文案过审后、用 Pillow 后期叠加。
实战教训:某项目 AI 生成"年化 5.8%",客户法务发现后整片重做。
禁止"保本""稳赚""高收益""稳健增长"等承诺式表达。slogan 必须提前法务审。
禁止 AI 生成监管标志、牌照号、机构代码。Logo/牌照号全部 Pillow 后期叠加,源文件由客户提供。
金融宣传严控人脸(怕被举报"AI 换脸诈骗")。优先:中远景人物 / 背面 / 局部(手/侧脸)/ 概念化形象(LED 头像/抽象造型)替代清晰特写。
AI 视频必须标注 AI 水印(隐藏/片尾/全程三选一,看客户合规要求)。涉及金融机构的"真实场景"不可 AI 编造,必须实拍或客户授权素材。
| 风格 ID | 调性 | 适用场景 | 禁用场景 |
|---|---|---|---|
| C1 商务写实 | 深空蓝 #0A1628 / 区域线 #1677FF / 金融科技橙 #F77834 | 对公业务/IPO 路演/科技形象 | 零售场景 |
| F1 莫兰迪低饱和 | 区域 #5C7A99 / 行业 #A87C5A / 米白底 #F5F4F0 | 财富管理/私行/高净值/家办 | 互联网金融/年轻化 |
| H1 高对比商务 | 深底+霓虹强调色,电影感 | 科技创新/数字化转型/未来感 | 传统业务/老年客群 |
禁用:吉卜力/赛博朋克/水墨/卡通/写意——金融客户对调性敏感度极高,跨界尝试基本被否。
| 抽象概念 | 错误做法 | 正确视觉隐喻 |
|---|---|---|
| 复利增长 | "显示复利增长" | 树木从幼苗到大树的延时镜头 |
| 资产配置 | "展示资产配置" | 调色师调色板的色块平衡 / 园艺师修剪不同植物 |
| 风险对冲 | "展示对冲" | 跷跷板平衡 / 双锚船只稳定 |
| 跨境支付 | "展示跨境" | 不同币种实物(人民币/美元/基普/泰铢)流转动画 / 港口集装箱装卸 |
| 财富传承 | "展示传承" | 三代人围坐 / 钥匙交接 / 老物件→新物件转场 |
| 普惠金融 | "展示普惠" | 多元客群剪影(茶农/小店主/外卖员/退休教师) |
| 数字化转型 | "展示数字化" | 实体业务流程逐步替换为屏幕界面/光线流动 |
铁律:金融概念翻译为可见的实物动作,不要给 AI"概念词"——它不会画"复利"。
| 客户类型 | 审批层级 | 审批周期 | SA 应对 |
|---|---|---|---|
| 国有大行 | 3-5 层(业务部门→品宣→合规→分管行长) | 2-4 周 | 段一就要 brief 全审一遍,避免段六返工 |
| 股份制银行 | 2-3 层 | 1-2 周 | 段三 Animatic 时再审一次 |
| 城商行/农商行 | 1-2 层 | 3-7 天 | 正常七段流程 |
| 互联网金融/Fintech | 1 层(业务/品牌总监) | 1-3 天 | 可快速迭代 |
| 券商/基金 | 2-3 层(含投教/合规) | 1-2 周 | 合规约束更严,slogan/数字提前法务 |
| 保险/资管 | 3-4 层 | 2-3 周 | 禁忌词清单提前要 |
关键纪律:金融项目工时按基线 × 1.5 报,因为审批排队不算工时但占周期。
销售对客户、对内对老板都要算账。这一节给标准化的报价口径和 14 人团队的分工模板。
| 引擎 | 单镜成本 | 典型 takes/镜 | 5 镜短片 | 15 镜宣传片 | 30 镜叙事片 |
|---|---|---|---|---|---|
| wan2.7-image(首帧) | 2 CU/张 | 3-5 | 30-50 CU | 90-150 CU | 180-300 CU |
| wan2.7-video(I2V) | ~25 CU/8s | 2-3 | 250-375 CU | 750-1125 CU | 1500-2250 CU |
| HappyHorse(I2V) | 36 CU/段 | 2-3 静态 3-6 动态 | 360-540 CU | 1080-1620 CU | 2160-3240 CU |
| VLM 视频评分 | ~3 CU/次 | 1-2 | 15-30 CU | 45-90 CU | 90-180 CU |
| TTS(CosyVoice) | ~0.5 CU/秒 | — | 15s ≈ 8 CU | 30s ≈ 15 CU | 60s ≈ 30 CU |
| 总预算建议 | — | — | 400-600 CU | 1200-1800 CU | 2500-3800 CU |
已含 20% 冗余应对返工。复杂叙事片建议 +30% 冗余。赛马项目(多引擎并跑)翻倍。
| 方案 | 30s 宣传片成本 | 周期 | 修改成本 | 系列化复用 |
|---|---|---|---|---|
| 传统外包(4A 公司) | 30-100万 | 1-3 个月 | 单次 5-15万 | 低(每次重做) |
| 独立工作室 | 5-20万 | 3-6 周 | 单次 1-3万 | 中 |
| 实拍 + AI 后期 | 10-30万 | 2-4 周 | 中等 | 中 |
| 本方案纯 AI | CU 成本 + 1 人 1 周工时 | 3-7 天 | 极低(改 prompt 即可) | 高(资产卡复用) |
真正杀手锏在系列化:客户做完第一支 30s 宣传片,第二支同系列只需复用 60%-80% 资产卡,成本降至 1/3。这是对客户的最强卖点。
| 角色 | 人数 | 主要职责 | 能力要求 |
|---|---|---|---|
| 项目 SA(PM) | 3-4 | 段一 brief 转译 / 段六客户审片 / 全程客户对接 | 客户沟通 + 行业理解 + manifest 字段熟 |
| 资产工程师 | 2-3 | 段二资产卡 / 角色场景风格库 / brand_profile 维护 | 美术基础 + tuner 维度熟 + 跨项目复用思维 |
| 创作导演 | 2-3 | 段三叙事策略 / 分镜表 / 情绪→机位映射 | 电影语言 + 拉片量大 + 节奏感 |
| 生产工程师 | 3-4 | 段四抽卡批量 / Fast-Fail 自动化 / 选优归档 | 命令行熟 + 调度耐心 + ffmpeg 基础 |
| 后期工程师 | 2-3 | 段五剪辑/调色/混音/字幕 / 多版本适配 | 剪辑节奏 + 音频混音 + Pillow 渲染 |
| 质检与复盘 | 1-2(兼) | 段六 Murch 审片 / 段七复盘回写 / references 维护 | 批判性思维 + 写作能力 + 跨项目模式识别 |
小项目(<10 镜)可以 1 人全栈 4-7 天搞定,不需要分工。中大项目(≥15 镜)建议分工,能并行节省 30-50% 时间。
"周期 5-7 天交付,含创意/分镜/制作/调色/字幕/三版适配(横版/竖版/方版)。修改 2 轮内免费。同系列第二支 3-5 天交付,成本降至 1/3。"
用周期+复用打动客户,不要直接报 CU 数字(客户不懂)。
"我们用三层一致性锁定(资产卡 + 首帧参考 + 跨镜身份匹配)+ 12 维 Murch 审片,避免 AI 拼贴感。可以先看我们做过的金融项目样片再决定。"
用方法论 + 样片证明,不要硬辩。
"AI 减少了 80% 的实拍成本(场地/灯光/演员/设备)和 60% 的后期成本(剪辑/调色/特效)。我们卖的是创意+流程管理+合规审查,不是体力。"
前面分散在各章的坑统一收口。培训完打印这一页贴在工位上。
"我已经有 prompt 了,直接从段四开始吧"——最常见。结果段六交付时无基线可回,客户问改哪就懵。
解药:跳段可以,但必须补最小骨架(manifest 至少 Tier1 11 项 + 角色卡视觉 anchor)再进新段。
"段三 Animatic 还没做完,但客户催就先去段四了"——结果段四发现叙事不对,全片白做。
解药:验收门是硬纪律,任何理由都不跳。客户催 → 解释验收门是为了少返工。
"prompt 改了第 7 版还不对"——根本不在 prompt,在首帧/资产卡/manifest。继续改 prompt 等于在错的方向上加速跑。
解药:连续 3 版同问题没解决 → 强制回退(改 prompt → 改首帧 → 改资产卡 → 改 manifest)。
段七只写"这次项目用了 1500 CU,做了 5 天"——这不是复盘,是日志。
解药:复盘必须有 ≥1 条可写回 references 的规则,否则不算完成。
"如诗如画的晨雾""梦幻般的色彩""沉浸式氛围"——AI 完全不理解。
解药:翻译为可见的 "white translucent fog at 1.5m height, visibility 30m"。
"高级感""质感""氛围感""调性"——这些都是结果不是手段。
解药:拆解为光影色调动作。"高级感"="冷色调+低饱和+大留白+慢运动",写后者。
"两人比例正常""构图要平衡""画面干净""避免穿帮"——模型不执行这种约束。
解药:从描述结构控制——声明空间分层、给具体尺寸距离、用 negative 排除。
"might""seems""maybe""could be""should feel"——遵从率比命令式低 40-60%。
解药:全部改命令式。"He might walk" → "He walks forward at slow pace"。
"shot on ARRI Alexa LF" 混入 L3 叙事段落 → 画面底部出现相机型号字样。
解药:设备词必须 L2 层开头独立成块声明。
引擎理解为"加颗粒状噪声"不是胶片美学。
解药:写 "ultra-clean sensor, no visible noise",后期 nlmeans+unsharp 补颗粒感。
实测教训:参考图里一个红蝴蝶结,全片滑翔翼变伞形。
解药:style_anchor 只能用纯风景/无主角的帧。
角色卡只写文字描述("30 岁中国男性"),不挂参考图 → 每镜角色脸完全不一样。
解药:character_card 必须含 visual_anchor 字段,挂 1-3 张参考图。
每镜都随机 seed → 好效果复现不了,连续镜风格漂移。
解药:探索期随机 → 选定后固定 seed → 同角色跨镜复用同 seed。
thinking 模式 VLM 极度宽松——14/14 镜全打满分,"animation style 所以物理放宽"成为逃生通道。
解药:逐条 check-off "prompt 说了 X → 视频是否兑现 X",禁止逃生通道;qwen3.6-plus 视频评分通胀严重,中度问题仍给 3-4 分,须人工复检。
偷懒只抽首尾两帧 → 中间崩没看出来 / anchor-ref 泄漏。
解药:逐帧审视,至少每秒 1 帧。section 字段须 literal heading 防泄漏。
给客户/上级审片时用 contact sheet 拼图 → 看不出节奏感和动作流畅度。
解药:审片必须给原片 mp4,contact sheet 只用于内部赛马快速选片。
Windows cp936 终端跑脚本 → emoji/中文崩。
解药:所有 __main__ 入口前置 setup_stdout(),库内用 safe_print()。
跨项目跑脚本,DASHSCOPE_API_KEY 没读到,FAILED 返回。
解药:~/.qoderwork/config/happyhorse.json 作为兜底;新 workspace 须 cp .env。
macOS 默认 ffmpeg 没编 libfreetype → drawtext 静默失败。
解药:所有字幕/Logo 用 Pillow 渲染 PNG 后 overlay,不依赖 drawtext。
I2V 首帧/音频 url 写进 media[].url → FAILED。
解药:first_frame_url / driving_audio_url 必须放顶层字段。
14 人团队、不同水平、不同关注点的 SA 提的高频问题。培训前先看一遍,省得现场卡壳。
看改在哪一段:
▸ 改 brief(业务目标/受众)→ 回段一重做 manifest 全片重来 → 谈追加费用
▸ 改风格/品牌色 → 改 style_card → 段二+段三重做
▸ 改具体某镜内容 → 改 storyboard 该镜 → 重抽该镜
▸ 改字幕/Logo → 直接重渲染段五
关键:合同里写明"修改 2 轮内免费,超出按 X CU/工时 计费"。
解释三件事:① 创意时间 ≠ 渲染时间(实拍也要剧本/分镜/演员);② 一致性锁定需要资产工程不是即兴;③ 法务合规审批占大头(金融客户)。给真实工时拆分表,让客户看到大头不在 AI 算力上。
① 模型半年一换,但创意+资产+流程管理是壁垒;② 资产卡是定制 IP,不会被复用;③ 同行用同样的工具≠能做出同样的作品(80% 质量差异来自前 AI 时代功夫)。
合同里区分:成片归客户 + 资产卡可授权使用(限本项目)+ skill 流程方法论保留所有权。复用费另算。
能。但要补两件事:① 看片量(每月 5-10 部电影/广告片专门拉镜头);② 跟设计同事配对——他出风格判断,你出工程执行。三个月能上手。
分层:L1+L2 由 prompt_assemble.py 从资产卡自动注入;L3(本镜画面内容)由人写,调用 tuner 优化。即"骨架自动,画面手写"。
① 端到端流程化,不需要切多个工具;② 资产卡+一致性锁定是 MJ+PR 没有的;③ 引擎无关,今天用 wan2.7,明天换 HappyHorse 不用重做流程;④ 复用率高(同系列项目复用 60%-80%)。
能,但代价是踩坑率高+无法跨项目复用。skill 不是写词工具,是流程管理框架——单 prompt 偶尔好运可以脱离,做 ≥3 镜的项目几乎不可能脱离。
诊断顺序:① 看是否过了四步门禁(早筛/Fast-Fail/identity_match/batch_qc);② 看 style_card 是否填满六维度;③ 看是否复用 seed;④ 看是否做了 Animatic 验收;⑤ 看是否懂段七复盘。前 4 步都没做就别问质量。
① 温度感/表演丰富 → HappyHorse;② 指令遵循严/叙事连贯/零穿帮 → wan2.7;③ Character ID 锁定 → Kling;④ 不确定 → 段四前 5 镜赛马,用户拍板。
① 报错信息+REPRO 步骤 → 团队群(先 grep references/ 有没有同类 badcase);② API 返回异常 → 看是否 API Key 过期/超限;③ 跨镜身份漂移 → 看是否 seed 复用+I2V chain;④ 验证不通过 → 跑 check_env.py 排环境。
① 看 CHANGELOG.md 顶部 entry 描述影响范围;② 跑 check_env.py 确认环境兼容;③ 进行中项目锁 SKILL.md 版本(pin),新项目用新版;④ 跨 skill 更新(如 tuner+assembly 双更)须看 _meta/contract.md。
不能跑视频生成。但可以跑 prompt 写作(tuner 是纯方法论 skill,不依赖 API)+ 资产工程(assembly 段一段二段三大部分功能)。第一周学员可以先不装 dashscope 学方法论。
① 字体:resolve_font() 已做五档回落,应该自动找到;② ffmpeg:装 gyan.dev 完整版 + 加 PATH;③ 终端编码:脚本入口都加了 setup_stdout();④ 兜底:跑 check_env.py 看哪一项 FAIL。
小项目(<10 镜)单人 4-7 天搞定,不需要分工。中大项目(≥15 镜)分工节省 30-50% 时间。建议见第 08 章团队分工模板。
① 每项目段七复盘必出 ≥1 条 references 增量;② 团队 wiki 维护 badcase-vault;③ 每月 1 次跨项目模式识别会;④ 新人前 4 周 shadow 老人做 1 个完整项目。
从零到能独立交付第一支客户项目,分四周走。
# 下载 ai-video-skills.zip 后
unzip ai-video-skills.zip -d ~/Downloads/
mkdir -p ~/.qoderwork/skills/
cp -r ~/Downloads/ai-video-skills/ai-video-assembly ~/.qoderwork/skills/
cp -r ~/Downloads/ai-video-skills/video-prompt-tuner ~/.qoderwork/skills/
cp -r ~/Downloads/ai-video-skills/qianwen-image-generation ~/.qoderwork/skills/
cp -r ~/Downloads/ai-video-skills/qianwen-video-generation ~/.qoderwork/skills/
# macOS
brew install ffmpeg python@3.11
pip3 install pillow requests numpy dashscope pyyaml
# Linux
sudo apt-get install ffmpeg python3-pip fonts-noto-cjk
pip3 install pillow requests numpy dashscope pyyaml
# Windows
# 1. 装 Python 3.9+ from python.org
# 2. 装 ffmpeg from gyan.dev (完整版,加入 PATH)
# 3. pip install pillow requests numpy dashscope pyyaml
# 方式 A:环境变量(推荐)
echo 'export DASHSCOPE_API_KEY="<YOUR-DASHSCOPE-KEY>"' >> ~/.zshrc
source ~/.zshrc
# 方式 B:兜底配置文件
mkdir -p ~/.qoderwork/config/
echo '{"DASHSCOPE_API_KEY":"<YOUR-DASHSCOPE-KEY>"}' > ~/.qoderwork/config/happyhorse.json
API Key 申请:阿里云 DashScope 控制台 → API-KEY → 创建。
python3 ~/Downloads/ai-video-skills/check_env.py
脚本会检查 7 项:Python 版本 / 4 个 skill 目录 / ffmpeg + 滤镜 / Python 包 / API Key / 中文字体 / workspace 权限。看到 ✅ ALL OK 即可。失败项跑 --fix 看修复建议。
| 阶段 | 时间 | 任务 | 产出 |
|---|---|---|---|
| Week 1 · 方法论 | 5 天 × 2h | 读 SKILL.md(assembly + tuner)+ 看本培训页 + 看团队历史项目复盘 | 能讲清楚七段流程和四条信念 |
| Week 2 · 最小项目 | 5 天 × 4h | 跑 15s 单镜短片:无人物、无对话、单一场景(如"晨雾中的茶园") | 第一支成片 + 段七复盘 |
| Week 3 · 标准项目 | 5 天 × 6h | 跑 30s 3-5 镜短片:单角色、单场景、含旁白 | 第二支成片 + 资产卡复用 |
| Week 4 · 客户项目 | 5-10 天 | shadow 老人做一个真实客户项目,承担段二+段三 | 能独立承接小型客户项目 |
"出师"标准:能独立完成 15 镜以内项目的段一-段五,段六需 senior 复审。
重点:段一 brief 转写 + manifest 27 字段 + 客户审片话术 + 金融合规
核心文档:project-preparation.md / ai_friendliness.md / 70-domain-financial.md
重点:段三叙事策略 + 情绪→机位映射 + 拉片练习
核心文档:single-shot-creation.md / emotion-to-camera.md / 01-camera.md
重点:段四批量抽卡 + Fast-Fail 自动化 + 跨平台脚本 + 引擎卡
核心文档:shot-production.md / fast-fail.md / 30-engine-cards/*
重点:段五剪辑工程 + ffmpeg + Pillow 渲染 + 音频混音
核心文档:editing-engineering.md / transition-design.md / color-grading.md
| 症状 | 查这里 |
|---|---|
| 不知道下一步干什么 | 本页 04 完整工作流 → 找当前段的环节表 |
| 段一 manifest 不会填 | templates/project-meta.md + references/flow/project-preparation.md |
| 段二资产卡不会写 | references/flow/asset-engineering.md + asset-parameterization.md |
| 段三 prompt 不会写 | video-prompt-tuner/SKILL.md §3.1-3.10 |
| 段四抽卡崩了 | references/flow/shot-production.md + references/90-badcase-vault/INDEX.md |
| 段五拼接出错 | references/flow/editing-engineering.md + scripts/xfade_assembly.py --help |
| VLM 评分通胀 | 本页 09 反模式 #14 |
| 跨平台报错 | references/README-cross-platform.md |
| 金融合规问题 | 本页 07 金融专项 + tuner/references/70-domain-financial.md |
| 引擎选型 | 本页 Q10 + tuner/references/30-engine-cards/ |
| 客户报价 | 本页 08 成本测算 |
选 15-30s、单角色、单场景的简单项目。客户最好是熟客户能容忍迭代。预算控制在 1500 CU 内。
style_id 只用 C1/F1/H1。合规文档先要。所有数字/Logo 全后期 Pillow 叠加。审批周期按基线×1.5 报。
开工前明确是否系列化。如果是,资产卡按系列复用设计,第一支成本高、后续 1/3 成本。报价同步打折。
精细手部动作 / 中文 Logo 像素还原 / UI 界面数字图表 / 真人特写跨镜身份锁。提前告知客户"AI 现在做不了",给替代方案。
两个 skill 的目录、脚本、引用文件一览。理解结构才能在卡住时快速找到对应文档。
端到端AI视频制作与迭代优化。管"全片怎么编排"——从客户一句话需求到投后数据回流的完整闭环。
| 文件 | 功能 |
|---|---|
SKILL.md | 主文档 — 七段流程 + 三层金字塔 + 契约定义 + Pitfalls + Verification |
CHANGELOG.md | 版本变更日志(v7.0→v7.8.5 全记录) |
models.json | 项目选型 SSOT — 模型ID映射 + 引擎卡交叉引用 |
| 文件 | 所属段 | 功能 |
|---|---|---|
project-preparation.md | 段一 | manifest 27字段三梯队起草 + AI友好度评估 + 品牌学习 |
topic_matrix.md | 段一 | 选题矩阵 |
ai_friendliness.md | 段一 | AI友好度评估6维度(红→绿规避策略) |
director-literacy.md | 段一 | 导演素养(创作模式必读) |
asset-engineering.md | 段二 | 资产工程详写 — 13子段 + 继承机制 + 一致性七档 |
world-building.md | 段二 | 世界观三层(基础设定/氛围画质/画面内容) |
asset-naming.md | 段二 | 资产命名规范 {地点}_{景别}_{时间}_{状态} |
asset-parameterization.md | 段二 | 资产参数化(character_card/scene_card/style_card) |
brand_profile_example.md | 段二 | 品牌档案示例 |
cross-project-reuse.md | 段二 | 跨项目资产复用 |
single-shot-creation.md | 段三 | 单镜创作详写 — 7子段 + 首帧多图参考铁律 |
emotion-to-camera.md | 段三 | 情绪→机位映射表 + per-shot baseline override |
shot-design.md | 段三 | 分镜四维度(景别/构图/运镜/画面内容) |
multi-shot-prompt.md | 段三 | 多镜prompt编排(Mx-Shell双层) |
prompt-handoff.md | 段三 | prompt交接规范(assembly→tuner) |
storyboard-as-edit-blueprint.md | 段三 | 分镜表作为剪辑蓝图 |
shot-production.md | 段四 | 抽卡生产详写 — 成本档位 + Fast-Fail + P0/P1选优 |
canvas-workspace.md | 段四 | 画布工作流(小云雀风格) |
fast-fail.md | 段四 | 首帧Fast-Fail检查 |
candidate-selection.md | 段四 | 候选片选优策略 |
animatic-preview.md | 段四 | 动态预览(粗剪预览门) |
horse-race-scorecard.md | 段四 | 赛马评分卡 — 12+1维 + 决策树 + scorecard.jsonl |
editing-engineering.md | 段五 | 剪辑工程详写 — 5.1~5.7七子段 |
transition-design.md | 段五 | 转场设计方法论 — Murch六准则 + Match Cut六维度 |
color-grading.md | 段五 | 调色(C-COLOR验收硬约束) |
post-compositing.md | 段五 | 后期合成(变速/黑边/光效/抠像/字幕) |
publishing-compliance.md | 段五 | 发布合规(免责卡/AI水印/BGM署名) |
retrospective.md | 段七 | 迭代复盘详写 — 7.1~7.7七子段 |
iteration-loop.md | 段七 | 双层迭代循环 + verify gate |
retro-protocol.md | 段七 | 段级+项目级双层复盘 |
mode-routing.md | 横切层 | 创作/工程/顾问三模式路由 |
与 video-prompt-tuner/references/ 同主题。本侧承接"项目流程层"。
| 文件 | 功能 |
|---|---|
audio-strategy.md | 音频策略 — 消费 manifest.audio_policy |
bgm-generation.md | BGM生成方法论 — AI音乐决策树 + Suno提示词六要素 |
camera-language.md | 镜头语言基线 — 消费 manifest.camera_baseline |
style-vocabulary.md | 风格词汇 — 消费 manifest.style_id + color_mood |
style-library.md | 风格库 — 28风格基线 A1-H9 |
style-consistency-checklist.md | 风格一致性检查 |
consistency-management.md | 跨段一致性6维度 |
spatial-consistency.md | 空间一致性(太阳/旗杆/镜像翻转) |
sampling-economics.md | 抽卡经济学 — 消费 manifest.cu_budget |
engine-routing.md | 引擎路由 — 消费 manifest.engine_id/fallback |
ai-assisted-action-prompt.md | AI辅助动作prompt(武戏双层) |
writing_guide.md | 写作风格指南 |
| 文件 | 功能 |
|---|---|
acceptance-delivery.md | 段六验收交付详写 — 自动QC 12项 + Murch六准则 |
qc-checklist.md | 自动QC 12项清单 |
multi-version.md | 多版本适配(完整版/精华版/短视频版/无声版) |
production-optimization.md | 生产流程优化手册(Disconnect项目复盘沉淀) |
| 文件 | 用途 | 所属段 |
|---|---|---|
topic_confirm.md | 选题确认书 | 段一 |
project-meta.md | 项目元数据(manifest 27字段) | 段一 |
brief.md | 项目简报 | 段一 |
character_card.md | 角色卡(外观/造型/视觉anchor) | 段二 |
scene_card.md | 场景卡(空间/光照/氛围) | 段二 |
style_card.md | 风格卡(SSOT六维度) | 段二 |
props_card.md | 道具卡 | 段二 |
asset-package.md | 资产包清单 | 段二 |
storyboard.md | 分镜表 | 段三 |
production-order.md | 生产工单(逐镜指令) | 段三→四 |
bgm-brief.md | BGM创作简报 | 段五 |
criteria.md | 评价标准(12维评分卡) | 段六 |
footage-index.md | 素材索引(选优记录) | 段四→六 |
delivery-package.md | 交付包 | 段六 |
master-package.md | 最终交付清单 | 段六 |
retrospective.md | 复盘报告模板 | 段七 |
| 脚本 | 功能 | 调用时机 |
|---|---|---|
prompt_assemble.py | 自动装配prompt(L1+L2注入+L3组装) | 段三→段四 |
batch_first_frame_qc.py | 批量首帧质检(N×5热力图) | 段四 |
fast_fail_check.py | 快速失败检查(六维+prop_identity) | 段四 |
identity_match.py | 跨镜身份一致性验证 | 段四 |
candidate_select.py | 候选片P0/P1排序选优 | 段四 |
video_analyze.py | 视频理解分析(VLM调用) | 段四/六/七 |
xfade_assembly.py | xfade转场拼接 | 段五 |
audio_mix.py | 三轨混音(环境+旁白+BGM) | 段五 |
bgm_synth.py | BGM生成调用 | 段五 |
tts_cosyvoice.py | CosyVoice TTS生成 | 段五 |
subtitle_overlay.py | 字幕/文字叠加(Pillow渲染) | 段五 |
palette_tools.py | 调色板工具 | 段五 |
segment_utils.py | 片段归一化工具 | 段五 |
animatic.py | 动态预览/粗剪生成 | 段四→五 |
qc_video.py | 自动QC 12项检查 | 段六 |
multi_version.py | 多版本裁切适配 | 段六 |
hh_utils.py | HappyHorse API封装(重试+超时) | 段四 |
asset_extract.py | 资产自动提取 | 段二 |
收敛 macOS/Windows/Linux 四大坑(PEP604兼容/字面量复检/safe_print/resolve_font回落)
| 模块 | 功能 |
|---|---|
_ffmpeg_bin.py | ffmpeg/ffprobe 路径自动探测 |
_fonts.py | 字体解析五档回落(resolve_font) |
_io_utils.py | safe_print + setup_stdout(UTF-8安全输出) |
_paths.py | 临时文件 + 路径规范化 |
AI视频提示词跨范式调优专家。管"单镜prompt怎么写好"——三层指令×四范式×十维脚手架。引擎无关、平台无关。
| 文件 | 功能 |
|---|---|
SKILL.md | 主文档 — §0~§6 全覆盖(网关/工程约束/总纲/范式/维度脚手架/一致性/引擎适配/体检) |
| 文件 | 对应章节 | 功能 |
|---|---|---|
00-instruction-following.md | §1 总纲 | 三层指令×四范式深化 + 失败定位决策树 |
01-camera.md | §3.1 机位 | 四层语言 + 情绪反查表 + 各平台落点 |
02-spatial.md | §3.2 空间 | 分层脚手架 + 锚物 + 巨人俯身案 |
03-lighting-and-style.md | §3.3 光照 | 四要素 + 跨镜光照圣经 + 氛围光色配方表 |
04-action.md | §3.4 动作 | 状态转换 + 单动作律 + 幅度分级 |
05-sampling.md | §3.5 抽卡 | 探索→锁定 + 早筛三关 + ELECT + 成本权衡 |
06-multiview.md | §3.6 多视角 | 角色表覆盖度反查 + 各平台ID语法 |
07-character-depiction.md | §3.7 人物刻画 | 年龄真实感谱系 + 职业群体 + 国别准确性 |
08-performance-engineering.md | §3.8 表演工程 | 情绪时间隔离 + 视线锁定 + 微动作串联 |
09-audio.md | §3.9 音频 | 音频策略决策树 + TTS/BGM/环境音三轨 |
10-consistency.md | §4 一致性 | 六种一致性谱系 + 品牌资产 + 年代服化道 |
11-prompt-syntax.md | §3.10 句法 | 句法结构 + 分隔符约定 + 负向词格式 |
20-vbench-checklist.md | §6 体检 | VBench 21维详表 ↔ prompt手段双向映射 |
21-remedy-routing.md | §6 复盘 | 扣分维度→轻/中/重修复梯度→回tuner §路由 |
22-output-checklist.md | §7 出稿 | 自检清单 + 输出格式模板 + 反模式表 |
25-integration-interface.md | §9 集成 | 调用契约 — 入参YAML / 出参指针 / 错误路由 |
50-capability-map.md | §1.5 能力 | 确定不行 / 部分能行 / 已知难题完整表 |
60-engineering-rules.md | §0.5 工程 | 注意力经济学 + 模块化 + 审美词转译 |
每张卡固定字段:身份/范式支持/prompt长度上限/L1-L3强弱/音频支持/特殊语法/关键参数/价格。
| 引擎卡 | 覆盖引擎 | 范式 |
|---|---|---|
wan2.7-image.md | 万相2.7 图片 | T2I + 多图参考I2I |
wan2.7-video.md | 万相2.7 视频 | T2V / I2V(含首尾帧) |
happyhorse.md | HappyHorse 1.0 | T2V / I2V / R2V / V2V |
seedance-2.0.md | Seedance 2.0 | 多模态多镜头一段式 |
kling-3.0.md | 可灵 3.0 | T2V / I2V / R2V (Character ID) |
runway.md | Runway Gen-X | T2V / I2V |
veo.md | Veo / Veo 2 | T2V |
整段prompt前后改写样本,颗粒度=一整段prompt。
| 案例 | 范式 | 场景 | 核心问题 |
|---|---|---|---|
case-01 | R2V 多角色 | 车内对话短剧 | 600+字超长 / 毫米级精度 |
case-02 | I2V | 产品广告 | 重复约束 / 静态描述堆叠 |
case-03 | T2V | 打斗动作 | 一镜多动作 / 武术术语堆叠 |
case-04 | I2V | 徒步遮罩转场 | 转场术语vs镜头描述混排 |
case-05 | R2V 多分镜 | 古装历史剧 | 多分镜空间锚不清 |
case-06 | V2V | 风格迁移 | 只描delta / 风格污染防护 |
case-07 | I2V / T2V | 数字人口播 | 跨句一致 / 口型降级 / 半身固定 |
| 文件 | 功能 |
|---|---|
70-domain-financial.md | 金融行业:合规硬约束(一票否决)+ 抽象概念视觉隐喻 + 全球化地理符号 |
颗粒度=一个崩点,薄卡片(<200字),六字段固定结构。当前收录 17张 失败卡。
| 编号范围 | 主题 |
|---|---|
| 001-014 | 身份漂移 / 解剖崩塌 / 色彩交换 / 道具消失 / 面部先验 / 姿态失控 / 风格压人 |
| 020-021 | 翻身方向随机 / 情绪不匹配 |
| 030-033 | 长prompt尾部失效 / 比喻失败 / 元指令失败 / 近距离陷阱 |
| 040 | V2V人脸破碎 |
| 050-055 | 金融合规 / 国籍泛化 / 地理错误 / 产品外观漂移 / 品牌色偏 / anchor跨句跳 |
保留 v3-snapshot-20260604 完整快照(含 evals.json / evolution.json / manifest.json / 旧references),供溯源和对照。日常使用无需关注。