ahel is live on Product Hunt today. Upvote

角色形象先锁定

SkillMedia

Invoke when the baseline character reference image hasn't been generated yet, or when repeated runs are unstable, i.e., not even one fixed reference image has been settled on. Also invoke when there are 3+ characters, or when changing camera angle/shot type/action while keeping the same person. **B

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the 角色形象先锁定 skill

What this skill tells your AI

The instructions your AI receives, as published by l-trunks/ai-film-skills in skills/lock-character-reference/SKILL.md and read by ahel’s review.

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?

  1. 准备开始做分镜/生产,但还没有为核心角色单独跑出一张固定形象图
  2. 已经跑出角色形象图,但反复抽卡都不稳定(每次长相有细微差异)
  3. 计划的短片里有 3 个及以上出场角色,想知道能不能全部保证一致
  4. 想让某个已锁定形象的角色换一个机位、景别,或做一个新动作,发现生成结果"变了个人"

语言信号

  • "角色形象图还没定 / 主角长什么样还没锁"
  • "为什么换个机位/角度,这猫(人)看着不像同一只(个)了"
  • "这个片子要几个角色,会不会顾不过来"
  • "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)

  1. 确认角色数量,超过 2 个先做精简建议

    • 数出剧本里需要保持跨镜一致的核心角色数量
    • 若 ≥3 个,向用户说明本地限制(Qwen-Image-Edit 仅能同底图编辑,角色越多一致性崩坏概率越高),建议合并/删减到 1-2 个主角,次要角色可接受较低的一致性要求或只出现在单一机位
    • 完成标准:得到一份不超过 2 个"必须跨镜一致"的核心角色清单
  2. 为每个核心角色跑出固定形象参考图

    • 用文生图(z-image 等)为每个角色单独生成形象图,明确外观细节(发型、服装、体型/花色特征)
    • 完成标准:形象图清晰、无明显肢体/五官崩坏,且用户确认"就是这个角色"
  3. 判停条件:形象图反复跑不稳定

    • 若同一角色连续多次抽卡后,五官/花色/体型仍有明显漂移,视为项目卡点
    • 判停:不要带着不确定的形象图继续往下做分镜;先换模型/checkpoint 重试,或收窄描述细节,直到拿到一张稳定的形象图再继续
    • 完成标准:拿到用户确认"稳定可复用"的最终形象图,才能进入下一步
  4. 把形象图设为后续所有镜头的参考图输入,且只做同底图编辑

    • 后续图生图/换装/写实化等工序,一律以该形象图为参考底图,只允许改动服装、风格等局部属性
    • 完成标准:写清楚"本片角色参考图 = 某张图",作为共享前提写入分镜表
  5. 校验每一镜是否要求超出同底图编辑范围

    • 逐镜检查是否要求换机位、换景别、换动作
    • 若是,明确告知用户这已超出本地一致性能力边界,需要接受该镜角色一致性下降,或转 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

Signals

GitHub stars
20
Forks
4
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
lock-character-reference
Source
github.com/l-trunks/ai-film-skills