本文详细介绍 Kling/O1 全视频生成模型的核心 API(异步提交任务、查询任务状态),包含接口地址、输入输出参数、请求示例、响应示例及相关注意事项,为接口调用提供清晰、规范的指引。
1. 认证方式
所有接口均采用 API Key 认证,需在请求头中携带 Authorization 字段,格式如下:
Authorization: \<YOUR\_API\_KEY\>
说明:将 \<YOUR\_API\_KEY\> 替换为您实际的 API Key,即可完成身份认证,获取接口调用权限。
2. 异步提交任务接口
该接口用于提交 Kling/O1 全视频生成模型的视频生成异步任务,需传入模型名称、提示词及相关配置参数(可选传入图片、视频、主体参考等),提交成功后返回任务唯一标识,用于后续查询任务状态及生成结果。
2.1 接口地址
https://api.modelverse.cn/v1/tasks/submit
2.2 输入参数
| 参数 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| model | string | 是 | 模型名称,固定填写:kling-video-o1 |
| input.prompt | string | 是 | 提示词,用于指导视频生成 |
| parameters.mode | string | 否 | 生成模式,可选值:std、pro,默认为 pro;目前仅支持 pro 模式 |
| parameters.aspect_ratio | string | 否 | 视频长宽比,可选值:16:9、9:16、1:1 |
| parameters.duration | int | 否 | 视频时长(秒),可选值:3、4、5、6、7、8、9、10,默认为 5;补充说明:- 使用文生视频、首帧图生视频时,仅支持 5 和 10 秒;- 使用视频编辑功能("refer_type":"base")时,输出结果与传入视频时长相同,此时该参数无效;按输入视频时长四舍五入取整计量计费 |
| parameters.image_list | array | 否 | 图片列表,用于指定视频的首帧或尾帧。每个图片项包含:- image_url:图片 URL 或 Base64 编码;- type:图片类型,可选值:first_frame(首帧)、end_frame(尾帧) |
| parameters.video_list | array | 否 | 视频列表,用于视频参考或编辑。每个视频项包含:- video_url:视频 URL;- refer_type:参考类型,可选值:feature(特征参考)、base(待编辑);- keep_original_sound:是否保留原音,可选值:yes、no |
| parameters.element_list | array | 否 | 主体参考列表,基于主体库中主体的ID配置,用key:value承载,格式如下:\&\#34;element\_list\&\#34;:\[\{\&\#34;element\_id\&\#34;:long\}\];参考主体数量限制:- 有参考视频时,参考图片数量和参考主体数量之和不得超过4;- 无参考视频时,参考图片数量和参考主体数量之和不得超过7 |
注意:O1 模型不支持自定义主体相关功能(element_list 参数),如需支持请联系技术支持。
2.3 请求示例(curl)
如果您使用 Windows 系统,建议使用 Postman 或其他 API 调用工具,避免命令行调用出现兼容问题。
curl --location --globoff 'https://api.modelverse.cn/v1/tasks/submit' \
--header 'Authorization: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-video-o1",
"input": {
"prompt": "A beautiful sunset over the ocean with waves gently crashing"
},
"parameters": {
"mode": "pro",
"aspect_ratio": "16:9",
"duration": 5,
"image_list": [
{
"image_url": "https://example.com/first_frame.jpg",
"type": "first_frame"
}
]
}
}'
2.4 输出参数
| 参数 | 类型 | 描述 |
|---|---|---|
| output.task_id | string | 异步任务的唯一标识,用于后续查询任务状态及获取生成结果。 |
| request_id | string | 本次请求的唯一标识,用于问题排查时定位具体请求记录。 |
2.5 响应示例
{
"output": {
"task_id": "task_id"
},
"request_id": "request_id"
}
3. 查询任务状态接口
该接口用于查询已提交的视频生成异步任务的执行状态、生成结果、任务耗时等信息,需传入异步提交任务时返回的 task_id 作为查询标识。
3.1 接口地址
https://api.modelverse.cn/v1/tasks/status?task_id=<task_id>
说明:将 \<task\_id\> 替换为异步提交任务接口返回的实际 task_id,即可发起查询。
3.2 输入参数
| 参数 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| task_id | string | 是 | 异步任务的唯一标识,由异步提交任务接口返回,用于定位查询具体任务。 |
3.3 请求示例(curl)
curl --location 'https://api.modelverse.cn/v1/tasks/status?task_id=<task_id>' \
--header 'Authorization: <YOUR_API_KEY>'
3.4 输出参数
| 参数 | 类型 | 描述 |
|---|---|---|
| output.task_id | string | 异步任务的唯一标识,与查询时传入的 task_id 一致。 |
| output.task_status | string | 任务状态,可选值:Pending(待处理)、Running(执行中)、Success(成功)、Failure(失败)。 |
| output.urls | array | 视频结果的 URL 列表,仅当 task_status 为 Success 时返回,可通过该 URL 下载生成的视频。 |
| output.submit_time | integer | 任务提交时间戳(单位:秒)。 |
| output.finish_time | integer | 任务完成时间戳(单位:秒),仅当 task_status 为 Success 或 Failure 时返回。 |
| output.error_message | string | 任务失败时返回的错误信息,仅当 task_status 为 Failure 时返回,用于排查失败原因。 |
| usage.duration | integer | 视频时长(秒)。 |
| request_id | string | 本次查询请求的唯一标识,用于问题排查。 |
3.5 响应示例
3.5.1 成功响应示例
{
"output": {
"task_id": "task_id",
"task_status": "Success",
"urls": ["https://xxxxx/xxxx.mp4"],
"submit_time": 1756959000,
"finish_time": 1756959050
},
"usage": {
"duration": 5
},
"request_id": ""
}
3.5.2 失败响应示例
{
"output": {
"task_id": "task_id",
"task_status": "Failure",
"submit_time": 1756959000,
"finish_time": 1756959019,
"error_message": "error_message"
},
"usage": {
"duration": 5
},
"request_id": ""
}