Create Video Generation Task
Submit a video generation task, supporting text-to-video and image-to-video.
Returns the task ID. The task status can be queried via the GET API.
Authorization
BearerAuth
使用 Bearer Token 认证。
格式: Authorization: Bearer sk-xxxxxx
In: header
Request Body
application/json
模型 ID。
文本描述提示词。t2v 模式必填;i2v / 参考图模式建议填写以精确描述运动效果。
图片 / 视频 URL 数组,用于图生视频和多素材输入场景。
Kling / Vidu / Hailuo / Google Veo / Sora / PixVerse / Hunyuan / Mingmou 输入模式由数组长度和 metadata 中的控制字段共同决定:
| 场景 | images 长度 | 其他条件 | 说明 |
|---|---|---|---|
| 文生视频(t2v) | 0(不传) | — | Prompt 必填 |
| 图生视频首帧(i2v) | 1 | 默认 | 第一张为首帧图片 |
| 首尾帧模式 | 1 | metadata.last_frame 非空 | 首帧 + 尾帧;不能单独传尾帧 |
| 参考图模式 | 1 | metadata.input_usage="Reference" | 单张参考图 |
| 多图(首帧 + 参考) | ≥ 2 | — | images[0] 为首帧,images[1:] 为参考图 |
| 视频参考 / 编辑 | — | metadata.video_url 非空 | 追加视频输入;仅 Kling / Vidu 支持 |
| PixVerse 多主体 | — | metadata.pixverse_subjects 非空 | 通过 JSON 数组精确指定每张图的角色 |
per-model 支持情况:
| 模型 | i2v 首帧 | 尾帧 (last_frame) | 参考图 | 视频输入 |
|---|---|---|---|---|
| Kling | ✅ | ✅ 仅 2.1 + size=1080P | ✅ | ✅ |
| Vidu | ✅ | ✅ 仅 q2-pro、q2-turbo | ✅ | ✅ 仅 q2-pro |
| Google Veo | ✅ | ✅ 需同时传首帧 | ✅ | ❌ |
| Hailuo | ✅ | ❌ | ❌ | ❌ |
| Sora | ✅ | ❌ | ❌ | ❌ |
| PixVerse | ✅ | ❌ | ✅(多主体参考) | ❌ |
| Hunyuan | ✅ | ❌ | ✅ | ❌ |
| Mingmou | 文档未明确 | ❌ | 文档未明确 | ❌ |
Kling i2v 注意:使用首帧图片生成时,视频宽高比由首帧图片自动决定,AspectRatio 无效(传了也会被忽略)。
HappyHorse 系列:
happyhorse-1.0-i2v:images[0]为首帧图片happyhorse-1.0-r2v:传 1 个或多个参考图片 URLhappyhorse-1.0-video-edit:images[0]为待编辑视频 URL,images[1:]为参考图(可选)
豆包 Seedance 系列:图片 / 视频通过 metadata.content 多模态数组传入,不使用 images 字段。
视频时长(秒)。各模型对时长的支持方式不同:
| 模型 | 合法值 | 默认值 | 实现行为 |
|---|---|---|---|
| Kling 系列 | 连续范围 [3, 15] | 5 | clamp 到 [3, 15];不传则使用 API 默认 |
| Hailuo 系列 | 离散值:6 或 10 | 6 | 取最近值:≤ 8 → 6;> 8 → 10 |
| Vidu 系列 | 连续范围 [1, 10] | — | clamp 到 [1, 10] |
| Google Veo 系列 | 固定 8 | 8 | 忽略用户输入,始终发送 8 |
| Sora 系列 | 离散值:4、8、12 | 8 | 取最近合法值 |
| PixVerse 系列 | 连续范围 [1, 15] | 5 | clamp 到 [1, 15];不传则使用 API 默认 |
| Hunyuan | 不支持 | — | 忽略此字段 |
| Mingmou | 不支持 | — | 忽略此字段 |
| Seedance 2.0 系列 | 整数范围 [4, 15] | 5 | 直接透传至上游,超出合法范围将报错 |
| Seedance 1.5 Pro | 整数范围 [4, 12] | 5 | 直接透传至上游,超出合法范围将报错 |
| Seedance 1.0 系列 | 整数范围 [2, 12] | 5 | 直接透传至上游,超出合法范围将报错 |
| HappyHorse 系列 | 5 或 10 | — | — |
输出分辨率 / 宽高比。优先级高于 metadata.resolution。
支持两种格式:
宽x高(如"1920x1080"):按短边自动归档到最近分辨率档位- 分辨率档位(如
"720P"、"720p"、"1080P"):直接匹配模型合法值
分辨率档位 per-model 对照表:
| 模型 | 合法值 | 默认值 | 注意事项 |
|---|---|---|---|
| Kling 系列 | 720P、1080P | 720P | 大写 P;kling-video-2.1 仅 1080P 时支持尾帧 |
| Hailuo 系列 | 768P、1080P | 768P | 大写 P |
| Vidu 系列 | 720P、1080P | 720P | 大写 P |
| Google Veo 系列 | 720P、1080P | 720P | 大写 P |
| Sora 系列 | 720P(唯一值) | 720P | 大写 P;传其他值报错 |
| PixVerse 系列 | 540p、720p、1080p、2k、4k | 720p | 全小写,与其他模型不同 |
| Seedance 2.0 | 480p、720p、1080p、4k | 720p | 全小写;转换后设置 metadata.resolution |
| Seedance 2.0 Fast / Mini | 480p、720p | 720p | 全小写;不支持 1080p 及以上 |
| Seedance 1.5 Pro | 480p、720p、1080p | 720p | 全小写 |
| Seedance 1.0 系列 | 480p、720p、1080p | 1080p | 全小写 |
| Hunyuan | 不支持 | — | 忽略此字段 |
| Mingmou | 不支持 | — | 忽略此字段 |
宽高比 per-model 对照表:
宽高比通过 size 字段同时传入(如 "16:9"),也可传 宽x高 由系统自动推导。
| 宽高比 | Kling | Vidu q2 | Vidu 其他 | Google Veo | Sora | PixVerse |
|---|---|---|---|---|---|---|
| 16:9 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 9:16 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 1:1 | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
| 4:3 | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ |
| 3:4 | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ |
| 2:3 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| 3:2 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| 21:9 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Hailuo | 不支持(传了会报错) | |||||
| Hunyuan / Mingmou | 不支持 | |||||
| Seedance 系列 | 支持 16:9、4:3、1:1、3:4、9:16、21:9;传入 宽x高 格式时自动匹配最近枚举值 |
不支持的宽高比会自动取最近邻值。传入
"WxH"格式时同时推导宽高比和分辨率档位。
Seedance 系列 支持通过外层 size 字段传入:传入 宽x高 格式(如 "1920x1080")时自动推导分辨率档位和宽高比;传入分辨率档位格式(如 "720p")时仅推导分辨率,宽高比保持 metadata.ratio 设置(未设置则自适应)。分辨率全小写,支持档位因模型而异,详见 metadata.resolution 说明。
随机种子,控制生成结果可复现性。全部模型支持。
生成视频数量。固定为 1,全部模型均不支持批量生成(视频生成为异步任务,每次提交产生一个任务)。
响应格式,默认 url。
用户标识,用于日志追踪。
扩展参数,按需传入。不同渠道 / 模型支持的字段不同,不支持的字段将被忽略。
Kling / Vidu / Hailuo / Google Veo / Sora / PixVerse / Hunyuan / Mingmou 系列字段
| 字段 | 类型 | 支持模型 | 说明 |
|---|---|---|---|
negative_prompt | string | Kling / Vidu / Hailuo / Google Veo / Sora / Hunyuan / Mingmou / PixVerse | 反向提示词,描述不希望出现的内容 |
enhance_prompt | string | Kling / Vidu / Hailuo / Google Veo / Sora / Hunyuan / Mingmou / PixVerse | 自动优化提示词,取值 "Enabled" / "Disabled" |
scene_type | string | Kling / Vidu(其他模型忽略) | 场景类型:"motion_control"(Kling 动作控制)、"avatar_i2v"(Kling 数字人)、"lip_sync"(Kling 对口型)、"template_effect"(Vidu 特效模板) |
ext_info | string | Kling(其他模型忽略) | 透传 ExtInfo 原始字符串(Kling motion_control 等特殊场景参数,JSON 格式) |
audio_generation | string | Kling / Vidu / Google Veo / Sora | 是否生成 AI 音频,取值 "Enabled" / "Disabled" |
enhance_switch | string | Kling / Vidu / Hailuo / Google Veo / Sora / Hunyuan / Mingmou / PixVerse | 视频超分增强,取值 "Enabled" / "Disabled" |
frame_interpolate | string | Vidu | 智能插帧,取值 "Enabled" / "Disabled" |
last_frame | string | kling-video-2.1(须 1080P)、vidu-video-q2-pro / q2-turbo、veo-video-3.1 | 尾帧图片 URL;必须同时在 images[0] 传首帧,不支持单独传尾帧 |
resolution | string | Kling / Vidu / Hailuo / Google Veo / Sora / PixVerse(低优先级) | 分辨率档位,被外层 size 字段覆盖;格式要求同 size |
input_region | string | Kling / Vidu / Hailuo / Google Veo / Sora / Hunyuan / Mingmou / PixVerse | 输入资源所在地区,"Mainland" / "Oversea" |
input_usage | string | Kling / Vidu / Hailuo / Google Veo / Sora / Hunyuan / Mingmou / PixVerse | 设为 "Reference" 可将单张图片切换为参考图模式(默认为首帧) |
reference_type | string | Kling / Google Veo / PixVerse | 参考图类型:Kling:"feature"(特征参考)/ "base"(待编辑视频);Google Veo:"asset"(素材参考)/ "style"(风格参考);PixVerse:"subject"(主体)/ "background"(背景) |
video_url | string | Kling / Vidu | 视频参考 / 编辑输入 URL,作为视频类型输入追加到 FileInfos |
pixverse_subjects | string | PixVerse c1 | 多主体参考,JSON 字符串,格式见下方说明 |
pixverse_subjects 格式示例:
[
{"url": "https://example.com/cat.jpg", "type": "subject", "name": "小猫"},
{"url": "https://example.com/bg.jpg", "type": "background", "name": "背景"}
]在 Prompt 中用 @名字 引用对应主体(如 "让 @小猫 奔跑")。
Seedance 系列专用字段
| 字段 | 类型 | 支持模型 | 说明 |
|---|---|---|---|
resolution | string | 全部 | 分辨率档位,推荐使用外层 size 字段代替。全小写。可选值因模型而异:2.0 支持 480p / 720p / 1080p / 4k,默认 720p;2.0 Fast / Mini 仅支持 480p / 720p,默认 720p;1.5 Pro 支持 480p / 720p / 1080p,默认 720p;1.0 系列支持 480p / 720p / 1080p,默认 1080p |
ratio | string | 全部 | 宽高比。可选值:16:9、4:3、1:1、3:4、9:16、21:9、adaptive(自适应,模型自主选择最优宽高比)。2.0 系列和 1.5 Pro 默认 adaptive;1.0 系列文生视频默认 16:9,图生视频默认 adaptive |
generate_audio | boolean | 2.0 系列、1.5 Pro | 是否生成有声视频。true 为有声(自动生成与画面同步的人声、音效及背景音乐),false 为无声。默认 true。注意有声/无声视频计费比率不同 |
return_last_frame | boolean | 全部 | 是否同时返回生成视频的最后一帧图片(png 格式,分辨率与生成视频一致,无水印)。默认 false |
camera_fixed | boolean | 1.5 Pro、1.0 系列 | 是否固定摄像头。true 时平台会在提示词中追加固定摄像头指令(实际效果不保证)。2.0 系列不支持此字段 |
watermark | boolean | 全部 | 是否添加水印。true 时生成视频右下角显示 AI 生成 水印。默认 false |
draft | boolean | 仅 1.5 Pro | 草稿(样片)模式,生成速度更快、消耗 token 更少,但质量较低;可基于样片任务 ID 再次提交生成正式视频。开启时强制使用 480p 分辨率,不支持返回尾帧。2.0 系列不支持 |
service_tier | string | 全部 | 服务等级:default(在线推理,低延迟)或 flex(离线推理,TPD 更高,价格为在线的 50%)。2.0 系列不支持 flex。默认 default |
content | array | 全部 | 多模态输入内容,用于传入图片 / 视频 / 音频参考素材,格式见下方说明 |
content 格式说明:
每个元素为一个对象,字段如下:
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 内容类型:"image_url"、"video_url"、"audio_url"、"text" |
role | string | 素材角色:"reference_image"、"reference_video"、"reference_audio" 等 |
image_url | object | type 为 "image_url" 时有效,包含 {"url": "..."} |
video_url | object | type 为 "video_url" 时有效,包含 {"url": "..."} |
audio_url | object | type 为 "audio_url" 时有效,包含 {"url": "..."} |
示例(图片参考):
[
{
"type": "image_url",
"role": "reference_image",
"image_url": {"url": "https://example.com/portrait.jpg"}
}
]HappyHorse 专用字段
| 字段 | 类型 | 支持子模型 | 说明 |
|---|---|---|---|
ratio | string | t2v / r2v | 宽高比,如 "16:9"、"9:16"、"1:1"。i2v 跟随首帧,video-edit 跟随输入视频 |
audio_setting | string | video-edit | 音频处理方式,"mute" 表示静音输出 |
Response Body
application/json
application/json
curl -X POST "https://loading/v1/video/generations" \ -H "Content-Type: application/json" \ -d '{ "model": "kling-video-2.1", "prompt": "小猫慢慢睁开眼睛,轻轻伸了个懒腰", "images": [ "https://example.com/cat.jpg" ], "size": "1080P", "duration": 5, "seed": 20240101, "metadata": { "audio_generation": "Enabled" } }'{
"task_id": "task_aehCmxJ5YUNOIQGgkhvxaco4T9P2h3Dw",
"status": "queued"
}{
"error": {
"message": "string",
"type": "string",
"param": "string",
"code": "string"
}
}Last updated on