Agent · AI 工程 · 产线排查实录

图生视频效果不好,怪谁?

我们的短视频产线走「AI 生图 → 图生视频(可灵 Kling / Seedance)」这条链路,成片效果一直不够理想:真实感差、嘴形对不上、镜与镜之间人物长得不一样。问题到底出在提示词、图片,还是模型?这是一次真实的三层归因排查——结论先说:图片层嫌疑最大,模型参数层次之,提示词层问题最轻但修起来最便宜。排查方法本身可以复用到任何 AIGC 产线。

篇幅 6 章 · 约 12 分钟 素材 产线代码 + 团队横评实测 日期 2026-07-14 · 模型版本/价格 30 天后需重核

「生成效果不好」是所有 AIGC 产线都会遇到的投诉,但它是个复合症状:可能是图假、可能是参数低、可能是提示词烂,也可能三个都占。直接换模型是最常见的第一反应,也往往是最贵、最无效的一步。这篇讲解把我们 7 月这轮排查完整复盘一遍——证据从哪来、怎么分层、结论是什么、下一步验证实验怎么设计。

证据分级 · 文中结论按来源强度标注:A 产线代码 / 已复现实测 B 团队横评样片对比 C 合理推断 / 待实验验证。带 C 标的结论已排进验证实验,还不是定论。
01

Section 01 · 现场

链路长什么样,症状具体是什么

产线是典型的两段式:第一段生图——用即梦 / Midjourney(手工出图)或万相文生图 API(脚本出图)按分镜稿逐镜生成静帧;第二段图生视频(I2V)——把静帧喂给可灵 Kling 让画面动起来,Seedance、Wan、LTXV 做过横评备选。一条完整成片约 32 张图、32 段视频再拼接。

产线链路 · 简化示意
分镜稿(LLM/人工) → 逐镜生图(即梦/MJ/万相) → I2V 出画(可灵 v2.5)
                                              ↓
                          配音对齐(音频输入) → 拼接字幕(ffmpeg) → 成片

「效果不好」拆开是四个具体症状,这一步很关键——症状不拆开,归因就无从下手

02

Section 02 · 方法

三层归因:从上游往下游查,不是反过来

两段式产线的归因要按数据流向分层:图片是 I2V 的输入,提示词是两段各自的控制信号,模型是执行器。排查顺序必须从上游往下游——因为上游的污染下游救不回来:图是假的,视频模型再强也只是"忠实地让一张假图动起来";反过来,如果先在下游换模型调参数,上游问题没解决,换什么都白换、还白烧钱。

图片层(上游输入)

图本身假不假、每张图之间一致不一致、分辨率够不够、有没有质检。本轮排查的最大嫌疑。

模型 / 参数层(执行器)

模型版本选对没有、档位(std/pro)、分辨率链条、输入通道(音频)支不支持。部分问题已实锤并修复。

提示词层(控制信号)

运镜/动作描述写法、负向提示词强度、防御性措辞。问题最轻,但修起来最便宜。

为什么不先怪提示词?· 提示词是大家最先想到的变量,因为它改起来零成本。但在 I2V 场景里提示词的控制力天然有限——画面主体、质感、人物长相全部由输入图决定,提示词只管"怎么动"。图错了,提示词只能决定它错着动的方式。
03

Section 03 · 头号嫌疑

图片层:视频模型只是让一张"假图"动了起来

把四个症状对回三层,会发现真实感差和跨镜不一致这两个最痛的症状,都指向图片层

问题证据等级
输入图本来就是 AI 图现产线的图来自即梦 / MJ 手工出图——I2V 引擎拿到的输入本身就带"AI 味",动起来只会放大这种假;跨镜不一致同理:每张图是独立生成的,"同一个人"在每张图里本来就长得不一样C · 已设计盲评实验待跑
脚本出图用的是极速档自动化链路用的文生图是万相 turbo 极速档(约 0.14 元/张的档位),而内部横评早已证明同类内容 Seedream 出图质量显著更强——调研结论没有落进产线代码A · 代码实查
出图无质检环节脚本一次生成直接进合成,没有重试、没有打分、没有人工闸口;此前横评里"3 张只有 1 张能用"的教训说明单次出图合格率并不高A · 代码实查
AI 直接画中文字让生图模型直接在画面里画中文(封面字、包装字)必糊必错——正确做法是生成无字底图,再用 ffmpeg 叠真实文字层B · 横评实测

