---
url: /veo/prompting_guide.md
description: >-
  一份写给新手的 Google Veo 3.1 提示词手册——七要素公式、镜头语言速查、音频提示写法、5 个真实翻车案例复盘，附 Gemini App 与
  Gemini API 两条上手路径和完整参数说明。
---

# Veo 3.1 提示词实战指南：同样一句话，为什么他出片你出鬼

先看两组 prompt，都是真人写的，都是 Veo 3.1。

第一组：

> 一只猫在沙发上

第二组：

> 一只橘猫蜷在米色亚麻沙发上打盹，午后阳光从百叶窗斜切进屋，在它身上投下条纹状光影。镜头从侧面缓推近，最后停在猫耳朵微微抖动的特写。环境音只有老式挂钟的滴答声和窗外远处模糊的车流。

第一条你能拿到什么？一团橘色的东西，在一个大概是沙发的物体上，可能动了一下。背景像谁家客厅，也可能像 IKEA 仓库。声音？随机，可能是鸟叫，也可能是热闹的咖啡厅——在室内，很出戏。

第二条呢？基本就是你想要的那条片子。

差别不在模型，在**你有没有把脑子里的画面翻译成模型听得懂的话**。

> 说句扎心的：大部分人抱怨"AI 视频不行"，其实是在抱怨"我懒得把话说清楚"。工具很差和你不会用，是两件事，但它俩经常被混为一谈。

今天这篇不吹 Veo 有多强（想看那个可以翻[认识 Veo](/veo/what_is_veo)），只聊一件事：**怎么把你的想法塞进 8 秒里，并且让它真的长成你想要的样子。**

## 先搞懂一件事：Veo 在读什么

Veo 不是搜索引擎，它不理解你的"意图"，它在**预测下一个像素和最合理的一段声音**。

这意味着一件很重要的事：**你没写的部分，它会替你编。**

你写"一只猫"，它就得自己决定——什么品种？什么颜色？什么光？什么镜头？室内还是室外？有声音吗？这些全是它随机猜的，猜错了就是"翻车"。

所以提示词的第一性原理特别朴素：

> **把你不希望它自由发挥的部分，全部写死。**

这个认知转换过来之后，你的 prompt 写作会从"描述画面"变成"封堵可能性"。这两件事的产出质量差着一个量级。

## 七要素公式

我常用的一个结构，不一定最优，但足够稳。按这个顺序写，基本不会出大错：

| 要素 | 回答的问题 | 不写会怎样 |
|---|---|---|
| **主体** | 画面里是谁/是什么 | 模型随机造，长相不稳定 |
| **动作** | 它在干什么 | 静止画面，或者乱动 |
| **场景** | 在哪儿、什么环境 | 背景随机，风格跳脱 |
| **镜头** | 摄影机怎么运动 | 固定机位，或者乱晃 |
| **光线** | 什么光、什么时间 | 平光，塑料感重 |
| **风格** | 什么质感/什么片子 | 默认写实，没有调性 |
| **音频** | 听到什么 | 随机音效，经常出戏 |

**七项不必每次都写满，但"主体 + 动作 + 镜头 + 音频"这四项，我建议永远不要省。**

理由很实在：主体和动作决定"对不对"，镜头决定"像不像片子"，音频决定"有没有灵魂"。这四项缺任何一项，成片都会明显掉一档。

### 逐个拆开说

**主体 —— 越具体越好，但别堆形容词。**

❌ 一个很漂亮的女人站在那里
✅ 一位 30 岁左右的亚洲女性，黑色齐肩短发，穿米白色亚麻衬衫，站在…

区别在哪？"很漂亮"是模型的阅读理解题，它得猜你审美；"黑发齐肩、米白亚麻"是填空题，它照做就行。

> 形容词是给模型出主观题，名词和细节才是给它出填空题。你想让它做对，就出填空题。

**动作 —— 一个镜头只写一件事。**

