Veo 3.1 Fast 视频生成
本文说明 Rai VIP 兼容的 Gemini 视频生成接口:
POST /v1beta/models/veo-3.1-fast-generate-preview:generateContent请求体风格与 Gemini generateContent 一致,使用 contents[].parts[] 传入内容,不是 Google 官方 Veo 原生 REST 里的 instances / parameters 结构。
请求地址
POST https://raivip.com/v1beta/models/veo-3.1-fast-generate-preview:generateContent鉴权
| 方式 | 说明 |
|---|---|
| Rai VIP 网关 | Authorization: Bearer sk-xxxxxxxx |
| Google 官方原生 Gemini API | 通常使用 x-goog-api-key: $GEMINI_API_KEY |
最小请求示例
仅传视频提示词时,请求体如下:
bash
curl "https://raivip.com/v1beta/models/veo-3.1-fast-generate-preview:generateContent" \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"contents": [
{
"parts": [
{
"text": "A cinematic shot of a majestic lion in the savannah."
}
]
}
]
}'请求体结构
json
{
"contents": [
{
"parts": [
{
"text": "A cinematic shot of a majestic lion in the savannah."
}
]
}
]
}常用请求字段
| 字段 | 必填 | 说明 |
|---|---|---|
contents | 是 | 输入内容数组 |
contents[].role | 否 | 角色,常见为 user |
contents[].parts | 是 | 内容片段数组 |
parts[].text | 是 | 视频生成提示词 |
parts[].inlineData | 否 | 内联图片、音频或视频;如平台支持,可用于图生视频或参考素材 |
parts[].fileData | 否 | 文件引用;如平台支持,可用于引用已上传素材 |
generationConfig | 否 | 生成配置;如平台支持,可传宽高比、时长等 |
safetySettings | 否 | 安全过滤设置 |
说明
入口仍叫 generateContent,但模型为视频模型,结果通常不是一段文本,而是异步视频任务或视频结果引用。
示例
纯文本提示词生成视频
json
{
"contents": [
{
"parts": [
{
"text": "A drone shot flying over snowy mountains at sunrise, cinematic, realistic lighting."
}
]
}
]
}带 system_instruction
json
{
"system_instruction": {
"parts": [
{
"text": "Generate concise, high-motion cinematic video prompts."
}
]
},
"contents": [
{
"parts": [
{
"text": "A cat surfing on ocean waves at sunset."
}
]
}
]
}带参考图片
json
{
"contents": [
{
"parts": [
{
"text": "Animate this character walking through a neon-lit city street."
},
{
"fileData": {
"mimeType": "image/png",
"fileUri": "https://example.com/reference.png"
}
}
]
}
]
}返回说明
虽使用 generateContent 风格请求体,视频生成通常仍按异步任务处理:首次请求一般不直接返回最终视频文件,而是返回任务对象、操作对象或含视频引用的响应。实际字段以网关真实响应为准。
兼容任务返回示例
排队中:
json
{
"id": "video_task_123",
"object": "video.task",
"model": "veo-3.1-fast-generate-preview",
"status": "queued",
"progress": 0,
"created_at": 1712697600
}处理中:
json
{
"id": "video_task_123",
"object": "video.task",
"model": "veo-3.1-fast-generate-preview",
"status": "processing",
"progress": 42,
"created_at": 1712697600
}已完成:
json
{
"id": "video_task_123",
"object": "video.task",
"model": "veo-3.1-fast-generate-preview",
"status": "completed",
"progress": 100,
"created_at": 1712697600,
"completed_at": 1712697815,
"result": {
"video_url": "https://example.com/output.mp4"
}
}失败:
json
{
"id": "video_task_123",
"object": "video.task",
"model": "veo-3.1-fast-generate-preview",
"status": "failed",
"progress": 15,
"error": {
"code": "generation_blocked",
"message": "The request was blocked by a safety filter."
}
}注意
以上任务返回示例按「平台兼容的 generateContent 视频接口」整理,非 Google 官方逐字返回。若网关已有固定字段,请以实际响应为准。
文档口径建议
接入 Rai VIP 时建议统一表述为:
- 请求入口:
POST /v1beta/models/veo-3.1-fast-generate-preview:generateContent - 请求体:
contents[].parts[].text(及可选fileData等) - 结果类型:异步视频任务
- 状态字段:
status、progress - 成功结果:视频地址或文件引用
与 Google 官方原生接口的差异
Google Veo 3.1 文档 中,原生 REST 主示例多为:
POST /v1beta/models/veo-3.1-fast-generate-preview:predictLongRunning| 对比项 | Google 官方原生 | Rai VIP 兼容文档 |
|---|---|---|
| 入口 | 偏 predictLongRunning | 偏 generateContent |
| 请求体 | instances / parameters 等 | contents[].parts[] |
两者不是同一套请求体格式,集成时需按所用网关文档区分。
参考文档
返回 Gemini API 概览。