每个 text-to-image 模型默认每次出一个略不同的人。对独立作者、漫画作者、游戏开发、要在 20 张 banner 里跑同一个吉祥物的品牌团队来说,这种漂移就是素材读着像”AI 出的”而不是”设计过的”最大原因。修法是:一张定型参考图 + 一份冻结的结构化描述——靠纪律,不靠灵感。
这篇主要解决什么问题
生一张好看的图很容易,生十张都像同一个人很难。这篇把”同角色跨场景”做成可复用流程:角色 bible(一张参考图 + 一份特征表)+ 工具自带的参考功能(Midjourney --cref、ChatGPT image 输入、Stable Diffusion LoRA、Sora 角色系统)。目标是能交付的稳定一致,不是侥幸的一张。
这篇适合谁看
要画章节插图 / 封面的独立作者、需要同一 NPC 在头像和战斗 pose 都出现的游戏开发、不能重画的漫画 / webtoon 作者、要在一套素材包里维持一致吉祥物的品牌团队、给课程做 cohort 视觉的教育创作者。角色只出现一次可以跳;出现 5 次以上立刻回本。
什么时候适合用
角色要在 5 张以上图里出现,且必须像同一个人。新品牌吉祥物上线、画书 / 漫画系列、做游戏角色阵容、产出有反复出场角色的短篇——都用这套。每场景主角即来即走的编辑插画不必。
什么时候不建议用
一次性插图、真人头像(用真实拍摄——未经允许用 AI 复制特定真人有法律和伦理问题)、根本没有定型视觉的角色(漂移其实是 feature)。也别用在超写实真人——小差异都被读成”换了个人”,当前模型扛不住。
开始前准备
- 早期定风格:stylized 插画、anime、painterly、photoreal-stylized、纯 photoreal。stylized 容忍小变化;photoreal 不容忍。
- 选工具链:Midjourney
--cref+--sref、ChatGPT image 输入、Stable Diffusion + LoRA / DreamBooth、Sora 视频帧、Flux + Redux 参考。先在你角色上小测再 commit。 - 留好目录:
/character-bible/{角色名}/canonical.png、traits.md、prompt-template.md、outputs/。 - 先留 1-2 小时只做定型图。参考图是最重要资产,别赶。
具体步骤
- 生成定型头像。 正脸、中性背景、清晰打光、中景。出 12-20 张挑最强一张。这是唯一一次”在找角色”,之后都是”在向它对齐”。
- 写特征表。 5-7 个可见的具体特征:发色 + 长度 + 质感、眼色、肤色、辨识标记(疤、雀斑、纹身位置)、招牌服装 / 配饰、体型。别写抽象特征(“善良的眼神”——模型理解会漂)。
- 把参考图当输入用。 支持的工具:Midjourney
--cref URL --cw 100、ChatGPT image 附上 canonical、Stable Diffusion 用 IP-Adapter 或 ControlNet reference 预处理器、ComfyUI 的 Flux Redux 节点。参考图传达的信号比任何 prose 都强。 - 不支持图输入的工具:特征表原文照搬。 不要换说法。“auburn shoulder-length wavy hair” 在每个 prompt 里都一字不改。微小改述累积到第 5 张就变了个人。
- 每个新场景只换背景、灯光、姿势。 角色描述逐字节一致。
prompt-template.md里只留scene和pose两个占位。 - AI 漂了就抬参考权重。 Midjourney 把
--cw拉到 100;Stable Diffusion 把 IP-Adapter 权重抬到 0.8-1.0;ChatGPT 把参考图重附并显式提醒模型。 - 维护角色 bible。 参考图 + 标准特征 + 3-5 张已审过的场景输出做未来参考。bible 随项目长大。
特征表样例
姓名:Mira
发:auburn, shoulder-length, wavy, side-parted left
眼:green, almond-shaped
肤:warm olive
标记:右眉上方一道小疤
着装:charcoal canvas jacket with brass buttons,
knee-high boots, leather satchel slung right shoulder
体型:medium height, athletic
每个场景 prompt 把这段放最前,附一句动作 + 场景。
第一次实操怎么跑
- 用整 1-2 小时做定型头像。
- 用参考 + 冻结的特征表生 3 张场景图。
- 把 4 张(定型 + 3 场景)小图并排或缩略图查看。眯眼看。任何一张读着像别人,特征表太泛或参考权重太低。
- 调一个变量(通常是参考权重)后重生这 3 张。
完成后检查
- 定型和新场景并排缩略图——同一个人吗?
- 标记(疤、雀斑)在新场景里还在吗?最容易暴露的就是它消失了。
- 着装有没有往未指定方向漂?“charcoal jacket” 还是 charcoal 还是到第 8 张变成 “dark blue”?
- 角色有没有跨场景悄悄变老或体型变?年龄漂是常见 bug。
怎么复用这套流程
- 角色 bible 稳定后跨项目复用。同一份特征块隔几个月还出一致结果。
- 建
scenes/库把已审输出当新生成的额外参考。 - 系列作品里每个角色一次会话里出齐关键画面,让对话型模型预热。
- 角色有意图地”变老”或换装(章节切换、季节变化)就明确升级 bible 版本,不是任由漂移。
建议的操作流程
吉祥物 12 个场景:先定型 → 5 特征描述 → 每个场景 [特征块] doing [动作] in [场景], [姿势], [打光]。12 张保持一致。含迭代约 3-4 小时;不上这套纪律时间是十分之一但结果不能用。
容易踩的坑
- 每个场景换说法描述角色。“red hair” -> “ginger” -> “auburn” -> 第 5 张换了个人。
- 中途加新特征(“她现在戴个吊坠”)。坚持定型版本,或显式升级 bible。
- 没存定型图。唯一的客观锚丢了,每一次漂都在累积。
- 死磕超写实真人级一致。选风格化角色,眼睛对小差异更宽容。
- 一个角色系列里混用不同模型。Midjourney 的 Mira 和 SD 的 Mira 不会对齐——选一个。
- 让 prompt 顺序漂。特征块永远放最前;挪到后面影响力会降。
进阶技巧
- 最大一致性用显式角色参考的工具(Midjourney
--cref权重 100、用 15-30 张训出的 SD LoRA、Flux Redux、Sora 角色系统)。 - stylized 比 photoreal 更利于一致——卡通和 painterly 对小变化宽容。
- 漫画 / 故事系列:一次会话里出所有画面,模型对角色”预热”了。
- 有 15-30 张已审输出后训一个 LoRA。未来不用每次都附参考图也能稳。
- 视频(Sora、Veo):先生一帧强 canonical key frame,再用 image-to-video 驱动运动。纯 text-to-video 的角色一致性还很弱。
怎么验收输出
- 定型图存高分辨率。
- 5-7 特征表跨场景一字不改复用。
- 工具支持就附参考图。
- 角色 bible 文档维护并版本管理。
- 缩略图大小并排查所有场景输出后再批准。
FAQ
- 角色一致性最好的工具?: 快速迭代用 Midjourney
--cref;最大控制用 SD + LoRA;高保真参考匹配用 Flux Redux;视频用 Sora 角色系统。在你具体角色上实测,风格不同结果不同。 - 能用我的角色训模型吗?: Stable Diffusion 可以——LoRA 大约 15-30 张参考图就能出强一致性。DreamBooth 更猛但更重。闭源模型用它们自带的参考功能。
- 附了参考图脸还是漂怎么办?: 参考权重太低,或参考图本身就不一致(一张里多角度会让系统困惑)。用一张干净正脸 canonical。
- 多少特征算多?: 超过 8-10 条具体特征模型会随机丢一些。挑最显眼、最辨识的留下。
- 能做超写实真人一致吗?: 当前公开模型还不可靠。stylized photoreal(略 painterly 的写实)能扛;纯 photoreal 跨多变体还不稳。
- 角色要在 100 张图里出现怎么办?: 头 20 张已审后训一个 LoRA。后续成本断崖式下降、一致性更稳。