技能库 · 导演

跨镜一致性

治 AI 视频多镜头「同角色换脸 / 同道具换形 / 同场景换景」三大顽疾的方法论——五维一致性检查、参考图锚定、场内状态表、段间承接。Nomi 拆镜头与跨镜生成时参考:把每个跨镜元素落成画布 anchor 节点(角色/场景/道具/风格),镜头用 anchorIds 引用、系统连参考边,段间用首尾帧承接。

  • 适用:文字
  • 许可证:AGPL-3.0-only

在 Nomi 里

Agent 需要时会自己用;也可以在 Nomi 左侧「技能」里点开它,让 Agent 按这份方法来。

在其他助手里

这是标准的 SKILL.md 技能包。把整个文件夹放进支持技能的助手(如 Claude Code、Codex)的技能目录即可。

AI 视频生成的头号敌人不是「画面不好看」,而是同一个人看起来不像同一个人。多镜头、多段的片子若不解决一致性,观众看两三镜就出戏。本文不发明技术,而是把业界已验证的一致性手段整理成拆镜头与生成时的强制动作。

在 Nomi 里落地的方式:凡是「跨镜头要保持一致」的东西,都建成画布上的 anchor 节点(kind:character 角色 / scene 场景 / prop 道具 / style 风格)。视觉锚(carrier: visual)会先生成一张参考图锁住长相;文本锚(carrier: text)把特征词拼进每个引用它的镜头。镜头用 anchorIds 引用哪些锚,系统据此给视觉锚连参考边、把文本锚描述拼进 prompt。所以下文凡说「@引用某素材」,在 Nomi 里就是在该镜的 anchorIds 里点名那个 anchor,不是把提示词复制到外部工具。


一、一致性的五个维度

每个镜头产出前,逐维度自检——哪一维会漂移,就为它建/引用对应的锚:

维度 盯什么 失控表现 在 Nomi 的锚定手段
角色 脸、身材、发型、肤色、瞳色 换脸、身高忽高忽低 character 视觉锚(参考图含面部特写 + 三视图)+ 镜头 anchorIds 引用
服化 服装版型、配色、质地、饰品、武器 同场戏换衣、纽扣数变化 视觉锚定妆图锁版型 + 文本锚补服装色卡/关键细节词
道具 关键道具的造型、材质、铭文 道具外形每镜不同、设备换型 prop 视觉锚(多角度 + 材质特写 + 比例参照)+ anchorIds 引用
场景 空间布局、光源位置、装饰细节 同一房间家具搬家、窗户消失 scene 视觉锚(空场景全景 + 光位)+ 镜头复述主光方向
时序 同场戏内动作连续性、伤痕、服装残损 上一镜干净下一镜染血(或反之) 场内状态表(见 §三),锚管不了「同一场内的状态推进」

前四维靠锚(跨镜「这一个特定实例」保持不变),第五维靠状态表(同场景内状态只增不倒退)——两套机制互补,别混用。


二、三级锚定体系

一致性靠三层由强到弱的绑定,越靠上越硬:

Level 1 · 参考图锚定(源头)

主要角色、关键道具、固定场景都建成视觉锚,让系统先生成一张参考图作为「唯一真相」。参考图质量直接决定后面所有镜头的下限,所以定妆/定景描述要中性、干净:

  • 角色:面部特写 + 全身三视图(正/侧/背) + 干净背景,全身中性站姿、不带剧情动作、光影不过强。
  • 道具:多角度(至少 3 个视角) + 材质特写 + 比例参照(放一只手或常见物体作尺度)。
  • 场景:空场景全景 + 关键光位,不带人物、不带剧情。

一元素一锚,不要合成:人物、场景、道具各自独立建锚、各自独立参考图,绝不把人物和场景塞进同一张参考图——合成会同时拉低场景和人物的 identity 精度。这正是 Nomi「每个跨镜元素一个 anchor 节点」的设计初衷:系统会把多张参考图分别喂给生成,不需要、也不要你手动拼成一张。

Level 2 · anchor 引用(镜头层)

镜头只引用锚,不在 prompt 里重描锚的静态外貌。外貌交给参考图/文本锚,镜头 prompt 只写这一镜独有的运镜与动作:

  • 良例:anchorIds: [角色A, 指挥舱];prompt =「角色A背部直挺,右手食指缓慢从面板抬起后放下」。
  • 劣例:不引用锚,prompt 里从头描述「一个穿制服的男人在飞船舱桥中……」→ 每镜重描 = 每镜重掷骰子 = 必漂移。

硬规则:出现在某镜里的每个角色 / 所在场景 / 用到的道具 / 整片风格,都要列进这一镜的 anchorIds;只出现一次的一次性元素(群演、路过的物件)不建锚,直接写进那一镜 prompt。

Level 3 · 段间承接(handoff)

段与段之间(一场戏拆成多个连续镜头,或一整段接下一段)的视觉连续性,靠首尾帧承接:上一镜的尾帧状态(角色位置/朝向/姿态/环境/光位)明确传给下一镜的起点。Nomi 里对应「用上一镜产物做下一镜的首帧(first_frame)」或在下一镜 prompt 里显式承接尾帧状态。承接分三级:

级别 何时用 怎么接
L1 强锚定(同场景跨镜) 尾帧和下一镜起点必须严格一致 下一镜用上一镜尾帧做首帧,或 prompt 明确承接「角色位置/朝向/姿态/环境」
L2 软锚定(换场景但情绪连续) 位置不必对齐,但色调/光位/角色朝向要匹配 下一镜 prompt 保持「同色调 + 同主光方向 + 朝向匹配」
L3 硬切(叙事跳转/时间跳跃/蒙太奇) 视觉不需连续 下一镜独立起帧,连续性交后期剪辑

