Skip to content

Veo3 视频生成 API

本文档旨在指导开发者如何通过 RAINBOXS 平台调用 veo3 系列模型,以生成高品质的视频内容。


1. Veo3 模型简介

veo3 是领先的生成式视频模型,能够深刻理解视觉和自然语言,生成符合用户创意构想的高清视频。

特性描述
🎬 影视级生成支持生成高达 720p 分辨率、24fps 帧率的视频,并能同步产出高质量的音效。
🎥 精准镜头控制允许在提示词中直接定义镜头运动(如推拉摇移)、焦距和光照风格,能理解复杂的场景逻辑。
🖼️ 图生视频支持上传参考图像作为视频首帧,确保人物、物品等元素在视觉上的一致性。

首帧输入

以下模型支持首帧输入,即图生视频。

veo3-frames veo3-fast-frames veo3-pro-frames

可上传参考图或帧,确保人物、物品、光影在不同片段中一致,可进行视频内编辑(如添加道具)

视频比例说明 文生视频在提示词中强调竖屏或者横屏就能生成对应比例的视频 图生视频是根据图片的比例,如果图片是方形默认是横屏


2. 接口调用方式 (Chat 格式)

veo3 的调用方式非常独特,它复用了标准的聊天接口,通过流式响应(streaming)来实时反馈任务进度和最终结果。

  • 路径/v1/chat/completions
  • 方法POST
  • 认证Bearer Token

异步流程说明

  1. 您发起一个 POST 请求,必须设置 stream: true
  2. 服务器会立即响应,并通过 Server-Sent Events (SSE) 持续推送任务的实时状态。
  3. 您需要持续接收和解析这些事件,直到最后收到包含视频 URL 的消息。

请求 Body (application/json)

参数类型是否必需描述
modelstring必须指定为 veo3 系列模型,如 veo3, veo3-fast, veo3-frames (图生视频)。
messagesarray对话消息列表。
messages[].rolestring角色应为 user
messages[].contentstringarray视频的详细描述 (Prompt)。对于图生视频,此字段应为一个包含文本和图像 URL 的数组。
streamboolean必须设置为 true 以接收异步任务状态。

请求示例 (文生视频)

json
{
    "model": "veo3",
    "messages": [
        {
            "role": "user",
            "content": "一位宇航员在五彩斑斓的外星丛林中漫步,周围是发光的奇特植物和飞舞的小生物,电影感,4K画质。"
        }
    ],
    "stream": true
}

请求示例 (图生视频)

json
{
    "model": "veo3-frames",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "让画面中的这个人物动起来,在雨中悲伤地行走。"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://example.com/path/to/your/image.jpg"
                    }
                }
            ]
        }
    ],
    "stream": true
}

3. 响应说明

响应是一个持续的事件流。您会收到多个 JSON 对象,每个对象都代表一次状态更新。

状态更新事件流 (Stream)

您会陆续收到类似下面的 Markdown 格式的文本流,其中包含了任务ID、进度预览链接和实时状态。

