OpenAI 兼容视频流
视频模型只接受厂商官方原生协议:万相 2.7(DashScope)、可灵 3.0(Kling)、Veo 3.1(Google)。
wan2.7-t2v/wan2.7-i2v/kling-v3/veo-3.1/veo-3.1-fast已不再开放本页的POST /v1/video/generations(对这些模型返回400、app_error_id=4005 model_protocol_not_offered)。任务轮询GET /v1/videos/{task_id}与产物接口GET /v1/videos/{task_id}/content对原生协议创建的任务仍可用;通用异步任务接口见异步内容生成任务。
| 方法 | 路径 | 用途 |
|---|---|---|
POST | /v1/video/generations | 创建 OpenAI 兼容视频任务 |
GET | /v1/videos/{task_id} | 轮询视频任务状态与结果 |
GET | /v1/videos/{task_id}/content | 拉取已完成视频任务的产物内容 |
这组接口是平台定义的标准视频协议:请求体使用 OpenAI Video 兼容字段,平台负责识别并转换成对应上游的视频异步任务格式。
创建任务
bash
curl https://api.modelgo.com/v1/video/generations \
-H "Authorization: Bearer $MODELGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"<model>","prompt":"a neon city cat","duration":4}'创建成功后返回 task_id。后续轮询与产物拉取都围绕该 task_id 进行。
轮询任务状态
bash
curl https://api.modelgo.com/v1/videos/task_123 \
-H "Authorization: Bearer $MODELGO_API_KEY"json
{
"id": "task_123",
"object": "video",
"status": "completed",
"progress": 100,
"metadata": { "url": "https://.../video.mp4", "duration": 4, "resolution": "..." }
}status 取值为 queued / in_progress / completed / failed;为 completed 时,metadata.url 中会给出产物地址。
拉取产物内容
任务完成后,也可以通过内容接口直接拿视频文件。该接口由网关直接回传 video/mp4 字节流(不再 302 跳转到对象存储),支持 Range 断点续传,且只有任务所属 API Key(或同租户控制台登录态)可访问:
bash
curl https://api.modelgo.com/v1/videos/task_123/content \
-H "Authorization: Bearer $MODELGO_API_KEY" \
-o video.mp4内容接口的可用性取决于后台「媒体交付」配置:
- 未启用时返回
404(content_delivery_disabled) - 任务尚未完成时返回
409(task_not_completed) - 产物已过期或不存在时返回
404(content_not_available)
关键约定
- 这是标准 OpenAI 兼容视频入口,客户端不需要理解厂商原生协议。
- 是否支持
duration、size等字段,以及最终落到哪个上游,取决于model对应的逻辑模型配置。 - 视频任务属于异步模型,轮询时请带退避,避免高频请求触发限流。
如需更通用的异步任务入口,见通用异步内容生成任务;想按厂商原厂报文书写、但仍要平台托管的计费与任务管理,见Seedance 视频入站协议与MiniMax 视频入站协议。