主流视频模型
sora-2、veo3.1、MiniMax-Hailuo-2.3、minimax-h3 的统一扁平字段视频接口,文生/图生,异步,用 GET /v1/tasks/{task_id} 查询
OpenAI、Google 与 MiniMax 视频模型共用统一扁平请求格式,文生视频和图生视频走同一接口。提交、轮询、任务对象、回调与错误见接口说明。
本页覆盖的 Sora 2、Veo 3.1、MiniMax Hailuo 2.3 系列当前暂未开放调用。字段说明仅供接入预览,实际可用状态以模型列表为准。
| 项 | 值 |
|---|---|
| 模型 | sora-2、sora-2-pro、veo3.1-fast、veo3.1-quality、veo3.1-lite、MiniMax-Hailuo-2.3、minimax-h3 |
| 模式 | 异步(提交 → 轮询 GET /v1/tasks/{task_id}) |
| 计费 | 按模型、时长、质量档位计算,先预扣后结算,见计费 |
| 媒体保留 | video_url 最长保留至任务完成后 72 小时,见接口说明 |
模型与能力
每个系列的完整字段和示例见详情页:
| 系列 | 详情页 | 模型 |
|---|---|---|
| Sora 2 | Sora 2 | sora-2、sora-2-pro |
| Veo 3.1 | Veo 3.1 | veo3.1-fast、veo3.1-quality、veo3.1-lite |
| MiniMax Hailuo 2.3 | MiniMax Hailuo 2.3 | MiniMax-Hailuo-2.3 |
| H3 | H3 视频生成 | minimax-h3 |
OpenAI
| 模型 | 时长 | 分辨率 | 省略控制字段时 | 图片输入 |
|---|---|---|---|---|
sora-2 | 4、8、12、16、20 秒 | 仅 720p | 4 秒、720p | 可通过 image_urls 提交图片 |
sora-2-pro | 4、8、12、16、20 秒 | 720p、1024p、1080p | 4 秒、720p | 可通过 image_urls 提交图片 |
| 模型 | 时长 | 分辨率 | 省略控制字段时 | 图片输入 |
|---|---|---|---|---|
veo3.1-fast | 固定 8 秒 | 720p、1080p、4k | 8 秒、720p | 可通过 image_urls 提交图片 |
veo3.1-quality | 固定 8 秒 | 720p、1080p、4k | 8 秒、720p | 可通过 image_urls 提交图片 |
veo3.1-lite | 固定 8 秒 | 720p、1080p、4k | 8 秒、720p | 可通过 image_urls 提交图片 |
MiniMax
| 模型 | 时长 | 分辨率 | 省略控制字段时 | 图片输入 |
|---|---|---|---|---|
MiniMax-Hailuo-2.3 | 6 或 10 秒 | 768p、1080p;1080p 仅支持 6 秒 | 6 秒、768p | 可通过 first_frame_image 提交首帧图片 |
minimax-h3 | 4-15 秒 | 768P、2K | 5 秒、2K | 支持首尾帧、参考图片/视频/音频;详见专属文档 |
LoopToken 不为这些模型归一一个公共的宽高比默认值。需要固定构图时,必须显式传入 aspect_ratio。
快速开始
文生视频,用 sora-2 生成 8 秒、720p:
curl https://api.vibelab.me/v1/videos/generations \
-H "Authorization: Bearer $LOOPTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "清晨的海岸线上,薄雾缓慢散去,镜头沿着潮线平稳前进",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
}'接口受理后返回 HTTP 202 和任务对象(status 为 pending,用 task_id 轮询,见响应):
{
"task_id": "vt_019c8d85-75fd-7a31-b33f-8cf90e83a62b",
"model": "sora-2",
"status": "pending",
"created_at": 1772942400,
"duration": 8,
"resolution": "720p"
}模式选择
| 模式 | 怎么传参 | 适用模型 |
|---|---|---|
| 文生视频 | 只传 prompt 与控制字段 | 全部 |
| 图生视频 | image_urls | sora-2、sora-2-pro、veo3.1-* |
| 首帧图生视频 | first_frame_image | MiniMax-Hailuo-2.3 |
| 首尾帧、多模态参考 | 见 H3 视频生成 | minimax-h3 |
请求参数
这些模型共用顶层扁平字段。字段是否可用以及可选值以所选模型的能力范围为准。
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
model | string | 是 | - | 上表中的精确模型 ID |
prompt | string | 是 | - | 视频内容、主体动作、镜头与风格描述 |
duration | integer | 否 | 见模型与能力 | 视频时长,单位秒;Veo 3.1 固定为 8 秒 |
resolution | string | 否 | 见模型与能力 | 输出分辨率档位 |
aspect_ratio | string | 否 | - | 输出画面宽高比;平台不归一公共默认值 |
image_urls | string[] | 否 | - | Sora 与 Veo 3.1 图生视频使用的公网图片 URL 数组 |
first_frame_image | string | 否 | - | 仅 MiniMax-Hailuo-2.3:单个公网首帧图片 URL 或 Base64 data URI;内联数据计入 LoopToken 10 MiB 请求体读取上限 |
callback_url | string | 否 | - | 任务到达终态后投递结果的公网 HTTPS URL |
请求示例
图生视频
用 veo3.1-fast 让一张图片产生运动:
curl https://api.vibelab.me/v1/videos/generations \
-H "Authorization: Bearer $LOOPTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "veo3.1-fast",
"prompt": "窗帘被微风吹动,阳光在木桌上缓慢移动,固定镜头",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9",
"image_urls": [
"https://example.com/room.jpg"
]
}'MiniMax-Hailuo-2.3 图生视频使用单个 first_frame_image 字符串:
curl https://api.vibelab.me/v1/videos/generations \
-H "Authorization: Bearer $LOOPTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-Hailuo-2.3",
"prompt": "海浪轻拍礁石,镜头缓慢向前推进",
"duration": 6,
"resolution": "768p",
"first_frame_image": "https://example.com/coast.jpg"
}'响应
用 GET /v1/tasks/{task_id} 查询,状态依次为 pending → running → succeeded / failed(终态),轮询方式与任务对象字段见接口说明。成功任务的响应形状:
{
"task_id": "vt_019c8d85-75fd-7a31-b33f-8cf90e83a62b",
"model": "sora-2",
"status": "succeeded",
"created_at": 1772942400,
"duration": 8,
"resolution": "720p",
"completed_at": 1772942468,
"credits_charged": 6.4,
"video_url": "https://media.example.com/video.mp4",
"expires_at": 1773028868
}failed 状态返回公开的 error 对象(code 为 timeout 或 upstream_error)。结果字段 video_url、expires_at、credits_charged 的含义见任务对象字段。
计费
视频生成所需 credits 根据模型、时长和质量档位计算。提交任务时先冻结预计 credits,任务结束后再按实际结果结算,多退少补;成功响应中的 credits_charged 是本次实际扣费。精确价格见定价页,实际可用状态见模型列表。
- 预扣只读顶层
duration/resolution/mode/audio,未传则按模型默认值;Veo 3.1 无论传什么都按固定 8 秒预扣。 - 异步生成失败时预扣全额退回。
错误
通用错误(鉴权、余额、task_not_found、no_available_channel 等)见接口说明。本页模型特有的行为:
| HTTP | code | 触发场景 | 处理 |
|---|---|---|---|
| 404 | model_not_found | 时长、分辨率等组合没有对应的售价档位(message 为 unknown model: <model>) | 对照模型与能力调整 duration / resolution |
| 400 | invalid_request_error | 仅 minimax-h3 做字段校验,见 H3 视频生成;Sora、Veo、Hailuo 的字段范围由上游校验,不合规的请求可能在 202 之后表现为异步 failed | 按各模型页的字段表修正 |
注意事项
- 图片 URL → 必须能由服务端直接访问,不能依赖登录状态、Cookie 或局域网环境。
video_url是临时地址 → 以expires_at为准,及时下载转存。