主流视频模型
OpenAI、Google、MiniMax 与快手视频模型的统一异步生成接口
LoopToken 为 OpenAI、Google、MiniMax 与快手的视频模型提供统一的扁平请求格式。文本生成视频和图片生成视频都通过同一个异步接口提交,随后使用 LoopToken 任务 ID 查询结果。
本页覆盖的 Sora 2、Veo 3.1、MiniMax Hailuo 2.3 与 Kling v3 系列当前暂未开放调用。字段说明仅供接入预览,实际可用状态以模型列表为准。
调用流程
- 调用
POST https://api.vibelab.me/v1/videos/generations提交 JSON 请求。 - 请求受理后返回 HTTP
202。响应中的task_id是vt_开头的 LoopToken 公共任务 ID。 - 调用
GET https://api.vibelab.me/v1/tasks/{task_id}查询任务。 pending表示等待处理,running表示生成中;这两种状态需要继续轮询。succeeded和failed是终态。成功时读取video_url,失败时读取error。
如果提交了 callback_url,终态回调由 LoopToken 处理。回调地址必须是可公网访问的 HTTPS URL;即使使用回调,也建议保留任务查询作为兜底。
模型与能力
每个系列的完整字段和示例见对应详情页:
| 系列 | 详情页 | 模型 |
|---|---|---|
| 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 |
| Kling v3 | Kling v3 | kling-v3 |
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 | 支持首尾帧、参考图片/视频/音频;详见专属文档 |
快手
| 模型 | 时长 | 质量模式 | 省略控制字段时 | 图片与音频 |
|---|---|---|---|---|
kling-v3 | 3-15 秒 | mode 为 std 或 pro | 5 秒、720p、audio: false | 支持 image_urls;audio 控制是否生成音频 |
LoopToken 不为这些模型归一一个公共的宽高比默认值。需要固定构图时,请显式传入 aspect_ratio。
请求字段
这些模型共用顶层扁平字段。字段是否可用以及可选值仍以所选模型的能力范围为准。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 上表中的精确模型 ID |
prompt | string | 是 | 视频内容、主体动作、镜头与风格描述 |
duration | integer | 否 | 视频时长,单位秒;Veo 3.1 固定为 8 秒 |
resolution | string | 否 | 输出分辨率档位 |
aspect_ratio | string | 否 | 输出画面宽高比 |
image_urls | string[] | 否 | Sora、Veo 3.1 与 kling-v3 图片生成视频时使用的公网图片 URL 数组 |
callback_url | string | 否 | LoopToken 在任务到达终态后投递结果的公网 HTTPS URL |
MiniMax-Hailuo-2.3 使用单独的首帧图片字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
first_frame_image | string | 否 | 单个公网首帧图片 URL 或 Base64 data URI;内联数据计入 LoopToken 10 MiB 请求体读取上限 |
kling-v3 还支持以下顶层字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
mode | string | 否 | std 或 pro |
audio | boolean | 否 | 是否生成音频 |
kling-v3 的质量档位只由 mode 控制,不接受顶层 resolution。当前稳定兼容范围不包含 mode: "4k"。
文本生成视频
下面使用 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 和任务对象,例如:
{
"task_id": "vt_019c8d85-75fd-7a31-b33f-8cf90e83a62b",
"model": "sora-2",
"status": "pending",
"created_at": 1772942400,
"duration": 8,
"resolution": "720p"
}图片生成视频
下面使用 kling-v3 让一张图片产生运动:
curl https://api.vibelab.me/v1/videos/generations \
-H "Authorization: Bearer $LOOPTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v3",
"prompt": "窗帘被微风吹动,阳光在木桌上缓慢移动,固定镜头",
"duration": 5,
"mode": "pro",
"aspect_ratio": "16:9",
"image_urls": [
"https://example.com/room.jpg"
]
}'图片 URL 必须能由服务端直接访问,不应依赖登录状态、Cookie 或局域网环境。
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"
}'查询任务
使用提交响应中的公共任务 ID 轮询:
curl https://api.vibelab.me/v1/tasks/vt_019c8d85-75fd-7a31-b33f-8cf90e83a62b \
-H "Authorization: Bearer $LOOPTOKEN_API_KEY"建议每 5-10 秒查询一次。成功任务的响应形状如下:
{
"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
}video_url 是临时地址,请以 expires_at 为准并及时下载转存。failed 状态会返回公开的 error 对象。
计费
视频生成所需 credits 根据模型、时长和质量档位计算。提交任务时先冻结预计 credits,任务结束后再按实际结果结算,多退少补;成功响应中的 credits_charged 是本次实际扣费。
精确价格请查看定价页。公共文档不展示内部计价 JSON,也不展示服务采购成本。