这是新手最常犯的错。一段话里塞了"她走进来、坐下、喝咖啡、看向窗外、笑了"——Veo 会试图全部完成，结果是每个动作都只做了半拍，人物像抽搐。

8 秒装不下五个动作，**装得下一个完整动作 + 一个情绪**。写多了，宁可拆成两个镜头分别生成。

**镜头 —— 这是最廉价的"专业感"。**

你不需要懂摄影，记住这几个词就够用：

* **推（push in / dolly in）**：镜头向主体靠近，制造聚焦和紧张感
* **拉（pull out）**：镜头后退，展示环境，适合开场和结尾
* **摇（pan）**：机位不动，镜头左右转
* **跟（tracking shot）**：镜头跟着主体移动，最有"电影感"
* **俯拍（overhead / top-down）**：从上往下拍，适合美食、桌面、流程演示
* **低角度仰拍（low angle）**：从下往上，主体显得高大有压迫感
* **手持（handheld）**：轻微晃动，制造纪实感、真实感
* **固定机位（static shot）**：完全不动，反而适合产品展示

一个实测有效的写法：**把镜头语言放在场景描述之后，单独成句**。比如"镜头从低角度缓推近，最后停在她的眼睛"。

**光线 —— 决定"高级感"的隐藏开关。**

光是区分"AI 味"和"电影感"分水岭。几个好用的词：

* **golden hour（黄金时刻）**：日出日落，暖调斜光，最讨喜
* **hard light / 硬光**：强对比、硬阴影，戏剧感
* **soft diffused light / 柔光**：无阴影，适合美妆、产品
* **backlight / 逆光**：主体边缘发光，氛围感拉满
* **neon lighting / 霓虹**：赛博、夜景、都市

**风格 —— 用"具体作品"替代"抽象类型"。**

❌ 科幻风格，很酷
✅ 质感接近《银翼杀手 2049》，冷色调，雾气浓重

给一部具体的片子、一位具体的摄影师、一种具体的胶片型号（比如"shot on 35mm film"），比给一个风格标签有效得多。模型在训练时见过这些东西，它有具体锚点。

**音频 —— 最被低估的一层，下面单说。**

## 音频：Veo 最大的优势，也是最多人浪费的地方

Veo 从 3 代开始就**原生生成音频**——环境音、音效、配乐、人物对白，跟画面一起生出来，天然同步。这是它跟绝大多数竞品拉开差距的地方。

但官方文档里有一句很诚实的提醒：**短句对白的自然度和同步性仍在打磨中**。

翻译成实践建议：

**该写的：**

* 环境音——"安静的咖啡馆，隐约的咖啡机蒸汽声和翻书声"
* 关键音效——"玻璃杯放在木桌上的清脆一响"
* 音乐基调——"缓慢的钢琴独奏，情绪克制"
* 短对白——控制在 **12 个词以内**，需要说话时直接写：`她说："我们还是别见了。"`

**不该写的：**

* 长段独白（必崩，口型对不上）
* 复杂的多角色对话
* 你不想要声音时却不说话——**记得写"无音乐 / no music"或"只有环境音"**

最后这条特别反直觉但特别重要：**不写音频提示，模型就会给你加它认为合适的音乐。** 很多人拿到片子觉得"怎么配了段莫名其妙的 BGM"，原因就是你自己没说不要。

> 音频是 Veo 送你的礼物，但礼物不会自己拆——你不指定，它就随机给你塞一个。

## 三个真实场景，看完整 prompt 长什么样

### 场景一：电商产品短片

需求：一条 8 秒竖屏（9:16）短视频，展示一款保温杯，投信息流。

> 一款哑光黑色不锈钢保温杯立在浅灰色水泥台面上。镜头从俯拍缓降至侧面平视，同时杯身缓缓旋转。柔光从左上打过来，杯口有一缕白色蒸汽升腾。背景是虚化的木质厨房。极简风格，色调干净。音效：蒸汽的轻微嘶声，杯底接触台面的一声闷响，无背景音乐，无文字，无水印。

