Veo 3.1

POST https://api.beatapi.io/v1/videos/tasks

生成固定 8 秒的视频,可选择高质量、快速或轻量档位以及 720p、1080p 或 4K 输出。文字和首尾帧生成默认使用高质量档位和 720p,参考图生成需使用快速或轻量档位。

支持的生成方式

生成方式必填参数使用规则
高质量model, promptquality 设为 Quality,可选将 resolution 设为 720p1080p4k
快速model, promptquality 设为 Fast,可选将 resolution 设为 720p1080p4k
轻量model, promptquality 设为 Lite,可选将 resolution 设为 720p1080p4k
首尾帧驱动model, prompt, images传入一个首帧 URL,或按首帧到尾帧的顺序传入两个 URL。
参考图生成model, prompt, reference_images传入 1–3 个 URL,并将 quality 设为 FastLite;不能与 images 同时使用。

异步任务流程

创建任务后保存 data.id,每 5–10 秒调用 GET /v1/tasks/{task_id} 查询状态。statussucceeded 时读取 data.output.media,为 failed 时读取 data.error_codedata.error_message,随后按错误与重试策略处理。

使用本地文件

请先上传本地输入,再将返回的 data.url 填入请求。

鉴权

Authorization   string   必填

Authorization 请求头中以 Bearer 令牌发送服务端 API 密钥,可在控制台创建。

Authorization: Bearer <BEATAPI_API_KEY>

永久 API 密钥只能保存在可信服务端,不能写入浏览器、移动端、公开脚本、日志或截图。请求体必须使用 Content-Type: application/json。建议为每个逻辑创建请求设置唯一的 Idempotency-Key,只有完全相同的请求体才能安全复用原键。

请求体

字段名、类型和枚举值保留英文原样,用途和限制用中文说明。

model   string   必填

稳定的公开模型 ID,必须使用当前页面列出的值。

取值与默认值: 固定值 veo-3.1


prompt   string   必填

描述生成、编辑或分析目标的提示词。

取值与默认值: 长度 1–5000 字符


images   string[]   选填

按当前模型或工作流要求排序的公网 HTTPS 图片 URL 列表。

取值与默认值: 1–2 项


aspect_ratio   enum<string>   选填

输出素材的宽高比。

取值与默认值: 可选值 16:99:16auto;默认值 16:9


resolution   enum<string>   选填

输出素材的分辨率或质量档位。

取值与默认值: 可选值 720p1080p4k4K;默认值 720p


quality   enum<string>   选填

生成质量或速度档位。请使用当前模型允许的英文枚举值。

取值与默认值: 可选值 QualityFastLite;默认值按生成方式为 QualityFast


watermark   string   选填

传给所选模型的可选水印文字。


enable_translation   boolean   选填

生成前是否允许系统翻译提示词。


reference_images   string[]   部分模式必填

多模态或参考图生成使用的公网 HTTPS 图片 URL 列表。

取值与默认值: 1–3 项

请求示例

高质量

$curl --request POST \
> --url https://api.beatapi.io/v1/videos/tasks \
> --header 'Authorization: Bearer <BEATAPI_API_KEY>' \
> --header 'Content-Type: application/json' \
> --data '{
> "model": "veo-3.1",
> "prompt": "A cinematic aerial reveal of a quiet coastal village at sunrise.",
> "aspect_ratio": "16:9",
> "resolution": "720p",
> "quality": "Quality"
>}'

快速

$curl --request POST \
> --url https://api.beatapi.io/v1/videos/tasks \
> --header 'Authorization: Bearer <BEATAPI_API_KEY>' \
> --header 'Content-Type: application/json' \
> --data '{
> "model": "veo-3.1",
> "prompt": "A fast cinematic product reveal with natural camera motion.",
> "aspect_ratio": "16:9",
> "resolution": "1080p",
> "quality": "Fast"
>}'

轻量

$curl --request POST \
> --url https://api.beatapi.io/v1/videos/tasks \
> --header 'Authorization: Bearer <BEATAPI_API_KEY>' \
> --header 'Content-Type: application/json' \
> --data '{
> "model": "veo-3.1",
> "prompt": "A concise storyboard-ready product reveal.",
> "aspect_ratio": "16:9",
> "resolution": "4k",
> "quality": "Lite"
>}'

首尾帧驱动

$curl --request POST \
> --url https://api.beatapi.io/v1/videos/tasks \
> --header 'Authorization: Bearer <BEATAPI_API_KEY>' \
> --header 'Content-Type: application/json' \
> --data '{
> "model": "veo-3.1",
> "prompt": "Move smoothly from the opening portrait to the final product reveal.",
> "images": [
> "https://media.beatapi.io/samples/neon-singer.png",
> "https://media.beatapi.io/samples/smart-bottle.png"
> ],
> "aspect_ratio": "16:9",
> "resolution": "720p",
> "quality": "Quality"
>}'

Reference images (Fast)

$curl --request POST \
> --url https://api.beatapi.io/v1/videos/tasks \
> --header 'Authorization: Bearer <BEATAPI_API_KEY>' \
> --header 'Content-Type: application/json' \
> --data '{
> "model": "veo-3.1",
> "prompt": "Create a cohesive cinematic scene using the supplied visual references.",
> "reference_images": [
> "https://media.beatapi.io/samples/neon-singer.png",
> "https://media.beatapi.io/samples/smart-bottle.png"
> ],
> "aspect_ratio": "16:9",
> "resolution": "720p",
> "quality": "Fast"
>}'

响应

成功请求返回 HTTP 201,响应体如下。

1{
2 "data": {
3 "id": "task_8K2qA",
4 "object": "task",
5 "task_kind": "video",
6 "capability_id": "veo-3.1",
7 "capability_version": null,
8 "media_type": "video",
9 "model": "veo-3.1",
10 "status": "queued",
11 "stage": "queued",
12 "created_at": 1782210000,
13 "updated_at": 1782210000,
14 "completed_at": null,
15 "output": null,
16 "usage": {
17 "credits_reserved": 2.0,
18 "credits_charged": 2.0,
19 "billable_duration_seconds": 8,
20 "credits_settled": 0,
21 "credits_refunded": 0
22 },
23 "request_id": "req_abc123",
24 "error_code": null,
25 "error_message": null
26 }
27}

下一步

保存接受响应中的 data.id,每 5–10 秒轮询 GET /v1/tasks/{task_id}。任务成功后从 data.output.media 读取托管结果。

错误

状态码含义与处理方式
400请求字段、格式、取值或参数组合不合法,请修正后重新请求。
401API 密钥缺失、无效或未启用。
402USD 余额不足,请充值后再创建付费任务。
409幂等键已对应其他请求体,仅能对完全相同的逻辑请求复用原键。
429超过请求频率或并发上限,请遵守 Retry-After 或返回的等待时间。