markdown
> 视频生成任务已创建
> 任务ID: `24cbd66b-3163-4f1a-95cf-0b9af4bf606f`
> 为了防止任务中断,可以从以下链接持续获取任务进度:
> [数据预览](https://asyncdata.net/web/...) | [原始数据](https://asyncdata.net/source/...)
>
> 🎬 开始生成视频................
> 🔄 正在优化视频质量.............
> 🎉 高质量视频已生成
> [▶️ 在线观看](https://cdn.example.com/video.mp4) | [⏬ 下载视频](https://cdn.example.com/download/video.mp4)

关键状态说明

状态标识描述
🎬 开始生成视频系统已开始处理核心的视频生成步骤。
🖼️ 处理图片中(图生视频) 系统正在下载、裁剪和上传您提供的参考图。
🔄 正在优化视频质量视频初版已生成,正在进行高清化或增强处理。
🎉 高质量视频已生成所有处理步骤完成。
[▶️ 在线观看]最终的视频URL,可以直接在浏览器中播放。

veo3 异步文档

获取任务id

请求路径:https://asyncdata.net/tran/https://api.rainboxs.com//v1/chat/completions 请求方法:POST

所有请求都需要在 HTTP Header 中包含 Authorization 字段,用于身份认证。 Header参数示例:

Authorization: sk-2SiNPJ(这里换成平台生成的有效令牌)

文生视频

可以在提示词中说明要生成的视频比例,支持横屏和竖屏

{
    "model": "veo3",
    "messages": [
        {
            "role": "user",
            "content": "(竖屏)一只狗在跑道上跑步"
        }
    ]
}

图生视频

图片url可以换成base64 图生视频的比例是根据图片的比例,如果是方形图片那么生成的视频就是横屏

{
    "model": "veo3",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "text": "一只狗在图片出场景中跑步",
                    "type": "text"
                },
                {
                    "image_url": {
                        "url": "https://filesystem.site/cdn/20250603/k0kVgLClcJyhH3vsLptmQV.png"
                    },
                    "type": "image_url"
                }
            ]
        }
    ]
}

响应

{
    "id": "task_01k6q7f4gcfd2vtka5j7scw6vs",
    "preview_url": "https://asyncdata.net/web/veo3-frames:4706ad6a-8de9-4d6c-b941-950acad64171",
    "source_url": "https://asyncdata.net/source/veo3-frames:d1e0b88b-6b88-4fc0-9e8a-e42fdebeaffd"
}

查询任务详情

路径:https://asyncdata.net/source/{task_id} 方法:Get

Path参数:

"task_id": "veo3-frames:d1e0b88b-6b88-4fc0-9e8a-e42fdebeaffd"

//完整路径示例
https://asyncdata.net/source/veo3-frames:d1e0b88b-6b88-4fc0-9e8a-e42fdebeaffd

响应

{
    "completed_at": 1760100007970,
    "created_at": 1760099924813,
    "enhanced_prompt": "增强英文版提示词",
    "images": [
        {
            "mediaId": "CAMaJDE0MWFkMTYxLTUzMWItNDgwOS04MzA1LTlhNjRlZWNiNGU3NSIDQ0FFKiRmNmZlNTA4MS0yOGYzLTRiM2UtYmU5Zi00N2U4NDA2NGRmYjg",
            "status": "completed",
            "url": "https://filesystem.site/cdn/20251010/6lLU5IydgRPZsoyMRc1aCRM9wqaMye.png"
        }
    ],
    "max_retries": 3,
    "req": {
        "aspect_ratio": "16:9",
        "enable_upsample": false,
        "enhance_prompt": true,
        "images": [
            "https://filesystem.site/cdn/20251010/6lLU5IydgRPZsoyMRc1aCRM9wqaMye.png"
        ],
        "model": "veo3-frames",
        "prompt": ""
    },
    "retry_count": 0,
    "running": false,
    "status": "completed",
    "status_update_time": 1760100008071,
    "veo3StartImageMediaId": "CAMaJDE0MWFkMTYxLTUzMWItNDgwOS04MzA1LTlhNjRlZWNiNGU3NSIDQ0FFKiRmNmZlNTA4MS0yOGYzLTRiM2UtYmU5Zi00N2U4NDA2NGRmYjg",
    "video_generation_id": "27335837fec8ee985c1b0baf4948831f",
    "video_generation_status": "MEDIA_GENERATION_STATUS_SUCCESSFUL",
    "video_media_id": "CAUSJDU3YzBlY2UwLTRhMTMtNDIxYy1iZjQyLWUwNDg0NmU5MWE2YRokYTMyMmI0OWQtOGY4NS00ZmVhLWI5ODktZGQ2M2I2NGZiMjE5IgNDQUUqJDhkM2I4N2Q0LWU4YjQtNDcyYy05ZWRlLWQxYmZmOTZmODkyOQ",
    "video_url": "https://filesystem.site/cdn/20251010/c52ada7279d1ebb65c139e11202254.mp4"
}

RAINBOXS API 文档