为什么这么写：

* 竖屏投流 → 明确 `9:16`
* 产品广告最怕画面里多出字 → 主动写"无文字、无水印"
* 不要 BGM → 主动写"无背景音乐"，否则模型大概率给你配一段钢琴
* 动作只有一个：旋转 + 镜头下移，**一件事做完**

成本：按 Veo 3.1 Lite 720p 约 **$0.05/秒** 算，8 秒约 **0.4 美元**。以前拍这样一条素材，报价按千元起。

### 场景二：知识类口播的 B-roll

需求：讲"深海生物发光的原理"，需要一段氛围镜头垫在解说下面。

> 深海，漆黑水体中一只透明的水母缓慢脉动伞盖，触手随之飘动。它身上的生物荧光由蓝转青，在黑暗中形成一圈光晕。镜头固定机位，缓慢推近。无自然光，唯一光源是生物自身发光。纪实风格，像 BBC 自然纪录片。音效：低频的环境嗡鸣，水流的沉闷涌动声，无音乐，无人声。

关键点：**"像 BBC 自然纪录片"** 这种具体参照物，比"纪录片风格"有效得多。另外"无音乐、无人声"是必须的——这段要垫解说，任何音乐都是干扰。

### 场景三：企业培训片段

需求：一个办公室场景，用于合规培训视频的开头。

> 现代办公室，一位 40 岁男性坐在开放式工位上，正面对笔记本电脑皱眉。同事在他身后走动，画面虚化。午后阳光透过落地窗，在桌面形成长条形光斑。镜头从侧后方中景缓推至中近景。写实风格，色彩自然。音效：键盘敲击声、远处模糊的交谈声、空调白噪音，无音乐。

为什么强调"无音乐"：培训视频要加旁白，BGM 会打架。而且\*\*"同事虚化"\*\*这类描述能显著提升画面的层次感，不加的话，背景人物往往清晰得抢戏。

## 五个翻车现场，和它们的解法

| 翻车现象 | 真实原因 | 怎么修 |
|---|---|---|
| 人物长相每个镜头都变 | 文生视频天然不稳定，没有锚点 | 用**参考图**（最多 3 张）锁住外貌，或改用图生视频 |
| 一句话里塞了三个动作，只完成一半 | 8 秒装不下多动作 | 拆成多个镜头，一次一个动作 |
| 出现了莫名其妙的 BGM | 没写音频要求，模型自由发挥 | 明确写"无音乐"或指定音乐类型 |
| 画面里有字幕/水印 | 模型学到了视频平台的常见特征 | 明确写"无字幕、无水印、无文字" |
| 对白口型对不上 | 短句对白仍在处理中 | 对白压到 12 词内，或干脆后期配音 |

> 一句可能不中听的实话：AI 视频这事儿，**八成的"模型不行"其实是"prompt 没写"**。剩下两成才是真正的模型短板。先检查自己的 prompt，再骂模型，能省不少钱。

## 初体验：两条路上手

### 路线 A：不想写代码，去 Gemini App 或 Google Flow

