角色形象先锁定
R — 核心命题 (Reading)
核心角色的固定形象图必须先跑出来,没有它后面每一步都白做。
正确顺序是:文生图先锁死一张形象参考 → 再拿它去图生视频。跳过第一步直接批量出图,得到的是一批长得都差不多但没有一个是「同一个人」的图,剪在一起观众立刻出戏。
这条约束不随工具变化 —— 换模型只改变「怎么锁」,不改变「必须先锁」。
方法论来源见仓库根目录 ATTRIBUTION.md。
I — 方法论骨架 (Interpretation)
在任何镜头正式生产之前,第一道硬性工序是:把每个出场角色的固定形象参考图先跑出来。这张图不是"参考一下",而是后续所有镜头生成时角色外观的唯一基准——形象图不稳定或跑不出来,整个项目在这一步就应该停下来,不该带着一个不确定的角色形象往下做分镜。
这条规则在云端平台(S1/S2 的环境)执行起来相对轻松,因为画布式平台自带跨镜角色一致性能力,形象图定下来之后,无论换机位、换景别、换动作,角色都能大体保持同一个人。
本地条件完全不同:唯一能用的一致性工具是 Qwen-Image-Edit,它只能在同一张底图上做局部编辑——换衣服、换画风可以,但换机位、换景别、换动作会让它失效,因为这些操作本质上要求模型"想象"这个人从另一个角度/在做另一件事时长什么样,而 Qwen-Image-Edit 不具备这个能力,只会输出崩坏的形象。
这个限制反推出一个来源没有明说的结论:本地条件下,一部短片能稳定支撑的角色数量应该压到 1-2 个。角色越多,需要跨机位/跨景别复用形象的次数越多,一致性崩坏的概率就越高——这也是 S2《深夜抓捕醉酒小猫实录》多角色多机位设计始终没能投产的三个根因之一。
A1 — 来源中的应用 (Past Application)
案例 1: S1《后山野花》——角色形象图先锁死→矩阵化生图→镜头拆解筛选,含实际弃用
- 问题: 先跑出核心角色固定形象图,再结合导演简报和脚本做矩阵化生图(16 宫格),从一批结果里筛选符合脚本意图的画面
- 方法论的使用: 筛选中发现模型问题——主角人物形象不对、村长人物形象也不对,只有小孩的形象是对的;这些场景被判定"都不在范畴里面",直接弃用,不将就使用
- 结论: 角色形象是全片一致性的地基,形象不对的素材即使构图/剧情合适也不能用;发现问题后接受较大代价的调整,比硬凑更可行
- 结果: 因为形象图问题,原定的结局场景后来被整个换掉;最终成片仍完成并入围 LipTV 首届赛事——证明"形象不锁死宁可弃用、必要时改故事"这条路径是可行的
A2 — 触发场景 (Future Trigger) ★
用户会在什么情境下需要这个 skill?
- 准备开始做分镜/生产,但还没有为核心角色单独跑出一张固定形象图
- 已经跑出角色形象图,但反复抽卡都不稳定(每次长相有细微差异)
- 计划的短片里有 3 个及以上出场角色,想知道能不能全部保证一致
- 想让某个已锁定形象的角色换一个机位、景别,或做一个新动作,发现生成结果"变了个人"
语言信号
- "角色形象图还没定 / 主角长什么样还没锁"
- "为什么换个机位/角度,这猫(人)看着不像同一只(个)了"
- "这个片子要几个角色,会不会顾不过来"
- "character consistency / reference image / same character across shots"
与相邻 skill 的区分(定稿)
- 与
emotion-to-camera-language的区别:那个 skill 依赖本 skill——它假设角色形象已经锁定,管的是单镜内部怎么用机位/光位/景深/人物状态写提示词;本 skill 管的是"能不能先稳定拿到这个角色"这个前置工序,没锁死之前不该进入emotion-to-camera-language - 与
material-driven-storyboard的区别:那个 skill 管动作/镜头这一层的素材是否可行(有没有对应驱动视频);本 skill 管角色外观这一层是否可行(形象图能不能锁死)。二者是两条独立的可行性检查线,没有严格的先后顺序——项目起步时既可能先有故事去反推素材(material-driven-storyboard先行),也可能先锁定了一个心仪的角色形象再去检查动作素材(本 skill 先行);但两者都必须在正式批量生成(shot-breakdown)之前完成,且常常交替往返:锁完角色发现某个动作没素材,退回改角色设定或改故事,如此反复 - 与
shot-breakdown(镜头拆解)的区别:那个 skill 管生成一批图之后怎么筛选/修正景别机位;本 skill 是镜头拆解的前置条件——形象图没锁死,矩阵化生图筛出来的结果连"是不是同一个人"都判断不了
E — 可执行步骤 (Execution)
确认角色数量,超过 2 个先做精简建议
- 数出剧本里需要保持跨镜一致的核心角色数量
- 若 ≥3 个,向用户说明本地限制(Qwen-Image-Edit 仅能同底图编辑,角色越多一致性崩坏概率越高),建议合并/删减到 1-2 个主角,次要角色可接受较低的一致性要求或只出现在单一机位
- 完成标准:得到一份不超过 2 个"必须跨镜一致"的核心角色清单
为每个核心角色跑出固定形象参考图
- 用文生图(z-image 等)为每个角色单独生成形象图,明确外观细节(发型、服装、体型/花色特征)
- 完成标准:形象图清晰、无明显肢体/五官崩坏,且用户确认"就是这个角色"
判停条件:形象图反复跑不稳定
- 若同一角色连续多次抽卡后,五官/花色/体型仍有明显漂移,视为项目卡点
- 判停:不要带着不确定的形象图继续往下做分镜;先换模型/checkpoint 重试,或收窄描述细节,直到拿到一张稳定的形象图再继续
- 完成标准:拿到用户确认"稳定可复用"的最终形象图,才能进入下一步
把形象图设为后续所有镜头的参考图输入,且只做同底图编辑
- 后续图生图/换装/写实化等工序,一律以该形象图为参考底图,只允许改动服装、风格等局部属性
- 完成标准:写清楚"本片角色参考图 = 某张图",作为共享前提写入分镜表
校验每一镜是否要求超出同底图编辑范围
- 逐镜检查是否要求换机位、换景别、换动作
- 若是,明确告知用户这已超出本地一致性能力边界,需要接受该镜角色一致性下降,或转
material-driven-storyboard思路换一种可行的实现方式(如换驱动视频、改用静态图) - 完成标准:分镜表里每一镜都明确标注"同底图编辑可行"或"已知一致性风险,用户已知情"
B — 边界 (Boundary) ★
不要在以下情况使用此 skill
- 用户在云端画布平台(即梦/可灵等)上创作,该平台原生具备角色一致性能力——此时不必如此保守地限制角色数量或编辑范围,可按 S1/S2 原有流程走
- 讨论的是非叙事类出图(产品图、UI、示意图),没有"跨镜同一角色"这个需求
- 角色形象已经稳定锁定,用户只是在问某一镜的机位/光位/人物状态怎么写——转
emotion-to-camera-language
来源中警告的失败模式
- 形象图没锁死就往下做:S1 明确警告"不然你后面是完全没办法做的"——没有稳定形象图,后续所有镜头的生成和筛选都失去了判断基准
- 形象跑偏还硬用:S1 案例中主角、村长形象不对仍被生成出来,若不弃用会导致全片角色前后不一致;正确做法是弃用并接受改故事的代价
- 跨机位/跨景别硬套同一致性方法:S3 边界明确指出 Qwen-Image-Edit 只能同底图改,换机位/景别会崩,这不是"多试几次"能解决的概率问题,而是能力边界问题
作者的盲点 / 局限
- S1/S2 的角色一致性经验建立在画布平台/云端模型自带能力之上,本地条件明显更弱,二者没有真正提供"本地条件下怎么保持一致性"的解法,只提供了"要不要先锁形象"这个前置顺序
- "角色数量应压到 1-2 个"是本次蒸馏基于 Qwen-Image-Edit 能力边界的推导结论,来源中没有任何一处明确提出这个数字,属于外推而非实测验证;若本地未来接入更强的角色一致性工具(如原生 IP-Adapter 级别能力),这条数字上限需要重新评估
- S1 案例的"改结局"解法依赖故事本身有留白/隐喻式收尾的弹性(莲花意象),并非所有故事都能承受"角色形象崩了就换结局"这种代价较大的调整
容易混淆的邻近方法论
- 与"抽卡-筛选-拼接"不是一回事——那是针对任意镜头生成结果的通用验收策略;本 skill 专门针对形象图这一张图的验收,且失败后果更严重(形象图崩,后面全崩,不是单镜可用不可用的问题)
- 与"矩阵化生图→镜头拆解"(S1 方法)不是同一层:镜头拆解假设角色形象已经稳定,只处理景别/机位筛选;本 skill 是镜头拆解能够成立的前提
相关 skills
- depends-on: 无(本 skill 是全流程最前置的可行性检查之一,不依赖其他 skill)
- contrasts-with: 无
- composes-with:
material-driven-storyboard(角色外观可行性 vs 动作/素材可行性,两条独立检查线常在项目早期交替确认,无强制先后顺序,但都要在shot-breakdown批量生成前完成)
审计信息
- 验证通过: V1 ✓(S1、S2 两个独立来源都把它列为前置必做项) / V2 ✓(可推导"多角色片怎么办"——本地条件下角色数量应压到 1-2 个,因 Qwen-Image-Edit 只能同底图改,角色越多越容易崩,来源没讲这个推论) / V3 ✓(不是常识——常识会说"保持一致",但"必须先跑出固定形象图,跑不出就别往下做"是硬性工序判断)
- 测试通过率: 待阶段 4
- 蒸馏时间: 2026-08-01