提交视频生成任务
提交异步视频生成任务:成功响应 `202 Accepted` 并返回 `task_id`,再用 `GET /v1/videos/generations/{task_id}` 轮询;生成通常需要 30 秒到几分钟,取决于模型。流程: 1. 调用本接口提交任务,成功响应 `202 Accepted`,返回 `task_id`。 2. 客户端使用 `task_id` 调用 `GET /v1/videos/generations/{task_id}` 轮询状态。 3. 当 `status` 变为 `completed` 时,从响应中读取视频 `url`。 **建议**:轮询间隔不少于 3 秒;不要为整个生成过程设置 HTTP 超时——仅对单次提交/轮询请求设置短超时(如 30 秒)。 **时长与分辨率按模型固定**、按条计价;请求体里的 `duration` / `size` 会被忽略。当前阵容见[视频生成页](https://router.one/zh/veo-api-china)。 **参考图说明**:图生视频模型必须且只能传一张 `image_url`,文生视频模型带图会被拒绝。支持 HTTP(S) URL,单图不超过 20MB;提交后 Router One 会代为下载并安全转存,因此即使图片来自用户上传的临时 URL 也可使用。
使用 API Key 进行认证。在 Router One 控制台获取你的 API Key,格式为 sk-xxx。
In: header
模型 ID。需选择支持视频生成能力的模型,可在控制台模型市场查询。
视频生成的文本提示词,描述画面内容、镜头运动、风格等。
当前目录中的所有视频模型都会忽略该字段:每个模型只出一种固定时长(见视频生成页的规格表)。字段保留用于向前兼容。
当前目录中的所有视频模型都会忽略该字段:分辨率按模型固定、按条计价。字段保留用于向前兼容。
视频宽高比。16:9 适合横屏,9:16 适合竖屏短视频,1:1 适合社交方图。仅 Vidu 与 PixVerse 系列模型生效(默认 16:9),MiniMax 与 Wan 模型忽略。
"16:9" | "9:16" | "1:1"反向提示词,描述希望避免出现的元素。可选;当前目录中的视频模型均不使用该字段。
参考图 URL。图生视频模型必填(且只能一张);文生视频模型带图会返回 400 <model> is text-to-video only: image_url is not supported。必须为 HTTP(S) 可访问地址,单图不超过 20MB。Router One 会代为下载并安全转存。
uri多参考图 URL 列表。当前目录中没有模型接受多于一张参考图——传多张会返回 400 <model> accepts exactly one image_url。字段保留用于向前兼容;每张约束同 image_url。
items <= 3模型特定的参考输入标识。仅当所选模型明确要求时使用;它会被当作参考图处理,因此与 image_url 遵守同样的模型规则。
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.router.one/v1/videos/generations" \ -H "Content-Type: application/json" \ -d '{ "model": "viduq3-turbo", "prompt": "海浪轻拍沙滩,黄昏的阳光洒在水面上,慢镜头", "aspect_ratio": "16:9" }'{
"task_id": "v_8f3a92c1d4e74b6ea0b5f1d29c7e8a01",
"status": "pending"
}{
"error": {
"message": "reference image exceeds 20MB",
"type": "invalid_request_error",
"code": "INVALID_REQUEST",
"request_id": "290dd478f91d8aec68f7535e871376eb"
}
}{
"error": {
"message": "invalid api key",
"type": "authentication_error",
"code": "AUTH_INVALID_API_KEY",
"request_id": "290dd478f91d8aec68f7535e871376eb"
}
}{
"error": {
"message": "insufficient balance: top up at https://router.one/deposit",
"type": "billing_error",
"code": "INSUFFICIENT_BALANCE",
"request_id": "290dd478f91d8aec68f7535e871376eb"
}
}{
"error": {
"message": "rate limit exceeded",
"type": "rate_limit_error",
"code": "RATE_LIMIT_EXCEEDED",
"request_id": "290dd478f91d8aec68f7535e871376eb"
}
}{
"error": {
"message": "empty response from upstream",
"type": "api_error",
"code": "INTERNAL_ERROR",
"request_id": "290dd478f91d8aec68f7535e871376eb"
}
}{
"error": {
"message": "provider is currently unavailable",
"type": "service_unavailable",
"code": "PROVIDER_UNAVAILABLE",
"request_id": "290dd478f91d8aec68f7535e871376eb"
}
}{
"error": {
"message": "upstream timeout",
"type": "service_unavailable",
"code": "PROVIDER_UNAVAILABLE",
"request_id": "290dd478f91d8aec68f7535e871376eb"
}
}