Deforum 的动画翻车很多来自提示词设计,而不是采样器参数。比如关键帧 0 写的是安静森林,关键帧 60 突然跳到机械城市,中间没有任何过渡描述。此时第 30 帧附近画面会开始撕裂:树木还没消失,钢铁结构已经挤进来,颜色跟着漂移,最后变成无法辨认的混合体。问题出在 Deforum 不是把两张图硬拼起来,而是将提示词编码成条件向量,再在关键帧之间做插值。因此相邻提示词之间需要存在语义上的连接点,动画才不会断裂。

一、Deforum 提示词是时间轴上的条件序列
Deforum 的关键帧提示词通常写成大括号加时间点加字符串的形式,例如 {0: "prompt A", 30: "prompt B"}。这里的数字代表帧序号,字符串是给扩散模型的提示词。很多人在写提示词时只考虑单帧画面,忽略了帧与帧之间的连续性。实际上 Deforum 会读取这些关键帧,并在它们之间进行条件插值,所以第 0 帧到第 30 帧之间并不是突然切换,而是逐步混合语义向量。
要让插值过程自然,相邻提示词最好保留相同的主体词或动作词。比如不要从纯自然风景直接跳到机械体,而是在中间加入形状转换、材质融合的描述。一个常见的做法是让提示词沿着变化路径展开:第一帧描述原始状态,中间帧描述正在发生的形态改变,最后一帧描述完成后的状态。这样条件向量在过渡区间内会有更完整的路径。
{
"0": "abstract fluid shapes, monochrome ink, slow dissolving motion, depth of field",
"30": "abstract fluid shapes turning into geometric glass fragments, cyan and magenta edge light, morphing, surreal reflection",
"60": "geometric glass fragments assembling into impossible architecture, dreamlike distortion, M.C. Escher style",
"90": "impossible architecture melting into liquid metal, chrome waves, Beksiński atmosphere"
}
上面的提示词从流体到玻璃碎片再到不可能建筑,最后熔化成金属波浪。每一组之间都有 morphing、turning into、melting 这类过程词作为桥梁。如果去掉中间帧直接连接首尾,画面就会出现插入式物体和色彩断层。
二、抽象视觉变换描述词:重点写怎么变
抽象视觉变换描述词的核心不是告诉模型画面里有什么,而是告诉模型这些元素正在经历什么过程。比如同样是液体金属,加上 flowing、melting、dissolving 会比只写 liquid metal 更能推动动画运动。Deforum 动画中,动词和动名词往往比名词更重要,因为它们能直接作用于运动插值,让画面产生连续的变形而不是静态元素之间的切换。
下面这些描述词可以按类型分类使用。流体类适合柔软材质之间的转化,几何类适合结构拆解与重组,故障类适合数字故障和信号干扰效果,空间类适合制造错位、折叠和不可能视角。实际使用时不要把每个类别都堆进去,选择两到三类即可,否则画面会变得拥挤且没有重点。
| 类型 | 描述词示例 | 画面效果 |
|---|---|---|
| 流体形态 | flowing liquid metal, melting watch, dissolving mist, morphing surface | 柔软、连续、液态变形 |
| 几何拆解 | geometric decomposition, fracturing into shards, tessellation, crystalline break | 结构破裂、碎片重组 |
| 数字故障 | glitch displacement, pixel sorting, data corruption, analog feedback | 信号干扰、数字噪点 |
| 光学畸变 | kaleidoscopic symmetry, refraction shift, mirror echo, lens distortion | 对称、折射、复眼效果 |
| 空间扭曲 | impossible perspective, recursive depth, gravity inversion, folding space | 空间错位、无限延伸 |
这些词的权重控制也很重要。Deforum 和 Stable Diffusion 一样支持括号权重,例如 (flowing liquid metal:1.3) 表示加强该词组的作用。通常抽象变换词不需要拉到 1.4 以上,过高的权重会让运动过程变得过于剧烈,反而造成闪烁。建议变换词权重控制在 1.0 到 1.3,风格词权重控制在 0.8 到 1.1。
a dreamlike scene, (flowing liquid metal:1.3), (geometric decomposition:1.1), (kaleidoscopic symmetry:0.8), (glitch displacement:0.9), (depth distortion:1.2)
这段正向提示词同时使用了流体、几何、对称和故障四类变化词。但在实际动画中,如果每一帧都使用同样权重,后面会显得重复。更好的做法是把这些词分散到不同关键帧,某一段偏流体,某一段偏几何,让运动节奏有变化。
三、超现实风格关键词库与组合模板
超现实风格关键词负责整个动画的视觉基底,它决定了光线、色彩、氛围和空间逻辑。常见的做法是选择一位超现实主义画家的名字作为风格锚点,例如 Dali 可以带来融化、软塌、时间感;Magritte 可以提供舞台般的光影和错位的物体比例;Beksiński 则适合废墟、骸骨、荒凉的超现实场景。这些风格词不需要每帧都换,最好在整个动画中保持相对稳定。
除了画家名字,还可以使用一些具体的视觉描述来增强超现实感。比如 floating islands、melting clocks、doors in the sky、impossible waterfalls、repeating corridors。这些词比单纯写 surreal style 更具体,能够引导模型生成清晰的物体关系,而不是只输出一种笼统的梦幻感。另一个有效做法是加入 liminal space 或 dreamcore,它们能强化空旷、熟悉又陌生的氛围。
| 风格方向 | 提示词片段 | 适用场景 |
|---|---|---|
| 主观融化 | Dali style, melting clocks, soft collapse, dreamlike distortion | 时间流逝、记忆消融 |
| 错位空间 | Magritte lighting, floating rocks, impossible scale, sky door | 梦境剧场、荒谬场景 |
| 废墟质感 | Beksiński mood, desolate ruins, organic metal, fog of decay | 黑暗幻想、荒凉叙事 |
| 阈限空间 | liminal space atmosphere, empty corridors, repeating rooms, dreamcore | 空旷、熟悉而陌生 |
超现实关键词和抽象变换词配合时,可以先用超现实词描述画面里存在什么,再用抽象变换词描述这些东西正在如何改变。不要一次性把所有风格词写进同一段,一般每个关键帧保留四到六个强相关词组即可。下面是一个从超现实沙漠慢慢转成融化时钟再变成浮空岛屿的模板。
{
"0": "surreal desert with floating geometric rocks, Magritte lighting, liminal atmosphere, wide shot, muted tones",
"45": "surreal desert rocks morphing into melting clocks, Dali style, dreamlike distortion, time melting illusion, soft shadows",
"90": "melting clocks dissolve into floating islands with impossible waterfalls, hyperreal surrealism, Beksiński mood, volumetric fog"
}
这个模板的特点是每两个相邻关键帧之间都有共享元素。第 0 帧和第 45 帧共享 desert rocks,第 45 帧和第 90 帧共享 melting clocks,这样插值过程始终有桥梁。画面不会突然从一个完全不相关的场景切换到另一个场景。
四、为什么画面还是会闪:提示词调试清单
如果已经按照上面的结构写了提示词,但动画还是闪烁或者出现撕裂,第一件要检查的是相邻关键帧之间是否缺少过程词。举个例子,第 0 帧是 floating geometric rocks,第 45 帧直接写 melting clocks,中间没有 morphing 或 turning into,那么模型只能在两个概念之间强行跳转。加上 morphing into 之后,运动过程会明显柔和很多。
第二个常见原因是负向提示词没有随着关键帧一起配置。Deforum 中负向提示词同样参与条件插值,如果只写一次,可能在后面帧中无法有效抑制新出现的伪影。建议每一组关键帧都带上相同的负向提示词,或者使用全局负向提示词配置。下面这段可以直接使用,也可以按需要删减。
worst quality, low quality, text, watermark, signature, extra fingers, deformed hands, jpeg artifacts, motion blur, frame interpolation artifacts, flickering, duplicate frames, overexposure, oversaturation, chromatic aberration, logo, ui elements
第三个常见问题是权重堆叠太多。比如同时给五个风格词都设置 1.3 以上的权重,会把条件向量拉向多个方向,最后画面过饱和、构图混乱。更稳的做法是只给一个主风格词设置 1.2,其余控制在 0.8 到 1.0。动画类提示词不是越长越好,有效的动词路径比大量堆形容词更重要。
调试时可以先降低帧数,用较短的 30 到 45 帧测试提示词变化。分别查看第 0 帧、中间帧和最后一帧是否满足预期,再逐步加入新的变化段落。如果某一段特别容易糊,可以减少该段的变化词数量,或者把运动词从 dissolving 换成更温和的 flowing。