这支先导片的目标是 90 秒、无对白、单一美术方向:老油画的笔触与画布质感,冷灰单色调,全片只有两个角色且都不露正脸。人工环节只保留关键帧——由人在图像模型里出图并做审美终审;其余交给生成端。
产线跑到一半时,一个原本以为是执行细节的问题变成了方向问题:图像模型的可控性很低,而剧本的可控性是完全的。 这句话本身是显然的,但它的推论不是。本文记录这个推论如何被一次具体的失败逼出来,以及随后对分镜结构的重写;然后记录动化阶段的一组测量——手绘质感在视频生成中损失了多少、损失在哪里。
一次七轮的失败,和它的推论
有一个镜头需要:一名褪色的女性背对镜头、双臂保持环抱的姿势(怀里是空的)、贴近一堵石墙、全画面无暖色、老油画质感。这些约束被写进分镜时是一份构图规格。
七轮生成之后仍未通过。每一轮修复上一轮报告的缺陷,而每次修复都把画面推离这个镜头真正的内容:为了不让石墙被误解为远景城堡,墙的描述被不断加强,最终墙成为句子的主语并占据提示词开头,画面随之变成一张建筑画,人物缩成一个点。
真正的转折发生在回读剧本原文之后。剧本对这一段的要求只有四条:她在重复一个停不下来的动作、怀里空着但姿势还在、她背对且不回头、可以对她动手。「墙」从来不在其中——它是执行阶段被引入的约束,然后被用来否决合格的图像。
由此得到两条产线原则:
其一,分镜规定「必须发生什么」,不规定「它长什么样」。 每个段落显式列出红线与可议价项,并附一条机械规则:凡列在可议价项中的内容,任何人不得据以否决一张合格的图像。这条规则的作用不是宽容,而是防止执行者用自己引入的约束去覆盖剧本。
其二,一个连续段落只出一张关键帧。 图像模型的每次生成都是独立采样,同一条提示词的四张结果可以给出四堵不同的墙。同一段落内出两张独立关键帧等于保证连续性失败。段落内其余镜头一律派生:镜头连续走视频尾帧,需要换机位或移除元素走可控局部修改。
修改后的分镜按此重写:五个大段、每段一张关键帧、每段列出节拍与红线、全部构图描述删除。五段全部在一到三轮内通过。
三类可复现的提示词失效
以下三条在本次产线中各自复现两次以上,且失效机制不同。
未指定的部位会被填充。 未描述的下半身会成为破布,未描述的左手会出现盾牌,未描述的头部会在构图外扩后长出一张脸。模型不会留空,它会补一个合理值。
被提及的对象一定会被画出,即使以否定形式提及。 「as if carrying a child that is not there」稳定地产生一个孩子;「cinematic」稳定地产生信箱黑边。负面参数可以作为兜底,但不能承担主要约束——本次产线中它在信箱黑边一项上完全无效。表达「空」或「缺席」的唯一可靠方式是只描述在场之物,让缺席从构图中浮现。
一组约束可能从任何机位都无法同时成立。 「背对镜头」与「双臂环抱在身前」互斥:手臂位于身体正面,正后方视角下被身体遮挡。模型的折中是画一个正反矛盾的人——头部取背面,手臂取正面。这不是模型能力问题,换任何一位人类画师同样画不出来。唯一解是四分之三背侧:脸仍然背对,手臂轮廓从身侧露出。
这一条在同一支片子里踩了三次,原因是每次都重新组织句子。现在它以固定措辞写入产线文档,要求原样复制而非重写。
一个附带结论:改景别比改措辞有效得多。 本次产线中更换机位或景别的三次修改全部成功(四分之三背侧解决手臂遮挡、收紧景别解决主体被环境吞没、后退机位解决两人空间关系),而修改措辞的四次全部失败。景别是几何问题,措辞不能解决几何问题。
图生视频阶段:画风必须继承,不能重写
首次动化的结果与关键帧几乎无关:油画笔触消失,画面变为另一种雾感森林。
原因是提示词中包含了一个独立的风格段落,重新描述了目标画风。在图生视频场景下这是错误的——输入图已经定义了构图、主体、光线与风格,提示词应当只描述运动。 一旦以文字重新描述风格,模型会将其视为新的合成目标,输入图的风格随之被挤出。
正确写法是显式声明继承:以输入图作为严格首帧,并要求保留其风格,而不再复述风格本身。改写后画风与关键帧恢复一致。
同一次修改还解决了另一个问题。首版视频中段有连续约五秒的近静止:帧间平均差从头段的 8.2 降至 3.7–4.7,主体水平位移全程仅为画面宽度的 9%。原因是提示词末尾堆积了五条否定式约束(永不转身、脸永不可见、手臂永不移动等)。这套措辞在制作无缝微动循环时是正确配方,但它的作用正是抑制运动,用在需要大量运动的镜头上会直接压死表演。改写后加入「动作立即开始且不停顿」与「不得出现静止停顿」两条正向指令,帧间平均差升至 11.90,最低值 2.50,中段死区消失。
质感损失的测量
主观判断是「毛刺、太锐利、塑料感」。这与直觉相反:塑料感通常被描述为过度平滑,而观察者报告的是过度锐利。因此需要区分高频能量的总量与位置。
方法:对灰度图取拉普拉斯响应,按局部梯度分区——梯度低的区域视为平坦表面(笔触与画布纹理所在),梯度高的区域视为轮廓边缘。分别统计两区的响应强度,并取其比值。
以同一张关键帧降采样至视频分辨率作为基准:
关键帧由 Midjourney 生成并由人工终审;动化对比的两条路径分别是 Midjourney 的 Animate 功能与 Seedance 2.0(经 LibTV 调用,720p)。两者输入同一张关键帧。
| 来源 | 平坦区纹理 | 边缘锐度 | 边/面比 | 表面纹理保留 |
|---|---|---|---|---|
| 关键帧(基准) | 13.32 | 59.86 | 4.49 | 100% |
| Midjourney Animate | 10.13 | 49.53 | 4.89 | 76% |
| Seedance 2.0 | 5.14 | 35.41 | 6.89 | 39% |
Seedance 输出的平坦区纹理下降 61%,边缘只下降 41%,边/面比因此上升 53%。画面的高频能量向轮廓集中而表面被抹平——这正是塑料感的构成,而观察者感知到的「毛刺」是抹平后被孤立出来的轮廓。 主观描述与测量方向看似矛盾,实际一致。
Midjourney Animate 的边/面比为 4.89,接近基准的 4.49,说明它保留的不只是细节数量,还有画面的整体性格。
需要说明一个混淆因素:两段视频的码率相差约三倍(31.8 与 10.6 Mbps),压缩损失并非同等条件。因此上表应读作两条完整路径的端到端对比,而不是两个模型在同等编码条件下的能力对比。此外,两者的适用范围本身不同:Midjourney Animate 在本次测试中输出时长由模型自行决定(约 5.2 秒)且运动方向控制较弱,而 Seedance 提供 4 至 15 秒的精确时长与严格首尾帧。质感优势与控制力优势分属两端。
这一损失有结构性原因:视频生成必须保证时间一致性,而笔触、画布经纬这类随机高频纹理逐帧无法对应,强行保留会产生闪烁,因此被去噪过程抑制。这不限于某一个模型,也不限于油画——胶片颗粒、点彩、排线同样会被吃掉。选择手绘质感作为动画方向,等于选择了对视频生成最不友好的一类纹理。
一次指标命中但视觉失败的补偿尝试
既然缺失量已知,一个直接的想法是在后期把纹理补回去。实验方法是提取关键帧的高频残差(原图减去高斯模糊),按不同强度叠加到视频帧上。
在 0.6 倍强度下,平坦区纹理从 5.14 恢复至 13.29,而基准值是 13.31——指标几乎完全命中。
视觉结果是失败的。高频残差与源图内容绑定,而视频中镜头已推进、人物已移动,叠加层与画面内容错位,产生重影。
这个结果的价值在于它暴露了指标本身的盲区:平坦区纹理只度量高频是否存在,不度量高频是否对位。 一个精确命中基准的数字在此处是假阳性。正确方向是使用与内容无关的可平铺纹理层而非源图残差,该方案尚未验证,因此不在本文作为结论提出。
目前成立的部分
- 分镜应当规定必须发生什么,不规定它长什么样;可议价项需显式列出,并禁止据以否决合格图像。
- 一个连续段落只出一张关键帧,其余镜头由尾帧或局部修改派生。
- 提示词中未指定的部位会被填充;被提及的对象会被画出,包括以否定形式提及的对象。
- 存在从任何机位都无法同时成立的约束组合;这类问题只能通过更换机位解决,不能通过修改措辞解决。
- 图生视频场景下,风格必须声明继承,不得以文字重新描述。
- 抑制运动的措辞配方与需要表演的镜头不能混用。
- 手绘质感在视频生成中的损失是结构性的,表现为表面纹理被抹平而非画面整体变模糊;本次测试中 Midjourney Animate 与 Seedance 2.0 的表面纹理保留率分别为 76% 与 39%,但两者时长与运动控制能力相反。
产线尚未完成。动化阶段的工具分工、时长与质感之间的取舍、以及后期纹理补偿的可行方案均未定稿,不在此处给出结论。