提交视频生成任务
提交异步视频生成任务:成功响应 202 Accepted 并返回 task_id,再用 GET /v1/videos/generations/{task_id} 轮询;生成通常需要 30 秒到几分钟,取决于模型。流程:
- 调用本接口提交任务,成功响应
202 Accepted,返回task_id。 - 客户端使用
task_id调用GET /v1/videos/generations/{task_id}轮询状态。 - 当
status变为completed时,从响应中读取视频url。
建议:轮询间隔不少于 3 秒;不要为整个生成过程设置 HTTP 超时——仅对单次提交/轮询请求设置短超时(如 30 秒)。
时长与分辨率按模型固定、按条计价;请求体里的 duration / size 会被忽略。目录里是否有视频模型见视频生成页;截至 2026-10-01 没有。
参考图说明:图生视频模型必须且只能传一张 image_url,文生视频模型带图会被拒绝。支持 HTTP(S) URL,单图不超过 20MB;提交后 Router One 会代为下载并安全转存,因此即使图片来自用户上传的临时 URL 也可使用。
全部端点的完整参考:Markdown 版 · OpenAPI 3.1 JSON
使用 API Key 进行认证。在 Router One 控制台获取你的 API Key,格式为 sk-xxx。
In: header
模型 ID。需选择支持视频生成能力的模型,可在模型广场查询。
视频生成的文本提示词,描述画面内容、镜头运动、风格等。
2026-09-05 之前上架的视频模型都会忽略该字段:每个模型只出一种固定时长(见视频生成页的规格表);截至 2026-10-01 目录没有视频模型。字段保留用于向前兼容。
2026-09-05 之前上架的视频模型都会忽略该字段(分辨率按模型固定、按条计价);截至 2026-10-01 目录没有视频模型。字段保留用于向前兼容。
视频宽高比。16:9 适合横屏,9:16 适合竖屏短视频,1:1 适合社交方图。是否生效由具体视频模型决定;当前目录没有视频模型,使用前请核对模型页。
"16:9" | "9:16" | "1:1"反向提示词,描述希望避免出现的元素。可选;2026-09-05 之前上架的视频模型都不使用该字段,截至 2026-10-01 目录没有视频模型。
参考图 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": "<text-to-video-model-id>", "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"
}
}