← 返回首页

技术实现 · Prompt 写作

把镜头写成画面

这是最底层的一环:连"把一个镜头描述清楚、出一个高质量电影感画面"都做不到,后面所有优化成本都会爆。这一页是可直接抄的写法:怎么摆脱 AI 味、怎么按结构写、各模型怎么写、怎么像调代码一样迭代。

来源:一轮五路调研(prompt 解剖 / 真实感 / 各模型方言 / 一致性 / 迭代循环)。配套库与可跑脚本在 03-working/promptwriter/。

01

摆脱 AI 味:真实感是一摞栈,不是一句话

"真实皮肤质感"写进 prompt 基本没用。AI 的假来自过度光滑、过饱和、过对称;真实来自命名物理器材 + 把 AI 抹掉的不完美加回来。下面同一个镜头,左边平凡写法,右边真实感栈写法。

平凡 prompt

塑料感、过完美

  • 只写 "cinematic, high quality, beautiful"
  • 皮肤光滑如蜡,毛孔全无
  • 眼神发死,没有 catchlight
  • 数字感、过饱和

真实感栈 prompt

皮肤 / 胶片 / 动机光

  • visible pores + subsurface scattering(治塑料脸)
  • catchlight + 眼神湿润
  • Cinestill 800T + fine film grain
  • 动机晨光 + 85mm f/1.8 浅景深
皮肤(治塑料脸) natural skin texture, visible pores, subsurface scattering, matte skin, natural undertones
眼睛(治死鱼眼) catchlight in eyes, natural eye reflections, slight moisture
胶片定调色+颗粒 shot on Kodak Portra 400, fine 35mm film grain / Cinestill 800T, halation glow
材质/场景 slightly wrinkled fabric, dust particles in light beam, subtle lens distortion at edges, candid real moment
运动物理(视频) weight and inertia, grounded footsteps, natural parallax;运镜保持 slow/gentle

两条铁律

永远别写 "perfect skin / flawless",这两个词直接触发蜡像脸。② 每个正向"不完美"提示,配一个负向 ban(扩散模型用):smooth, plastic, waxy skin, flawless, oversaturated, CGI, render + 视频 flickering, morphing faces, floating, surface sliding,否则 AI 默认会反扑。

最大的杠杆:从一张真实照片出发(图生视频首帧),很多时候胜过任何文字描述。
02

8 槽位脚手架:前置加权

模型最重前 20-30 词。主体 + 主要动作放最前,风格放最后。填满槽位,再按目标模型方言渲染。

主体 具体外形、服装、表情。"银发女子,红丝绸裙,疲惫的眼",不是"一个人"。
动作 有时序的节拍,一个主要动作。别用 "fast"(出 artifact),用 smooth / slow / gentle。
镜头(自成一句)景别 + 机位 + 运镜(命名且隔离:"slow dolly-in, subject stationary")+ 焦段景深(24 广 / 35 自然 / 50 人眼 / 85 亲密 / 135 隔离 + f/2.0 浅景深)。
动机源 + 质感 + 反差 + 色温:"soft motivated window light from frame-left, golden hour, warm ~3200K"。单一主光方向。
情绪与调色 命名一个 look:"teal-and-orange grade" / "muted desaturated"。永远别只写 "cinematic"。
环境 地点 + 时间 + 天气。
风格 胶片 / 年代 / 镜头性格 / 导演引用:"1970s 35mm Kodak Portra 400, anamorphic flare"。
节奏 + 音频(音频仅 Veo3/Sora:对白引号标说话人,"SFX:"/"Ambient:",每 4 秒 1-2 句)。

可抄 prose 模板:

[景别+机位]. [主体+服装+表情]. [动作 1-3 拍]. [运镜,隔离]. [焦段+景深]. [动机光+质感+反差+色温]. [胶片+颗粒+调色]. [地点,时间,天气]. [情绪/节奏].
03

各模型方言速查

通用核心到处都对:顺序 = 主体>动作>场景>镜头>光>风格;真实电影术语赢过模糊措辞;一镜一个主要动作;一次只改一个变量。差异在结构、原生音频、参考通道。

模型
写法要点
Veo 3 / 3.1
富段落散文或 JSON;原生音频(对白引号 + SFX/Ambient);加 "no subtitles";参考 = Ingredients(≤3)
Sora 2
分块导演脚本(Style/Scene/Cinematography/Lighting/Actions/Dialogue/Sound);写因果帮物理;Cameo = 最强身份锁;尺寸秒数是 API 参数
Kling 2.x
"[景别] of [主体] [动作], [场景], [运镜], [光], [风格]";期望负向词;图生视频更稳;Elements(1-4 参考)
Runway Gen-4/4.5
简洁指令式:说"随时间变什么"不说"长什么样"(外观交给 References ≤3);力/物理关键词;多镜一致性最强
Luma / Hailuo / Seedance
Luma 关键帧带叙事;Hailuo [方括号]运镜同时触发(≤3);Seedance 原生多镜+时间线 prompting
Wan 2.2(开源)
最敏感于顺序/长度:主体>运动>镜头>场景,80-120 词,前置加权,强烈建议负向词
04

一致性:锁一个 master,改它不重 roll

核心发现:seed 和复制 prompt 锁不住身份。可靠模式是锁一个 master,再用参考特性喂进每个镜头;变体靠编辑 master,绝不从文字重 roll。按身份锚强度排序:

1
录制化身 Cameo(Sora 2) ~95%+ 一致,平台有就用。
2
参考图 conditioning Runway References / Veo Ingredients / Kling Elements / MJ --cref+--sref,把身份编码成持久表示,免微调。
3
图生视频 / 首帧 conditioning 起始帧就是身份,clip 内最强;最大漂移源 = 首末帧光照不一致。
4
编辑 master 出变体 先建一个 8 视角 character sheet,改 pose/服装靠编辑它(Nano Banana Pro / Flux Kontext)。更紧更少的参考砍约 60% 漂移。
5
固定风格块 每镜放完全相同的"调色+胶片+光向+构图"块,锁世界/色调。
6
Seed 最弱,只同工具同参数可复现,不锁身份。仅用于一个 look 的微迭代。
05

迭代循环:像调代码一样

把生成当可调试系统,不是一次许愿。先诊断,再改一处,便宜的修法不行才升级。

读 N 次输出

非确定性会掩盖缺陷是恒定(prompt/模型)还是间歇(seed)。也读错误字段。

根因四桶

prompt 歧义 / 模型能力上限 / seed 非确定 / conditioning 缺口。先分清再动手。

6 层定位 + 改一个变量

症状映射到那层(构图错=景别、抖=运镜、平=光),只改那层 token,打分,锁住防回退。

最便宜优先阶梯

重写措辞 → 加运镜+布光 → 加负向词 → 换图生视频首帧锚 → 加参考 → 换模型 → 结构化 conditioning → 局部 inpaint。第一个奏效就停。

成本:5-10-1

便宜模型 5 个变体 → 选最好 → 同方向 10 个细化 → 收敛后贵模型渲 1 次。多模型路由省 30-50%。

接进我们的产品

prompt-writer 把锁定 spec(主题风格块 + 每镜意图 + 一致性锚)渲成 8 槽位 + 注入相同角色字符串 + 序列化成目标模型方言;grader 返回结构化诊断(质量/真实感第一优先,再意图匹配,各打 6 层+4 桶标记),诊断驱动下一次单变量编辑。判断引擎、一致性、成本路由由此串成一个闭环。