Skip to main content
POST
/
v1
/
videos
创建视频任务
curl --request POST \
  --url https://models.rivus.cn/v1/videos \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form model=sora-2 \
  --form 'prompt=百事可乐宣传片' \
  --form seconds=4 \
  --form size=720x1280
{
  "id": "video_691209aab0a08198a4e78870277f7e3d0215e09cec47a737",
  "object": "video",
  "created_at": 1762789802,
  "status": "queued",
  "model": "sora-2",
  "prompt": "百事可乐宣传片",
  "progress": 0,
  "seconds": "4",
  "size": "720x1280"
}
本文档使用统一的 OpenAI 风格接口,不涉及任何上游供应商信息。你可以直接用 Bearer Token 调用 /v1/videos 创建任务,并用 /v1/videos/{id} 查询进度、/v1/videos/{id}/content 下载成片。

认证

  • Authorization: Bearer <Token>
export BASE_URL="https://models.rivus.cn/v1"
export TOKEN="oh-xxxxxxxxxxxxxxxx"

可用模型

  • veo-3.1-fast-generate-preview(快速出片)
  • veo-3.1-generate-preview(标准质量)
后续如有新增型号,可在“可用模型”接口或控制台查看,无需改动调用方式。

文生视频(JSON)

注意:seconds 需以字符串提交(JSON 标签为 ,string)。
curl -X POST "$BASE_URL/videos" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-fast-generate-preview",
    "prompt": "a cinematic lion at sunset",
    "seconds": "6",
    "size": "1280x720"
  }'
成功时返回:
{
  "id": "video_xxx",
  "object": "video",
  "model": "veo-3.1-fast-generate-preview",
  "status": "queued",
  "progress": 0,
  "created_at": 1761234567,
  "seconds": "6",
  "size": "1280x720"
}

图生视频(multipart)

通过 input_reference 字段上传 1–3 张参考图(可重复多次):
curl -X POST "$BASE_URL/videos" \
  -H "Authorization: Bearer $TOKEN" \
  -F "model=veo-3.1-fast-generate-preview" \
  -F "prompt=Neon rain street, cinematic" \
  -F "seconds=6" \
  -F "size=1280x720" \
  -F "input_reference=@tmp/veo_refs/ref1_1280x720.jpg" \
  -F "input_reference=@tmp/veo_refs/ref2_720x1280.jpg"

查询任务

curl "$BASE_URL/videos/{video_id}" \
  -H "Authorization: Bearer $TOKEN"
完成后响应会包含直链:video_url(或 result.video_url)。

下载视频

curl -L "$BASE_URL/videos/{video_id}/content" \
  -H "Authorization: Bearer $TOKEN" \
  --output out.mp4
网关会统一代理视频直链,保证下载稳定性与安全性;无需关心实际存储来源。

API 调试面板(可直接试用)

本页已嵌入 POST /v1/videos 的调试面板(见页首)。你可以:
  • 选择模型与参数,发起创建请求;
  • 复制返回的 id,再用 cURL 调用查询/下载接口;
  • 若你使用 SDK,也可直接复用同样的请求体结构。

参数说明

  • model:视频生成模型(必填)
  • prompt:文本提示词(建议英文或中英混合)
  • seconds:视频时长(秒,JSON 需以字符串提交)
  • size:分辨率(如 1280x720720x12801920x10801080x1920
  • input_reference:参考图(multipart 下可重复 1–3 次)
  • extend_from:基于历史成片续写(部分型号/时长可能受限)

最佳实践

  • 1080p 场景建议配合 8 秒时长;其余尺寸常用 4/6/8 秒。
  • 图生视频优先提供与目标画幅一致的参考图(横版/竖版)。
  • 轮询查询时使用 6–10 秒退避,避免过于频繁的请求。

计费

按视频时长(秒)计费。若响应无法解析到时长,可在查询时追加 ?duration=6 明确计费秒数。

Authorizations

Authorization
string
header
required

使用 API Key 作为 Bearer Token

Body

multipart/form-data
model
enum<string>
required

模型名称

Available options:
sora-2,
sora-2-pro
Example:

"sora-2"

prompt
string
required

视频生成的文本描述,最多 1000 个字符

Maximum string length: 1000
Example:

"百事可乐宣传片"

seconds
enum<integer>

视频时长(秒)。sora-2 支持 4、8、10、12、15 秒,默认 10;sora-2-pro 支持 4、8、12、15、25 秒,默认 15

Available options:
4,
8,
10,
12,
15,
25
Example:

4

size
enum<string>
default:1280x720

视频分辨率

Available options:
1280x720,
1920x1080,
720x1280,
1080x1920
Example:

"720x1280"

Response

任务创建成功

id
string

视频任务的唯一标识符

Example:

"video_691209aab0a08198a4e78870277f7e3d0215e09cec47a737"

object
enum<string>

对象类型

Available options:
video
Example:

"video"

created_at
integer

创建时间戳(Unix 时间)

Example:

1762789802

completed_at
integer

任务完成时间戳(仅在 completed 状态下存在)

Example:

1762789891

expires_at
integer

视频过期时间戳(仅在 completed 状态下存在)

Example:

1762793491

model
string

使用的模型名称

Example:

"sora-2"

status
enum<string>

任务状态

Available options:
queued,
processing,
completed,
failed
Example:

"queued"

prompt
string

生成视频的文本描述

Example:

"一个无人机从海滩升空拍摄夕阳"

progress
integer

处理进度(0-100)

Required range: 0 <= x <= 100
Example:

0

seconds
string

视频时长(字符串格式)

Example:

"10"

size
string

视频分辨率

Example:

"1280x720"

assets
object[]

生成的视频资源数组,仅在 completed 状态下存在(部分供应商可能不返回此字段,需通过 /content 端点下载)

parent_video_id
string

父视频 ID(仅 Remix 任务返回)

Example:

"video_691209aab0a08198a4e78870277f7e3d0215e09cec47a737"

error
object

错误信息,仅在 failed 状态下存在