判断口诀:同一场戏内的相邻镜头默认 L1(拆条只为绕过单条时长上限,画面本应无缝);换地点但情绪不断用 L2;闪回/跳时间/蒙太奇用 L3。


三、场内状态表 (State Table)

同一场戏内的连续性问题(染血、服装残损、伤痕、手持道具的有无)靠状态表管理——它管的是「同一场景里随剧情推进的状态变化」,是锚管不到的那一维。编写多镜头场戏前,先列一张表把每镜的关键状态钉死:

## 指挥舱对峙 · 状态表
| 镜号 | 角色A 状态          | 角色B 状态        | 关键道具     |
|------|--------------------|------------------|-------------|
| 镜12 | 制服整洁            | 站立,面无表情    | 控制台完好   |
| 镜13 | 制服整洁            | 身体微倾,瞳孔收缩| 控制台完好   |
| 镜14 | 右颊划伤            | 后退一步          | 控制台裂纹   |
| 镜15 | 右颊划伤 + 衣领扯开 | 倒地              | 控制台裂纹   |

硬规则(状态只进不退):一旦某镜出现血 / 伤 / 衣破 / 湿身,后续所有同场镜头的 prompt 必须继承该状态,直到场景结束或剧本明确有清洗/换装动作。倒回「干净」= 穿帮。


四、段与段的承接检查

一段接下一段(尤其角色/道具/场景跨段复用)时,过一遍承接:

  1. 末状态对齐:下一段首镜的角色状态(伤痕/服装/情绪残留)要接上一段末镜的状态,除非剧情明确跳了时间。
  2. 道具延续:跨段出现的同一道具(飞船、关键物件)复用同一个 anchor,不要为它重新建锚、重新生成参考图。
  3. 场景复用:跨段复用的场景沿用原来那个 scene 锚,不重新生成参考图——重生成 = 家具搬家。
  4. 重大外观变化才拆锚:只有「少年↔成年 / 伤前↔伤后 / 彻底换装」这种认不出是同一个的变化,才把同一角色拆成两个锚并在 description 写清差异;普通情绪/小动作变化不拆锚。

五、常见一致性陷阱与规避

这些是 AI 生成的系统性弱点,属硬约束——重掷骰子基本无用,必须靠「换画面结构」绕过,别指望多抽几次能好:

陷阱 典型表现 规避
群演脸 同一群演相邻镜头脸变了 群演/一次性配角不建锚,用去个性化描述(戴头盔/背影/远景),避免特写
手部 AI 普遍画不好手,多指/缺指 握物/操作镜头避免手部特写;非给不可时用参考图明确指法
文字/铭文 招牌字、飞船编号、徽章文字反复变且乱码 prompt 不写要渲染的文字;用图形符号代替字母,片名/字幕一律后期叠
比例漂移 同一物体(飞船/建筑)尺寸在不同镜头不一致 与参照物同框(人、标准箱体),禁止纯空镜比例;关键道具用比例参照建锚
光位变异 同场戏光源方向乱跳 场景锚参考图标注光位,每一镜 prompt 复述主光方向
口型对白 正脸对白口型对不上 侧脸 / 画外音 / 不露正脸,配音交后期

六、拆镜头 / 审镜头时的一致性核对清单

拆完镜头、或复核一份分镜方案时,逐条打勾:

  • 出现在某镜里的角色 / 场景 / 道具 / 全片风格,是否都进了这一镜的 anchorIds?(漏引用 = 漏锚 = 会漂)
  • 镜头 prompt 里有没有重复描述锚的静态外貌?(应交参考图/文本锚,prompt 只写运镜+动作)
  • 同一个人是否只建了一个角色锚?(别名/职称/「他」都归并成一个,别一人两锚)
  • 同场戏内的状态(伤/血/衣破/湿身)是否与状态表一致、只进不退?
  • 相邻/跨段镜头的承接级别(L1/L2/L3)是否想清楚,L1 是否用尾帧做了首帧或 prompt 承接?
  • 有没有踩 §五 的硬约束(手部/文字/比例/光位/口型),并已用画面结构规避?

任一未满足就回去改——一致性是拆镜头阶段一次性想清楚的事,等生成出来才发现漂移,返工成本高得多。

商业级体验,模型按原价。

macOS · Windows · AGPL-3.0 · 不用注册

下载 Nomi
选择适合这台电脑的版本

能识别系统时会直接下载;无法可靠判断 Mac 芯片时,请选择对应安装包。

macOS 第一次打开

当前 macOS 安装包未使用 Apple Developer ID 签名,也未经过 Apple 公证。请只使用本页或 Nomi GitHub 官方仓库的下载链接。

  1. 下载对应的 DMG,把 Nomi 拖到“应用程序”。
  2. 在 Finder 的“应用程序”中右键 Nomi,选择“打开”,再确认“打开”。
  3. 如果仍被拦截,打开“系统设置” → “隐私与安全”,找到 Nomi 后点击“仍要打开”。

仅当 macOS 提示 Nomi“已损坏”时:先确认安装包来自上述官方链接,再打开“终端”运行:

xattr -dr com.apple.quarantine "/Applications/Nomi.app"

不需要、也不要全局关闭 Gatekeeper。