SKILL.md 12 KB


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 喂进视频扩散渲染。

口型只是全身表演的一个子集,不是独立任务。

铁律三:按镜头类型路由,不要全丢一个模型

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 而不是自然语言

一句自然语言描述的剧本,不同的人(甚至同一个人不同时间)会拆出完全不同的镜头序列。

没有稳定的中间表示,就不可能有稳定的产出。

分镜表最小字段

{
  "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 集

幂等重跑(关键工程细节)

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 漫剧都不是「一个全能模型一键出」,而是「正确分工 + 资产编排」。