Skip to content
On this page

视频和异步任务接口

视频生成通常是异步任务:提交请求后先得到任务 ID,再轮询任务状态,成功后获取视频或任务产物。

视频接口选择

接口说明推荐程度
/v1/videosOpenAI 风格视频任务提交新接入优先使用,但要求匹配的视频任务适配器
/v1/videos/{task_id}OpenAI 风格视频任务查询配合 /v1/videos 使用
/v1/videos/{task_id}/content获取视频内容或产物代理取决于渠道是否提供产物
/v1/video/generations兼容视频任务提交路径旧客户端兼容
/v1/video/generations/{task_id}兼容视频任务查询路径旧客户端兼容
/v1/videos/{video_id}/remix基于已有视频二次生成条件支持,要求渠道支持

/v1/videos 和 /v1/video/generations 的路由可以存在,但不代表当前实例已经配置了可用的视频任务模型。服务需要有匹配的视频任务渠道或任务插件;否则可能返回能力不支持、模型不存在,或只有通用任务回执而不是完整的视频对象。

OpenAI 风格视频提交

bash
export COREROUTER_API_KEY="sk-xxxxxxxxxxxxxxxx"

curl https://api.corerouter.tech/v1/videos \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $COREROUTER_API_KEY" \
  -d '{
    "model": "video-model-id",
    "prompt": "一只橘猫在舞台上弹钢琴,电影感灯光",
    "seconds": "4",
    "size": "1280x720"
  }'

如果渠道支持图片转视频,可以传入图片 URL:

bash
curl https://api.corerouter.tech/v1/videos \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $COREROUTER_API_KEY" \
  -d '{
    "model": "video-model-id",
    "prompt": "让图片中的主体缓慢转身",
    "image": "https://example.com/input.jpg",
    "seconds": "4",
    "size": "1280x720"
  }'

也可以使用 multipart/form-data,字段名通常包括 model、prompt、input_reference、seconds 和 size:

bash
curl https://api.corerouter.tech/v1/videos \
  -H "Authorization: Bearer $COREROUTER_API_KEY" \
  -F "model=video-model-id" \
  -F "prompt=让图片中的主体缓慢转身" \
  -F "[email protected]" \
  -F "seconds=4" \
  -F "size=1280x720"

查询视频任务

提交成功后,响应里通常会包含 id 或 task_id。使用返回的任务 ID 查询:

bash
curl https://api.corerouter.tech/v1/videos/task_xxxxxxxxxxxxxxxx \
  -H "Authorization: Bearer $COREROUTER_API_KEY"

常见状态:

状态含义
queued已提交,等待处理
in_progress生成中
completed已完成
failed失败,查看 error

获取视频内容

如果任务渠道支持产物代理,可以访问:

bash
curl -L https://api.corerouter.tech/v1/videos/task_xxxxxxxxxxxxxxxx/content \
  -H "Authorization: Bearer $COREROUTER_API_KEY" \
  --output output.mp4

是否能直接下载内容取决于视频渠道和任务插件。部分渠道只会返回结果 URL,需要从查询结果里读取。

兼容视频接口

已有客户端如果使用 /v1/video/generations,可以继续这样调用:

bash
curl https://api.corerouter.tech/v1/video/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $COREROUTER_API_KEY" \
  -d '{
    "model": "video-model-id",
    "prompt": "城市夜景延时摄影",
    "seconds": "5",
    "size": "1280x720"
  }'

兼容路径实际读取的通用字段主要是 model、prompt、seconds、duration、size、image、images、input_reference 和 metadata。width、height、fps、seed 等字段不会自动转换成 size,不要只传这些字段后期待服务端推断视频尺寸。

查询:

bash
curl https://api.corerouter.tech/v1/video/generations/task_xxxxxxxxxxxxxxxx \
  -H "Authorization: Bearer $COREROUTER_API_KEY"

通用任务接口

/v1/tasks/{key} 是更底层的通用任务提交入口。key 代表任务插件或任务类型,普通用户不需要直接猜测这个值。

bash
curl https://api.corerouter.tech/v1/tasks/task-plugin-key \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $COREROUTER_API_KEY" \
  -d '{
    "model": "task-model-id",
    "prompt": "生成一个演示任务",
    "metadata": {
      "quality": "standard"
    }
  }'

查询通用任务:

bash
curl https://api.corerouter.tech/v1/tasks/task_xxxxxxxxxxxxxxxx \
  -H "Authorization: Bearer $COREROUTER_API_KEY"

查询任务产物:

bash
curl https://api.corerouter.tech/v1/tasks/task_xxxxxxxxxxxxxxxx/artifacts \
  -H "Authorization: Bearer $COREROUTER_API_KEY"

下载某个产物:

bash
curl -L https://api.corerouter.tech/v1/tasks/task_xxxxxxxxxxxxxxxx/artifacts/video/content \
  -H "Authorization: Bearer $COREROUTER_API_KEY" \
  --output artifact.bin

常见问题

  • model field is required:请求体或表单缺少 model。
  • prompt is required:视频任务通常需要 prompt。
  • seconds must be between 1 and 3600:视频时长超出限制或传了负数。
  • 提交成功但一直排队:上游任务队列繁忙,稍后轮询,或换用其他模型。
  • 查询不到任务:确认使用的是提交响应里的任务 ID,且 API Key 仍有权限访问该任务。
  • 下载内容失败:当前任务渠道可能只提供结果 URL,不支持 /content 代理下载。

Released under the MIT License.