1. 打开 [Google Flow](https://labs.google/flow) 或 Gemini App 的视频入口
2. 先用上面的七要素写一句话，别急着追求完美
3. 生成一条，看哪里不对，**只改那一处**再生成
4. 满意后调分辨率（720p / 1080p / 4K）

Flow 的额外好处是可以做**场景延伸**——一次接 7 秒，最多接 20 次，理论上能拼到 **148 秒**。这是 Veo 目前最硬的一块长板。

新手路径建议：**先用 Gemini App 玩熟 prompt，再上 API 做批量。** 反过来会很难受。

### 路线 B：要批量生产，走 Gemini API

官方 Python SDK（`google-genai`）最简形态：

```python
from google import genai
from google.genai import types
import time

client = genai.Client(api_key="YOUR_API_KEY")

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt=(
        "一款哑光黑色不锈钢保温杯立在浅灰色水泥台面上，"
        "镜头从俯拍缓降至侧面平视，杯身缓缓旋转，"
        "杯口有白色蒸汽升腾，柔光从左上打来，极简风格。"
        "音效：蒸汽的轻微嘶声，杯底接触台面的一声闷响，无背景音乐，无文字。"
    ),
    config=types.GenerateVideosConfig(
        aspect_ratio="9:16",      # 16:9（默认）或 9:16
        duration_seconds=8,        # 只能选 4 / 6 / 8
        resolution="720p",         # 720p（默认）/ 1080p / 4k
        person_generation="allow_adult",
    ),
)

# 生成是异步的，得轮询
while not operation.done:
    print("生成中...")
    time.sleep(10)
    operation = client.operations.get(operation)

video = operation.response.generated_videos[0]
client.files.download(file=video.video)
video.video.save("bottle.mp4")
```

**参数上有几个硬约束，踩过的人都懂：**

* `duration_seconds` 只有 **4 / 6 / 8** 三个值；一旦用了 **1080p、4K、参考图或视频延伸，就必须是 8**
* `resolution` 默认 720p；1080p 和 4k 都**只支持 8 秒**
* `aspect_ratio` 只有 16:9 和 9:16，没有 1:1（正方形是裁出来的）
* `person_generation`：文生视频和延伸用 `allow_all`；图生视频、首尾帧、参考图只能用 `allow_adult`
* 视频**只在服务端存 2 天**，生成完立刻下载，别指望回头再拿
* 生成耗时从 11 秒到 6 分钟不等，高峰期排队是常态

**进阶三件套**，觉得 8 秒不够用时再上：

* `image` + `lastFrame`：给首尾两张图，中间的过渡它补（首尾帧插值）
* `referenceImages`：最多 3 张，锁住角色长相、物体外观、画面风格，解决"变脸"问题
* `video`：把上一条生成的视频喂回去继续拍，最长能接 20 次

### 省心的一条建议

**调 prompt 的阶段一律用 Lite 或 Fast，出终稿再上标准版。**

按官方计费（付费层，按秒计价），8 秒视频的成本大致是这样：

| 型号 | 720p | 1080p | 4K |
|---|---|---|---|
| Veo 3.1 | $0.40/秒 | $0.40/秒 | $0.60/秒 |
| Veo 3.1 Fast | $0.10/秒 | $0.12/秒 | $0.30/秒 |
| Veo 3.1 Lite | $0.05/秒 | $0.08/秒 | 不支持 |

同一条片子，Lite 720p 是 **0.4 美元**，标准版 4K 是 **4.8 美元**——差 12 倍。拿 4K 标准版调 prompt，是在烧钱买心理安慰。

> 提示词是免费的，生成不是。 cheapest 的优化手段，永远是先在脑子里把话说清楚。

## 最后：合规这根弦别松

Veo 生成的所有视频都带 **SynthID** 不可见水印，可溯源。这是好事，别想着去掉。

另外，`veo-3.1-*` 系列目前都是 **Preview** 状态，接口可能变、限流可能收紧。而 Veo 3、Veo 3 Fast、Veo 2 已经标记为 **Deprecated**，新项目别再往上接了。

## 进阶

想把视频生成接进自己的产品里，光会写 prompt 还不够，这些可以接着往下挖：

* [认识 Veo](/veo/what_is_veo)——模型能力全景、版本演进与价格体系
* [Gemini Omni 1.1 Flash 更新速递](/omni/omni_1_1_flash_updates)——要反复改、要多轮对话式编辑，Omni 是另一个答案
* [认识 Google Flow](/flow/what_is_flow)——不写代码做 AI 短片的官方工作台
* [认识 SynthID](/synthid/what_is_synthid)——生成内容的水印与溯源

更多开源技术干货和学习资料，关注公众号「遇码」，领取专属福利。
