CheaperGen
Google教程

如何使用 Veo 3.1 API

分步学习 Veo 3.1 API,支持 Node.js、Python 和 cURL:提交 文生视频 任务、轮询状态或接收 Webhook,然后下载 video。下方示例费用为 $2.44。

端点
2
文生视频 · 图生视频
请求示例
$2.44
文生视频
编程语言
3
Node.js · Python · cURL
失败任务
$0
自动退款
1

获取 API 密钥

创建账户、充值额度,然后前往“控制台”→“API 密钥”创建密钥。将其保存为 CHEAPERGEN_API_KEY 服务器上的环境变量。每个请求都要将其作为 Bearer 令牌发送。

如何获取 Veo 3.1 API 密钥
2

选择 Veo 3.1 端点

每种任务都有专属端点。所有端点都接受 JSON 正文,并返回可供轮询的生成任务。

Veo 3.1 API 端点、必填输入和价格
任务端点必填起价
文生视频google/veo-3.1/text-to-videoprompt$0.184 每秒
图生视频google/veo-3.1/image-to-videoprompt, image_url$0.184 每秒
3

提交 文生视频 任务

此程序会提交任务,每 3 秒轮询一次直到任务完成,然后打印 video URL。你可以替换提示词和设置以满足自己的需求。

const API = "https://cheapergen.com/api/v1";
const headers = {
  Authorization: `Bearer ${process.env.CHEAPERGEN_API_KEY}`,
  "Content-Type": "application/json",
};

// 1. Submit the job
let job = await fetch(`${API}/run/google/veo-3.1/text-to-video`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    "prompt": "日出时分的潮池,微小的螃蟹在闪亮的岩石间匆匆爬过,微距镜头,轻柔海浪与海鸥鸣叫",
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": 8
  }),
}).then((r) => r.json());

// 2. Poll until it finishes (or pass webhook_url and skip polling)
while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 3000));
  job = await fetch(`${API}/generations/${job.id}`, { headers }).then((r) => r.json());
}

console.log(job.status === "succeeded" ? job.output.video.url : job.error);
4

设置关键参数

google/veo-3.1/text-to-video 的设置及其对价格的影响。

Veo 3.1 文生视频 参数及其对价格的影响
参数类型 · 默认值功能说明对价格的影响
aspect_ratiostring (enum) · 16:9横屏或竖屏。
16:9 · 9:16
是
resolutionstring (enum) · 720p输出分辨率。1080p 和 4K 视频始终为 8 秒;4K 的每秒价格更高。
720p · 1080p · 4k
720p: $0.184 每秒
1080p: $0.184 每秒
4K: $0.368 每秒
durationinteger (enum) · 8视频片段时长:720p 支持 4、6 或 8 秒(1080p 和 4K 固定为 8 秒)。按秒计费。
4 · 6 · 8
8s: $0.184 每秒
generate_audioboolean · true同步生成声音、环境音和对白。含音频片段按更高的每秒费率计费。是
negative_promptstring输出中应避免的内容。无
seedinteger使用相同的 seed 和设置即可复现结果。留空则随机生成。无

其他 Veo 3.1 端点的请求结构相同,但各自的输入字段有所不同:

POST /api/v1/run/google/veo-3.1/image-to-video

{
  "prompt": "镜头缓慢推近,杯中热气升腾,雨滴划过窗户",
  "image_url": "https://cdn.cheapergen.com/samples/portrait.jpg",
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "duration": 8
}
5

获取结果

任务状态会从 queued 变为 running,然后进入 succeeded、failed 或 canceled。请轮询 GET /api/v1/generations/{id},或传入 webhook_url,我们会通过 POST 将结果发送给你。请下载输出并自行保存。

200 — 已成功
{
  "id": "gen_8c2QmX1nq0k4",
  "object": "generation",
  "model": "google/veo-3.1",
  "endpoint": "google/veo-3.1/text-to-video",
  "mode": "text-to-video",
  "status": "succeeded",
  "input": {
    "prompt": "日出时分的潮池,微小的螃蟹在闪亮的岩石间匆匆爬过,微距镜头,轻柔海浪与海鸥鸣叫",
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": 8
  },
  "output": {
    "video": {
      "url": "https://cdn.cheapergen.com/outputs/gen_8c2Q.mp4",
      "content_type": "video/mp4",
      "duration": 5,
      "width": 1280,
      "height": 720
    }
  },
  "error": null,
  "cost": {
    "amount_usd": 0.2255,
    "currency": "usd",
    "estimated": false,
    "official_usd": 0.264,
    "list_price_source": "official",
    "list_price_label": "Official",
    "saved_usd": 0.0385
  },
  "source": "api",
  "created_at": "2026-10-15T09:21:04Z",
  "started_at": "2026-10-15T09:21:06Z",
  "completed_at": "2026-10-15T09:22:31Z"
}
验证 Webhook 签名
6

运行前查询价格

报价端点免费且无需密钥。它会根据你提交的确切输入,返回价格、官方价格 和折扣。

curl -X POST https://cheapergen.com/api/v1/quote/google/veo-3.1/text-to-video \
  -H "Content-Type: application/json" \
  -d '{"prompt":"日出时分的潮池,微小的螃蟹在闪亮的岩石间匆匆爬过,微距镜头,轻柔海浪与海鸥鸣叫","aspect_ratio":"16:9","resolution":"720p","duration":8}'
API 错误及处理方法
状态代码说明
400invalid_request缺少参数或参数超出范围,错误信息会指出具体字段。
401unauthorizedAPI 密钥缺失、格式错误或已撤销。
402insufficient_balance余额不足,无法支付报价金额;请充值或启用自动充值。
429rate_limited请求过多或进行中的生成任务过多;请稍后重试。
502upstream_error模型服务提供商发生错误;冻结金额已退还,你可以重试。
503model_unavailable当前没有运行正常的路由,请稍后重试或选择其他模型。
完整 Veo 3.1 API 文档

常见问题

Veo 3.1 API 常见问题

不需要。API 使用标准 HTTPS 和 JSON,因此本页的 Node.js(fetch)和 Python(requests)示例都是完整程序。任何能够发送 HTTP 请求的语言都可以调用。

可以。在请求正文中添加 "webhook_url",生成任务完成后我们会向该地址 POST 结果,并使用 CheaperGen-Signature 标头进行签名(对时间戳和原始请求正文计算 HMAC-SHA256)。也可以轮询 GET /api/v1/generations/{id}。

将公开 URL 传入 "image_url", "end_image_url"。没有公开 URL 的文件可以先通过 POST /api/v1/uploads 上传,然后在请求中使用返回的 URL。

文生视频 起价为 $0.184 每秒;本页的请求示例费用为 $2.44,比 官方价格 低 24%。生成失败会自动退款。