فهرست منبع

feat: 大导演技能 v1.0

- 模型路由:Veo/Seedance/Kling/Image2.5 定位与边界
- 角色一致性:九宫格为何错、六条硬标准、参考图分档
- 分镜表 JSON 工程:幂等重跑、可 diff、跨集复用
- 音频前置:后贴 lip-sync 为何错、audio-conditioned 正解
- 百集连载:资产库、版本管理、双层验收
- 项目类型路由:漫剧/宣传片/MV/APP配图/爆炸图

来源:豆包深度讨论 + 抖音博主「无情词元贱」AI提示词逻辑系列 + 行业实践检索
liuyuyang 1 روز پیش
کامیت
b8a25e2c60
3فایلهای تغییر یافته به همراه364 افزوده شده و 0 حذف شده
  1. 3 0
      .gitignore
  2. 23 0
      README.md
  3. 338 0
      SKILL.md

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+node_modules/
+*.mp4
+*.log

+ 23 - 0
README.md

@@ -0,0 +1,23 @@
+# skill-director · 大导演
+
+全流程影视导演技能。**不是生成工具,是导演** —— 决定拍什么、怎么拍、用什么拍、拍废了怎么办。
+
+## 核心内容
+
+- **模型路由**:Veo / Seedance / Kling / Image 2.5 各自定位与死穴
+- **角色一致性**:为什么九宫格三视图是错的,六条硬标准
+- **分镜表工程**:JSON 中间表示、幂等重跑、可 diff 可复用
+- **关键帧**:四种类型、首尾帧控制、时长经验
+- **音频前置**:为什么后贴 lip-sync 天生是错的
+- **百集连载**:资产库结构、版本管理、双层验收门
+
+## 三条铁律
+
+1. **Veo 绝对不要用来生成中文台词** —— 英文音素空间,硬隔离
+2. **后贴 lip-sync 天生是错的** —— 音频要作为第一阶 conditioning
+3. **按镜头类型路由,不要全丢一个模型**
+
+## 核心心法
+
+> 一致性在第二步锁死,而不是在每个镜头里反复叮嘱。
+> 先定身份 → 锁参考 → 扇出镜头。

+ 338 - 0
SKILL.md

