多镜头片段单独看还行、接起来人物长得不一样,通常不是单帧画得不好,而是每生成一镜,角色这个变量被重新采样了一次。可控的做法是把角色从“每镜重新描述”改成“一份锚点加一张参考图”:先固定跨镜头不变的部分,再逐镜生成、逐镜比对,最后只回填有问题的镜头。
处理方向:先建角色锚点表,固定角色外形、服装主色、画面比例三项;再用同一张参考图先跑中景、再跑近景,确认锚点在景别变化下仍成立。之后把镜头脚本拆成一列一行,每行只写景别、动作、环境。发现漂移时,从漂移的那一镜开始重跑,前面的合格镜头不动;只有锚点本身失效才换参考图,换图意味着全部镜头回到同一起点。镜头多时按叙事权重排序,先保能看清角色正脸的镜头。
先确定跨镜头必须不变的三件事
锚点表要覆盖的范围,通常就三类固定项,其余都可以变。
- 角色外形:脸型、发际线与发型长度、发色、眉形眼型、体型比例。写成一两句可复述的描述,不要写“帅”“清冷”这类主观词。
- 服装主色:上衣或外套的主色、第二配色、标志性配饰位置。多镜头拼接时最容易先崩的就是主色块面积。
- 画面比例:宽高比、人物在画面中的占比基准、头顶留白。比例不一致,同一角色切镜头时像换了身高。
这三类固定项建议各自落在锚点表的独立列里,不要合并成一列“角色描述”。生成前只填固定列,生成后再填结果列,避免边生成边改锚点。
| 镜头编号 | 景别 | 角色外形(锚点) | 服装主色(锚点) | 画面比例(锚点) | 本镜允许变化 | 判定 |
|---|---|---|---|---|---|---|
| shot_01 | 中景 | 齐耳短发、深色发、窄脸 | 深灰外套加深红内搭 | 16:9,人物占画面高度约一半 | 背景、光照方向 | 基准镜 |
| shot_02 | 近景 | 复制上一行,不改 | 复制上一行,不改 | 16:9 | 景别、构图松紧 | 待比对 |
锚点列一旦写入,跨镜头不允许改。中途改一个词,等于换了一个锚点,已经生成并合格的镜头与新锚点不再对齐,只能按新锚点重跑。修正措辞属于改锚点,不属于优化提示词。
用同一张参考图跑通两个不同景别
参考图锁住的是长相与配色来源,景别只是取景范围。建议先跑中景、再跑近景:中景能同时看到脸、体型和服装主色,先把这套关系稳定下来;近景会放大脸部权重,如果先做近景,中景里的服装主色和头身比更容易被改掉。
两个景别之间允许变化的参数:景别、构图松紧、人物占比、光照方向、背景虚化程度。不允许变的:参考图、角色外形描述、服装主色、画面比例。接入时用同一份锚点块拼两个不同景别字段,骨架大致如下,字段名按实际工具改:
{
"reference_image": "<角色参考图路径或ID>",
"anchor": {
"appearance": "<角色外形固定描述>",
"outfit_main_color": "<服装主色>",
"aspect_ratio": "16:9"
},
"shot": { "scale": "medium", "action": "...", "scene": "..." }
}第二个镜头只把 shot.scale 改成 close,anchor 与 reference_image 原样复制,不要重新写一遍描述。效果是否合格,按可观察项判断:遮住背景只看人物,近景与中景的脸宽、眼距、发际线走向应能被认成同一个人;服装主色在两镜里应落在同一色系,色块面积随景别变化属于正常,颜色本身变化则不通过;画面比例与人物占比基准不通过就直接重跑,不要继续往上加形容词。
把镜头脚本写成一列而不是一段话
一整段提示词里塞进“近景、她转身、雨夜走廊”,模型对不同信息的权重会互相污染,镜头之间的差异也被抹平。更稳的做法是一镜一行,每行只保留三段:景别、动作、环境,用竖线分隔。
shot_01 | 中景 | 角色站定,单手插兜 | 室内走廊,左侧窗光
shot_02 | 近景 | 角色抬眼,无位移 | 同走廊,左侧窗光
shot_03 | 中景 | 角色转身走向门口 | 同走廊,窗光减弱填写约束:动作列只写一个可观察动作,不写情绪评价,也不写镜头运动;环境列只写光源方向和主背景,不堆道具清单;景别列用中景、近景、远景这类固定词,不要临时造词。需要角色情绪时,把情绪写进锚点表并在所有镜头复用,而不是在单镜脚本里临时加一个形容词。
生成时把锚点表与当前这一行拼成一次请求,锚点块保持前后一致。发请求前先校验两件事:本行是否只有三段、参考图字段是否与上一镜完全相同。两项都通过再发,能省掉大量无谓的重跑。
逐镜头比对角色是否漂移并决定重跑范围
比对顺序按镜头编号从前到后走。shot_01 通常作为基准镜,之后每拿到一镜,同时与基准镜和前一镜比。比对项固定三类:轮廓与五官(脸型、发际线、眼距)、服装主色(色系与主色块位置)、画面比例(宽高比与人物占比)。任一不一致,记下漂移镜位 N。
重跑范围只从 N 开始,N 之前的合格镜头不动。如果 N 的漂移只在细节,比如配饰位置或发丝走向,按原锚点重跑该镜即可;如果 N 出现整块服装主色变化或脸型明显不同,先回锚点表检查是不是漏了字段,把漏项补进固定列,再从 N 开始重跑。
是否换参考图:只有同一张参考图在连续两镜里都拉不回锚点时才考虑换。换图等于换基准,所有镜头都要按新图重跑,所以不要在同一批镜头中间换图,否则差异会集中在换图之后。
回填方式:镜头文件按 shot_编号命名,成片按编号顺序拼接,重跑只替换同名文件,时间轴和剪辑点不变。重跑完成后,至少把 N-1、N、N+1 三镜连起来看一遍,确认接缝处没有跳变再继续下一镜。
镜头数量多了以后先保哪些镜头
镜头变多之后,全部按同一标准精修不现实,需要按叙事权重排序。排序方法是先挑观众能看清角色正脸的镜头,通常是出场首镜、台词镜头、正面近景,这些归为锚点级,必须严格按锚点表生成并逐镜比对;其次是有角色出现但看不清脸的镜头;最后才是没有角色的空镜与过渡。
可以降级处理的镜头类型:背影、过肩、远景、快速掠过、纯环境空镜、遮挡面部的手部或道具特写。降级的含义是放宽五官细节,不是放掉锚点,服装主色和画面比例仍然要继承,否则一旦切回正面镜头就会露。
落地时在镜头脚本里加一列 priority,取值建议用 anchor、normal、loose 三档。资源或时间紧的时候,先只跑 anchor 组拼一版,确认角色在关键节点上一致,再补 normal 和 loose。反过来先跑 loose 组再补 anchor,通常会在锚点调整后产生多余返工。