怎么验证「图是主因」这个假设?

团队已经写好了一个图源对照盲评实验:同一条运镜提示词,分别喂「真实照片」和「AI 生成图」给同一个 I2V 模型,产出的视频打乱顺序后由不看答案的人按五个维度打分(真实感 / 主体保持 / 运镜服从 / 形变控制 / 整体可用),最后揭盲对比。如果真图组显著胜出,图片层主因实锤——后续预算就该花在图源上(实拍素材、更强的生图模型、出图质检),而不是升级视频模型档位。

当前状态 · 实验脚本已就绪,对照数据还没跑出来。在数据落地之前,"图是主因"是最有依据的假设,不是结论——这也是为什么本文所有图片层结论都标 C 级或引横评旁证。先跑实验,再动预算。
04

Section 04 · 二号嫌疑

模型 / 参数层:嘴形问题已经在这里破案了

模型层有一个已经闭环的真实案例,值得完整讲一遍,因为它示范了"换版本"不等于"升级版本":

案例:嘴形对不上 → 不是提示词的错,是版本选错了

口播镜头嘴形对不上台词,第一反应是"提示词再调调"。但排查发现根因在输入通道:当时用的可灵 V3 standard 不支持音频输入——模型根本听不到台词,嘴形只能瞎编,提示词写出花也没用。解法反直觉:回退到支持音频输入的 v2.5,嘴形基本对上。B · 团队实测闭环

版本号更高(V3 std/pro)

画质代际更新,但无音频输入通道——口播场景下嘴形永远对不上,这是结构性缺陷,调参数救不了。

vs

能力对口(v2.5 + 音频输入)

版本号更低,但有产线需要的输入通道。选模型看能力矩阵,不看版本号大小。

还埋着的四个参数坑

问题等级
档位硬编码 std对照脚本里可灵档位写死 standard——而横评结论明确"竖屏成片别用 std 档:更慢、分辨率低一档、性价比最差"A · 代码实查
分辨率链条断档生图 720×1280 → I2V 输出 720p → 目标成片 1080×1920。横评原话:"704p 放大到 1080 会糊,做正片这个差距致命";超分(RealESRGAN)还停在待评估清单里A
平台自动改写提示词对照实验的 Wan 臂开着 prompt_extend(平台侧自动扩写 prompt)——可能画出图里不存在的内容,还污染对照实验的变量控制A · 代码实查
Seedance 只测过 LiteSeedance 横评只跑过 Lite 档(704p),Pro 档没验过——拿 Lite 的表现给 Seedance 整体下结论,或直接用 Lite 出竖屏正片,都不成立B
成本红线 · 模型层还有一个绕不开的现实:v2.5 档一条完整成片(32 镜)生图+视频合计约 $16/条,V3 档烧钱速度更快。这决定了"无脑升档"不可行——升级前必须先回答"上游图源问题解决了吗",否则是花更多的钱让假图动得更精致。
05

Section 05 · 三号嫌疑

提示词层:问题最轻,但每一条都值得马上修

提示词层排查出四个具体问题。单独看每个都不致命,但它们的共同特点是修复成本几乎为零——所以虽然排第三,反而应该最先动手:

提示词层的正确预期 · 这四条全修完,能消掉"三脚架入画"这类硬伤、缓解形变,但救不了真实感和跨镜一致性——那是图片层的地盘。把提示词当万能旋钮,是这轮排查想破除的第一个迷思。
06

Section 06 · 收束

按这个顺序做,每一步都有明确的验证物

归因排查的价值在于把"感觉不好"变成"下一步做什么"。按投入产出排序的行动清单:

这套方法怎么迁移到你的产线

任何多段式 AIGC 产线(文生图→图生视频、脚本→配音→数字人、素材→剪辑→成片)都适用同一套动作:拆症状 → 按数据流分层 → 从上游往下游排查 → 每个假设配一个可跑的对照实验 → 实验结果决定预算流向。最贵的错误永远是跳过归因直接换模型。

视频模型只是让图动起来——图是假的,动起来也是假的。先验图源,再谈换模型。