API 参考文档

Veo 3.1 AI 视频生成完整 API 文档

概述

Veo 3.1 API 允许您以编程方式从文字描述或图片生成 AI 视频。我们的 RESTful API 设计简单、强大且易于集成到您的应用程序中。

基础 URL

https://veo3o1.com/api

身份验证

所有 API 请求都需要使用 API 密钥进行身份验证。在 Authorization 标头中包含您的 API 密钥:

Authorization: Bearer YOUR_API_KEY

您可以从账号仪表板生成 API 密钥。


生成视频

从文字或图片创建新的 AI 视频。

端点

POST /generate-video

请求体

{
  "generationType": "text_to_video" | "image_to_video",
  "prompt": "您的视频描述",
  "aspectRatio": "auto" | "16:9" | "9:16",
  "imageUrl": "https://...", // 如果 generationType 为 "image_to_video" 则必需
  "imageKey": "r2-key" // 可选,用于已上传的图片
}

参数

参数类型必需描述
generationTypestring生成类型:text_to_videoimage_to_video
promptstring您想要生成的视频描述
aspectRatiostring视频宽高比。默认值:auto
imageUrlstring条件如果 generationTypeimage_to_video 则必需
imageKeystring已上传图片的存储密钥

响应

{
  "code": 0,
  "msg": "Success",
  "data": {
    "uuid": "video-uuid-123",
    "status": "pending",
    "generationType": "text_to_video",
    "prompt": "您的视频描述",
    "aspectRatio": "16:9",
    "createdAt": "2025-10-16T10:00:00Z"
  }
}

示例

curl -X POST https://veo3o1.com/api/generate-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "generationType": "text_to_video",
    "prompt": "美丽的海上日落,海浪轻轻拍打着海岸",
    "aspectRatio": "16:9"
  }'

获取视频状态

检查视频生成请求的状态。

端点

GET /video-status/{uuid}

参数

参数类型必需描述
uuidstring生成请求返回的视频 UUID

响应

{
  "code": 0,
  "msg": "Success",
  "data": {
    "uuid": "video-uuid-123",
    "status": "completed" | "pending" | "processing" | "failed",
    "videoUrl": "https://...", // 状态为 "completed" 时可用
    "progress": 85, // 处理进度 (0-100)
    "estimatedTime": 120 // 预计剩余秒数
  }
}

状态值

  • pending: 视频已排队等待处理
  • processing: 视频正在生成中
  • completed: 视频已完成并可供下载
  • failed: 生成失败(查看错误消息)

上传图片

上传图片用于图片转视频生成。

端点

POST /upload-video-image

请求

使用 multipart/form-data 上传图片文件。

curl -X POST https://veo3o1.com/api/upload-video-image \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/image.jpg"

响应

{
  "code": 0,
  "msg": "上传成功",
  "data": {
    "imageUrl": "https://...",
    "imageKey": "r2-key-123"
  }
}

支持的格式

  • JPEG/JPG
  • PNG
  • WebP
  • 最大文件大小:50MB

错误代码

代码描述
0成功
1000无效参数
1001积分不足
1002身份验证失败
1003超出速率限制
5000服务器错误

错误响应示例

{
  "code": 1001,
  "msg": "积分不足",
  "data": {
    "required": 2,
    "current": 0
  }
}

速率限制

  • 免费版: 10 请求/小时
  • 入门版: 100 请求/小时
  • 专业版: 500 请求/小时
  • 企业版: 自定义限制

所有响应中都包含速率限制标头:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1697472000

SDK 和库

我们为流行的编程语言提供官方 SDK:

  • JavaScript/TypeScript: npm install @veo3o1/sdk
  • Python: pip install veo3o1
  • Go: go get github.com/veo3o1/go-sdk

JavaScript 示例

import { Veo3o1 } from '@veo3o1/sdk';

const client = new Veo3o1('YOUR_API_KEY');

const video = await client.generateVideo({
  generationType: 'text_to_video',
  prompt: '美丽的海上日落',
  aspectRatio: '16:9'
});

console.log('视频 UUID:', video.uuid);

Webhooks

配置 webhooks 以在视频完成时接收通知。

设置

  1. 前往 API 设置
  2. 输入您的 webhook URL
  3. 选择要接收的事件

事件类型

  • video.completed: 视频生成成功完成
  • video.failed: 视频生成失败

Webhook 负载

{
  "event": "video.completed",
  "uuid": "video-uuid-123",
  "videoUrl": "https://...",
  "timestamp": "2025-10-16T10:05:00Z"
}

最佳实践

  1. 合理轮询: 每 5-10 秒检查一次视频状态,而不是连续检查
  2. 处理错误: 实现带指数退避的重试逻辑
  3. 缓存结果: 存储生成的视频以避免重复生成
  4. 使用 webhooks: 比轮询更高效的完成通知方式
  5. 验证输入: 在 API 调用之前检查提示词长度和图片格式

支持

需要 API 帮助?