创建视频
POST /v1/videos
说明
概述
Google Gemini Veo 系列视频生成接口,支持文生视频与图生视频两种模式。走 OpenAI 兼容 Video API 异步任务流:提交任务拿 task_id → 间隔轮询 /v1/videos/{task_id} → 完成后通过 url / video_url 直链或 /v1/videos/{task_id}/content 拉取 mp4。
模型矩阵
| 模型名 | 4K | 多图参考 | 用途 |
|---|---|---|---|
veo3 / veo-3.0-generate-001 |
❌ | ❌ | 标准 3.0 |
veo-3.0-fast-generate-001 |
❌ | ❌ | 3.0 快速档 |
veo3.1 / veo-3.1-generate-preview |
✅ | ❌ | 标准 3.1,支持 4K |
veo-3.1-fast-generate-preview |
✅ | ❌ | 3.1 快速档 |
veo3.1-pro |
✅ | ❌ | 3.1 旗舰,最高画质 |
veo3.1-components |
✅ | ✅(最多 3 张) | 3.1 多图参考(Ingredients to Video) |
模型名带
components关键字时启用多图参考能力,使用input_reference[]多 part 上传最多 3 张参考图(角色/物体/背景),上游基于这些图保持跨镜头一致性。
提交格式
Content-Type: multipart/form-data
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model |
string | ✅ | 模型名,见上表 |
prompt |
string | ✅ | 视频提示词 |
seconds |
string | 否 | 时长(秒):4 / 6 / 8,默认 6 |
resolution |
string | 否 | 分辨率:720p / 1080p / 4k(4k 仅 3.1 系列),默认 720p |
aspectRatio |
string | 否 | 比例:16:9 横屏 / 9:16 竖屏,默认 16:9 |
input_reference |
file | 否 | 单张参考图(File 二进制 part),用作图生视频的起始锚点;3.0/3.1 标准款使用 |
input_reference[] |
file | 否 | 多张参考图(最多 3 张),仅 *-components 模型;浏览器/客户端需以多个同名 part 形式发出 |
cURL 示例(文生视频)
curl https://api.openai-hub.com/v1/videos \
-H "Authorization: Bearer $YOUR_API_KEY" \
-F model="veo3.1" \
-F prompt="一只猫在月光下跳跃,慢动作" \
-F seconds="6" \
-F resolution="1080p" \
-F aspectRatio="16:9"
cURL 示例(图生视频,单图)
curl https://api.openai-hub.com/v1/videos \
-H "Authorization: Bearer $YOUR_API_KEY" \
-F model="veo3.1" \
-F prompt="角色慢慢转身看向镜头" \
-F seconds="6" \
-F resolution="720p" \
-F aspectRatio="9:16" \
-F input_reference="@./character.jpg"
cURL 示例(多图参考,components 专属)
curl https://api.openai-hub.com/v1/videos \
-H "Authorization: Bearer $YOUR_API_KEY" \
-F model="veo3.1-components" \
-F prompt="主角在指定背景里行走" \
-F seconds="8" \
-F resolution="1080p" \
-F aspectRatio="16:9" \
-F "input_reference[]=@./character.jpg" \
-F "input_reference[]=@./background.jpg" \
-F "input_reference[]=@./prop.jpg"
提交响应
返回 OpenAI Video Object:
{
"id": "task_sgAaePZCzNYA2tngW6wqCiDoaqklroGV",
"object": "video",
"model": "veo3.1",
"status": "queued",
"progress": 0,
"created_at": 1777955300,
"seconds": "6"
}
轮询任务状态
GET /v1/videos/{task_id},建议 10s 间隔。
进行中
{
"id": "task_sgAaePZCzNYA2tngW6wqCiDoaqklroGV",
"status": "in_progress",
"progress": 35
}
完成(直返 url,逆向上游典型响应)
{
"id": "task_sgAaePZCzNYA2tngW6wqCiDoaqklroGV",
"url": "https://pro.filesystem.site/cdn/20260505/2b0e4884a6ab5bd4215906440c3c99.mp4",
"size": "720x1280",
"model": "veo3.1",
"object": "video",
"status": "completed",
"seconds": "5",
"progress": 100,
"video_url": "https://pro.filesystem.site/cdn/20260505/2b0e4884a6ab5bd4215906440c3c99.mp4",
"created_at": 1777955300,
"completed_at": 1777955508
}
当响应里出现
url或video_url字段(mp4 直链)时,客户端可直接使用该 URL 渲染/下载视频,无需再调用/content接口。优先级url>video_url。
完成(无直链,需要走 /content)
{
"id": "task_xxxx",
"object": "video",
"model": "veo-3.1-generate-preview",
"status": "completed",
"progress": 100,
"created_at": 1777955300,
"completed_at": 1777955508
}
响应中无 url 字段时,调 GET /v1/videos/{task_id}/content 由网关代理拉取 mp4 流。
失败
{
"id": "task_xxxx",
"status": "failed",
"error": { "message": "内容审核未通过:检测到违规元素", "code": "content_policy_violation" }
}
计费
- 计费维度:
seconds × resolution_ratio × group_ratio resolution_ratio:720p / 1080p = 1.0;4K 在veo-3.1-generate-preview = 1.5、veo-3.1-fast-generate-preview ≈ 2.333;3.0 系列不支持 4K(请求会被上游拒)group_ratio:用户分组倍率- 失败任务(状态
failed)不扣费;成功提交但内容审核拒绝的任务会扣费(按 OpenAI 同款行为)
内容审核
上游对参考图与提示词均做内容审核,下列内容会被拒绝:
- 真实人物面部特写、未成年人
- 商标 / LOGO 等品牌识别
- 暴力、血腥、性内容
审核失败任务状态为 failed,且消耗的配额不退。
请求头
| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| Authorization | header | string | 是 | Bearer 形式的 API Key,例如 Bearer sk-xxxx |
请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型名,例如 veo3.1 / veo3.1-pro / veo3.1-components / veo-3.0-generate-001 |
| prompt | string | 是 | 视频提示词 |
| seconds | string | 否 | 时长(秒):4 / 6 / 8,默认 6 |
| resolution | string | 否 | 分辨率:720p / 1080p / 4k(4k 仅 3.1 系列),默认 720p |
| aspectRatio | string | 否 | 比例:16:9 横屏 / 9:16 竖屏,默认 16:9 |
| input_reference | string | 否 | 单张参考图(File 二进制 part),用作图生视频起始锚点;3.0/3.1 标准款 |
| input_reference[] | string | 否 | 多张参考图(最多 3 张),仅 *-components 模型;客户端以多个同名 part 形式发出 |