AI · AI视频
怎样让AI视频在多个镜头之间保持一致?
简短回答
在生成之前,先把不该变的东西固定下来:一张角色参考图,一套服装和场景描述,一种光线布置,一种色彩风格。然后用这些参考逐个生成镜头,把上一段的最后一帧当作下一段的第一帧来衔接,再用动作剪辑等手法掩盖剩下的细小差异。
镜头为什么会越拍越不一样
视频模型生成每个片段时,都是从随机噪声出发,把它变成符合提示词的画面。同一条提示词的两次生成,起点的噪声不同,所以脸会有细微差别,外套的纽扣不一样,演员身后的窗户也不同。在一个片段内部,模型能同时看到所有帧,所以保持稳定;而在两个独立的片段之间,它完全没有记忆。
研究人员也描述过同样的断层。论文 Long Context Tuning for Video Generation(2025)指出,能生成长单镜头的模型,仍然很难生成连贯的多镜头场景,并提出把模型的注意力扩展到一个场景的所有镜头,让它学会场景级的一致性。一些商用模型现在宣传原生的多镜头生成,比如 Seedance 1.0 技术报告就把主体一致的多镜头叙事连贯性列为一项功能。
原生多镜头功能有帮助,但就目前而言,只限于一次生成内部的短序列。一部短片或一集内容,仍然要由许多次生成拼成,所以下面的方法依然是工作的核心。
什么必须保持不变:连贯性清单
剧组会记录连贯性笔记(continuity notes),好让分几天拍摄的一场戏看起来像是同一时刻。在写任何提示词之前,也这样做。下面每一行,都是一段固定的简短文字,或者一张可以原样重复使用的参考图。
| 要素 | 如何锁定 | 典型的失误 |
|---|---|---|
| 脸和身形 | 一张参考图,加一段固定文字(年龄、发型、体型) | 镜头之间脸型或年龄变了 |
| 服装 | 写明具体的衣物和颜色,逐字复用 | 外套颜色或领子变了 |
| 道具 | 每件道具只命名并描述一次,始终在同一只手里 | 手机换了手,或者消失了 |
| 场景 | 一张场景参考图,加一段固定描述 | 家具或窗户的位置变了 |
| 光线 | 一句话:主光源、方向、时间 | 一个镜头是白天,下一个就成了傍晚 |
| 色彩风格 | 一段调色描述,最后在剪辑软件里统一调色 | 一个镜头偏暖,下一个偏冷 |
| 画面方向 | 记下每个角色朝向和移动的方向 | 剪辑之后角色左右互换 |
| 声音 | 每个角色一种声音,每个场景一层环境声 | 音色或房间底噪变了 |
方法1:用参考图,不要只用描述
光靠文字,锚点很弱。“短黑发的女人”能对应上百万张脸。参考图是强得多的锚点,因为它固定了一张具体的脸。就目前而言,许多工具接受主体或角色参考图:比如 Google 的 Veo 文档就介绍了一种参考模式,使用一到三张人物、角色或产品的图片,让主体的外观在输出里得到保留。
先把参考图做好,用静态图,因为重试很快:
- 一张角色设定图:同一个人的正面、四分之三侧面和侧面,加上一张穿着最终服装的全身图,背景朴素。
- 为场景里的每个地点各做一张场景静帧,用最终的画幅比例。
- 如果某件物品对故事重要,再做一张关键道具图。
角色设定图要用平淡均匀的光线。参考图里带有强烈的彩色光,往往会被复制进每一个镜头,然后和每个场景自己的光线打架。
方法2:用帧来衔接镜头
两个镜头需要流畅衔接时,比如一个连续动作被拆成了两段,就用帧而不是文字来连接它们。
- 尾帧衔接:导出镜头A的最后一帧,在图生视频中把它用作镜头B的第一帧。这样B的开头和A的结尾完全吻合。
- 首尾帧:如果工具两者都支持,就给它镜头必须开始的那一帧和必须结束的那一帧,让模型补全中间的运动。当镜头C必须落在一个已经规划好的关键帧上时,这很有用。
- 关键帧分镜:先用同一批参考图做出所有关键帧,放在一起检查,再逐个让它们动起来。
衔接是有代价的。小误差会累积:镜头A结尾稍微软一点的脸,会成为镜头B起始的脸,连续几环之后,角色就可能走样。每隔几个镜头重新锚定一次,用原始参考图做出的新关键帧开始,而不是用上一段的最后一帧。
方法3:让提示词共用固定的段落
把提示词看作若干固定段落,加一个会变的段落。镜头之间只有镜头段落在变。
[CHARACTER] Leo, a man in his 20s, curly brown hair, round glasses,
mustard-yellow knit sweater, dark blue jeans.
[LOCATION] Small bookshop interior, tall wooden shelves, one large front window.
[LIGHT] Late afternoon sun through the front window from screen right, warm tones.
[SHOT] Medium shot, eye level. Leo pulls a red book from the shelf and opens it,
facing screen left. Slow push-in.下一个镜头,原样复制前三段,只替换 [SHOT] 段。如果故事转到新的地点或新的时间,就写一次新的 [LOCATION] 或 [LIGHT] 段,之后一直复用它。
方法4:在剪辑里藏起无法修复的部分
即使用了参考图,仍会剩下一些差异。剪辑师长期以来有一些技巧,能让细小的不匹配看不出来:
- 动作剪辑(cut on action)。在动作进行到一半时切,眼睛会跟着运动,从而忽略细节。
- 每次切镜都改变景别。全景接特写,能掩盖不同的背景;两个连续的中景则会暴露它。
- 使用插入镜头和切出镜头(cutaway)。手部、物件或环境的镜头,让观众在两个人脸镜头之间喘口气。
- 整段序列一起调色。在所有片段上统一做一次色彩校正,让光线感觉一致。
- 在剪辑点之下铺一条连续的声音。贯穿多个镜头的房间底噪或音乐,会让它们感觉像是同一时刻。
发布前的质量检查
把序列看三遍,每遍只找一类问题:
- 身份:在每张脸上定格,与参考图对比。检查年龄、眼睛颜色、发际线、眼镜和疤痕。
- 物体:逐个镜头追踪每件道具和服装。检查哪只手拿着什么。
- 空间与时间:检查画面方向、光线方向和窗外的天气。
只重新生成不合格的镜头。为每个通过的镜头记录参考图、提示词和设置,这样以后才能做出风格匹配的替换镜头。
常见问题
可以用种子数字来保持镜头一致吗?
固定的种子加固定的提示词,在同一款工具里可以复现相近的结果,但新镜头的提示词一变,输出也会跟着变。种子有助于重试,而不能保证不同镜头之间的一致。
是生成一个长片段好,还是生成许多短片段好?
单个长片段内部能保持一致,但你的控制力较弱。许多短片段更容易导演,也便于逐个修改。大多数叙事类作品都是用短片段在剪辑软件里拼接的。
如何让同一个镜头里的两个角色都保持一致?
为每个角色单独做一张参考图,并让他们的轮廓和颜色明显不同。尽量让他们在画面中分开,特写时则分别用每个人的单人镜头。
为什么我的角色的声音在不同片段之间会变?
能生成音频的模型,除非你提供声音参考,否则每个片段都会生成一个新的声音。要想可靠,就单独录制或生成对白,用一个固定的声音,再到剪辑里加进去。
要保持一致性,需要 LoRA 或自定义模型吗?
大多数短项目不需要。参考图加固定的提示词段落就够了。对于用开源模型做的长篇系列,训练一个角色模型会有帮助,但这需要时间,而且必须遵守模型的许可证。