@@ -0,0 +1,338 @@
+---
+name: skill-director
+description: 触发词:大导演、导片、漫剧、短剧、宣传片、MV、分镜、剧本拆解、素材编排、成片。全流程影视导演技能——从文本到成片,管人、管钱、管素材、管节奏。
+---
+
+# skill-director · 大导演
+
+> 定位:**不是生成工具,是导演**。我不亲手画每一帧,我决定拍什么、怎么拍、用什么拍、拍废了怎么办。
+
+---
+
+## 零、导演的第一课:什么时候用哪个模型
+
+这是最容易搞错、代价最大的一课。
+
+### 核心认知:没有全能模型,只有正确分工
+
+| 模型 | 本质是什么 | 强在哪 | 死穴 |
+|---|---|---|---|
+| **Veo 3.1** | **镜头宝石打磨机** | 单帧电影级 PBR、次表面散射、胶片质感、环境音氛围 | **英文音素空间**,中文台词会读成英文;参考输入上限 3 张;单段 8s |
+| **Seedance 2.5** | **连续叙事引擎** | **原生支持外部音频作为生成条件**;大量参考图;单段最长 30s;片段续接 | 单帧质感略弱于 Veo |
+| **Kling 3.0** | **表演与物理引擎** | **中文音素口型最成熟**;肢体、布料物理稳;4K | 电影氛围感不如 Veo |
+| **Image 2.5** | **分镜审美师** | 电影语言、布光、氛围理解极强 | **没有原生角色资产锁**,跨图会漂 |
+| **Seedream 4.0** | 批量出图 | 便宜、快 | 一致性弱,不适合做主角资产 |
+
+### 铁律一:Veo 绝对不要用来生成中文台词
+
+**这是硬伤,不是技巧问题。**
+
+Veo 的原生音频是「文本驱动生成语音」,官方完整评测只覆盖英文。塞中文进去,它会:
+- 强行读成英语口音
+- 音素错乱
+- **口型跟着英文音素走**
+
+而且 **Veo 没有「上传外部 WAV 让它口型对齐」的正式输入路径**,这是接口层的硬隔离。
+
+**Veo 的正确用法:只出静音画面。**
+
+```
+prompt 里强制写:silent, no generated speech, only ambient subtle environment sound,
+character performs the line, mouth moves naturally for Chinese speech
+```
+
+### 铁律二:后贴 lip-sync 天生是错的
+
+**为什么错**:音频是外部修正信号,只改嘴;表情、头动、手势是视频模型自己随机出的。**两套系统不同源,必然打架。**
+
+你会看到「嘴对上了,但整个人很假,动作和说话没关系」。
+
+**正确做法:音频作为第一阶 conditioning。**
+
+音频(音素、prosody、情绪)进入 motion 潜空间,**先驱动整套表演**(面部 FACS、头动、视线、手势、躯干重心、呼吸),再把表演 latent 喂进视频扩散渲染。
+
+**口型只是全身表演的一个子集,不是独立任务。**
+
+### 铁律三:按镜头类型路由,不要全丢一个模型
+
+```python
+if shot.tag == "dialogue":          # 对白、长台词、情绪表演
+    route = "seedance_2.5"
+    inputs = [char_refs, keyframe, tts_wav, prosody_tags]
+    
+elif shot.tag == "close_up_talk":   # 特写对话,口型优先
+    route = "kling_3_omni"
+    inputs = [char_refs, keyframe, tts_wav]
+    
+elif shot.tag == "hero_shot":       # 高光渲染、氛围、无台词
+    route = "veo_3.1_quality"
+    inputs = [char_refs, keyframe]
+    prompt += "silent, subtle ambient movement, cinematic PBR render"
+    
+elif shot.tag == "action":          # 打斗、大量肢体
+    route = "kling_3.0"
+```
+
+---
+
+## 一、素材管线的根本顺序(顺序错了,后面全废)
+
+### 绝对不要「文生视频直出」
+
+```
+❌ 剧本 → 提示词 → 视频        (角色每一镜都变)
+✅ 剧本 → 分镜表 → 关键帧 → 视频  (可控)
+```
+
+**这是所有专业团队的共识。**
+
+### 正确顺序
+
+```
+1. 剧本结构化(分镜表 JSON)
+2. 角色资产建立(身份锚点图)
+3. 每镜关键帧(Image 2.5)
+4. 关键帧人眼验收(九宫格)
+5. 送视频模型(按类型路由)
+6. 音频生成(TTS 前置,不是后贴)
+7. 剪辑成片
+```
+
+**每一步都要过验收才能下一步。** 关键帧没验就送视频,等于烧钱。
+
+---
+
+## 二、角色一致性:靠资产库,不靠形容词
+
+### 铁律:不要做九宫格三视图
+
+**博主原话(这个反直觉但正确)**:
+
+> 一张 1024 的图切九个格子,每格只剩三百多像素,再砍掉身体和背景,**那张脸可能就剩几十个像素**。
+>
+> **脸占不到画面两成,模型提取不到特征,它只能猜**——猜出来的眼间距、眉形、下颌线,每一帧都不一样。
+>
+> **所以你越塞,它越崩。**
+
+### 角色参考图的六条硬标准
+
+| # | 标准 | 为什么 |
+|---|---|---|
+| 1 | **短边 ≥ 1024** | 脸要有足够像素 |
+| 2 | **背景纯色中性,不要场景** | 场景会被一起读进去污染每个镜头 |
+| 3 | **均匀柔光,所有参考图同一套光** | 一张侧光一张顶光会造出两个人 |
+| 4 | **中性表情,别笑** | 大笑的肌肉形变会干扰结构 |
+| 5 | **画面里只能有一张脸** | 多人同框时模型会平均出一个谁也不是的第三人 |
+| 6 | **脸占画面 60% 以上** | 一条图只回答一个问题 |
+
+### 参考图分档(按角色重要度选,别堆料)
+
+| 档 | 内容 | 用在 |
+|---|---|---|
+| 单图 | 一张正面或 3/4 半身 | 次要角色、群众 |
+| **三视图** | 前+侧+背,全身,纯背景 | **反复出场的主角(默认)** |
+| 四视图 | 三视图 + 一个 3/4 视角 | 频繁转身/走位 |
+| 角色设定表 | 三视图 + 头部特写 + 道具标注 | 服化复杂的 hero |
+| **表情板** | 一张脸 × 多种情绪 | **台词密集/情绪戏** |
+| 动作板 | 同角色 × 几个关键姿势 | 打斗/舞蹈 |
+
+**数量:3-5 张最优,8 张上限,超过 10 张叫噪声不叫信息。**
+
+### 身份与状态必须分开
+
+- **身份参考**:定义这个人是谁(全片不变)
+- **状态参考**:这一场的服装、伤口、道具、情绪(每场可换)
+
+**混在一起,模型会把临时状态误认为永久特征**,角色就没法换衣服而不换脸。
+
+---
+
+## 三、分镜表:这是全流程的枢纽
+
+### 为什么要 JSON 而不是自然语言
+
+> 一句自然语言描述的剧本,**不同的人(甚至同一个人不同时间)会拆出完全不同的镜头序列**。
+>
+> 没有稳定的中间表示,就不可能有稳定的产出。
+
+### 分镜表最小字段
+
+```json
+{
+  "project": "id",
+  "episode": 1,
+  "scene_list": [{
+    "scene_id": "ep01_scene01",
+    "role": {"name": "男主", "reference_image": "assets/ref/male_lead.png"},
+    "shot_type": "中景",
+    "camera": "缓慢推进",
+    "lighting": "夜景冷色调",
+    "action": "推开仓库大门",
+    "dialogue": "三年了,我终于找到你了。",
+    "duration_seconds": 5
+  }]
+}
+```
+
+**这份 JSON 有三重身份**:提示词来源、批量参数模板、**出问题时定位的最小单元**。
+
+### 工程收益
+
+| 收益 | 说明 |
+|---|---|
+| **可 diff** | 改剧本能直接看出动了哪几个镜头,不用整剧重生成 |
+| **失败可重跑** | 某条失败只重跑那一条 |
+| **可复用** | 参考图、运镜模板、光影预设跨集复用,**第 20 集成本远低于第 1 集** |
+
+### 幂等重跑(关键工程细节)
+
+```python
+for scene in scene_list:
+    if not force_ids or scene["scene_id"] not in force_ids:
+        cached = load_output(scene["scene_id"])
+        if cached:
+            continue   # ★ 跳过,不重复烧钱
+    generate_one(scene)
+```
+
+**批量跑到第 30 条崩了,重跑时不希望前 29 条再烧一遍额度。**
+
+---
+
+## 四、关键帧:先出图,再让图动
+
+### 四种关键帧类型
+
+| 类型 | 用法 |
+|---|---|
+| **首帧**(最常用) | 视频从当前画面往后生成 |
+| 尾帧 | 场景切换到主体时,保证主体一致 |
+| 中间帧 | 从场景过渡到主体后再生成后续 |
+| **首尾帧都有** | 状态转换场景,运动过程自动补全 |
+
+**首尾帧控制**特别适合:转场、镜头推近、人物走向镜头。
+
+### 时长经验
+
+> **人物对话场景建议控制在 5 秒左右。**
+> 太长的片段生成容易崩坏,后期拼接反而更麻烦。
+
+---
+
+## 五、音频:必须前置,不能后贴
+
+### 正确流程
+
+```
+1. TTS 生成(Index TTS / 微软 Azure TTS)
+   ↓ 不只拿 wav,还要抽:
+   - 中文音素时间轴(汉语 viseme,不是英文)
+   - F0、能量、停顿、重音
+   - 逐句情绪标签(克制/嘲讽/紧张/温柔/迟疑/换气/视线转移)
+2. 音频作为生成条件送入 Seedance/Kling
+   ↓
+3. 模型内部把音频翻译成表演信号,再渲染画面
+```
+
+**这样表情、头动、手势、口型是同源采样,不是两层拼接。**
+
+### 为什么必须用 Index / Azure TTS
+
+视频模型自带的 TTS 语气呆板。你要精细控制情绪、停顿、复刻声线,只能用专业 TTS。
+
+**凡是模型支持「外部音频驱动」,就一定要把语音生成前置。**
+
+---
+
+## 六、百集连载需要什么(独立制片视角)
+
+### 素材资产库
+
+```
+project/
+├── bible/                    # 剧集圣经
+│   ├── world.md              # 世界观、规则、禁忌
+│   ├── style.md              # 视觉基准(色彩、光影、镜头语言)
+│   └── timeline.md           # 时间线、事件表
+├── characters/
+│   └── [name]/
+│       ├── bible.md          # 人设:欲望、恐惧、掌握的信息、关系
+│       ├── identity/         # 身份参考图(不变)
+│       ├── state/            # 状态参考图(按场次版本化)
+│       └── voice/            # 声线样本、情绪样本
+├── scenes/
+│   └── [scene_id]/
+│       ├── keyframes/        # 首帧、尾帧、峰值帧
+│       ├── shots/            # 生成的片段
+│       └── meta.json         # 参数、模型、seed、验收状态
+└── episodes/
+    └── ep001/
+        ├── storyboard.json   # 分镜表
+        ├── audio/            # TTS 音频 + prosody 标注
+        └── final.mp4
+```
+
+### 版本管理(连载的命脉)
+
+> 「侦探外套 v2」只用于雨夜章节;「左眉伤口 v1」从仓库冲突后生效。
+
+**每项素材记录版本和适用范围**,这是跨镜头一致性的基础。
+
+### 验收门(分两层,一便宜一严格)
+
+**第一层:九宫格分镜**(便宜)
+把一个镜头的九个关键帧画在同一张画布上,**同一个人天然保持同一副样子**。九格里的人还是同一个吗?不是就回上游修,**别烧那张贵得多的视频**。
+
+**第二层:人眼验收**
+关键帧通过才送视频。
+
+### 连续性检查表
+
+| 层 | 核心问题 |
+|---|---|
+| 身份 | 不看服装还能认出角色吗 |
+| 造型 | 发型、配饰、服装版本正确吗 |
+| 连续性 | 伤口、道具、时间、空间接得上吗 |
+| 表演 | 动作与情绪一致吗 |
+| 声音 | 音色、语速、称谓符合设定吗 |
+| 行为 | 角色掌握的信息和选择符合当前状态吗 |
+| 风格 | 画面是否属于同一视觉世界 |
+
+---
+
+## 七、项目类型路由
+
+| 类型 | 特点 | 关键策略 |
+|---|---|---|
+| **小说漫剧** | 几十上百集、角色长期一致、大量对话 | Seedance 为主 + 表情板 + 资产版本化 |
+| **企业宣传片** | 短、质感优先、台词少 | Veo 主战场(无台词优势) |
+| **MV** | 节奏驱动、画面抽象、无对话 | Veo + 剪辑节奏 |
+| **APP 配图/架构图** | 不需要视频,要精准 | Image 2.5 + 强约束提示词 |
+| **产品爆炸图** | 结构准确优先 | Image 2.5 + 工程图式描述 |
+
+---
+
+## 八、常见错误(我踩过的)
+
+| 错误 | 后果 | 正确做法 |
+|---|---|---|
+| 文生视频直出 | 每镜角色都变 | 先关键帧 |
+| 九宫格三视图 | 脸太小,模型只能猜 | 按档选参考图 |
+| 中文台词喂 Veo | 读成英文、口型错 | Veo 只出静音 |
+| 后贴 lip-sync | 嘴对上但人很假 | 音频前置做条件 |
+| 全丢一个模型 | 各场景都不最优 | 按镜头类型路由 |
+| 关键帧不验收就送视频 | 烧钱 | 九宫格人眼门 |
+| 重跑全部 | 重复烧额度 | 幂等跳过已完成的 |
+| 提示词写得很长 | 不如参考资产管用 | 一致性靠资产不靠形容词 |
+
+---
+
+## 九、核心心法
+
+> **一致性在第二步锁死,而不是在每个镜头里反复叮嘱。**
+>
+> **先定身份 → 锁参考 → 扇出镜头。**
+
+> **看起来浑然一体,是因为音频是表演的生成源,而不是事后补丁;口型是表演的一部分,不是独立任务。**
+
+> **所有好的 AI 漫剧都不是「一个全能模型一键出」,而是「正确分工 + 资产编排」。**