curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling_3_0_motion_control",
"params": {
"prompt": "让角色跟随参考视频自然跳舞,保持主体身份一致",
"image_url": "https://example.com/subject.png",
"video_url": "https://example.com/motion.mp4",
"resolution": "720p",
"character_orientation": "video",
"background_source": "input_video"
},
"out_task_id": "my_task_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "kling_3_0_motion_control",
"params": {
"prompt": "让角色跟随参考视频自然跳舞,保持主体身份一致",
"image_url": "https://example.com/subject.png",
"video_url": "https://example.com/motion.mp4",
"resolution": "720p",
"character_orientation": "video",
"background_source": "input_video"
},
"out_task_id": "my_task_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "kling_3_0_motion_control",
params: {
prompt: "让角色跟随参考视频自然跳舞,保持主体身份一致",
image_url: "https://example.com/subject.png",
video_url: "https://example.com/motion.mp4",
resolution: "720p",
character_orientation: "video",
background_source: "input_video"
},
out_task_id: "my_task_123456"
};
fetch(url, {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data));
{
"out_task_id": "<string>",
"status": "<string>",
"estimated_credits": 123,
"created_at": "<string>"
}Kling 3.0 Motion Control
Kling 3.0 Motion Control 视频生成
- 异步处理模式,返回任务ID用于后续查询
- 使用一张主体参考图和一个动作参考视频生成可控视频
- 支持 720p / 1080p,可设置人物朝向来源和背景来源,按参考视频真实时长计费
POST
/
api
/
openapi
/
submit
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling_3_0_motion_control",
"params": {
"prompt": "让角色跟随参考视频自然跳舞,保持主体身份一致",
"image_url": "https://example.com/subject.png",
"video_url": "https://example.com/motion.mp4",
"resolution": "720p",
"character_orientation": "video",
"background_source": "input_video"
},
"out_task_id": "my_task_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "kling_3_0_motion_control",
"params": {
"prompt": "让角色跟随参考视频自然跳舞,保持主体身份一致",
"image_url": "https://example.com/subject.png",
"video_url": "https://example.com/motion.mp4",
"resolution": "720p",
"character_orientation": "video",
"background_source": "input_video"
},
"out_task_id": "my_task_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "kling_3_0_motion_control",
params: {
prompt: "让角色跟随参考视频自然跳舞,保持主体身份一致",
image_url: "https://example.com/subject.png",
video_url: "https://example.com/motion.mp4",
resolution: "720p",
character_orientation: "video",
background_source: "input_video"
},
out_task_id: "my_task_123456"
};
fetch(url, {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data));
{
"out_task_id": "<string>",
"status": "<string>",
"estimated_credits": 123,
"created_at": "<string>"
}Authorizations
所有接口均需要使用 Bearer Token 进行认证获取 API Key:访问 API Key 管理页面 获取您的 API Key使用时在请求头中添加:
Authorization: Bearer YOUR_API_KEY
Body
模型名称:
"kling_3_0_motion_control"- 默认
模型参数对象
显示 params 对象属性
显示 params 对象属性
期望输出效果的文本描述
- 可选
- 最大长度:2500 字符
- 示例:
No distortion, the character's movements are consistent with the video.
主体参考图像 URL
- 必填
- 仅支持单张图片
- 支持格式:JPG、JPEG、PNG
- 最大文件大小:10MB
- 图片尺寸需大于 300px
- 宽高比需在 2:5 到 5:2 之间
- 生成视频中的角色、背景和其他元素会基于这张参考图
动作参考视频 URL
- 必填
- 仅支持单个视频
- 支持格式:MP4、MOV / QuickTime
- 最大文件大小:100MB
- 视频尺寸需大于 300px
- 宽高比需在 2:5 到 5:2 之间
- 时长:
character_orientation=image时最长 10 秒,character_orientation=video时最长 30 秒 - 预估积分和实际扣费会按该视频的真实时长计算,无需传入
video_length - 生成视频中的角色动作会与该参考视频保持一致
输出分辨率模式
720p- 标准模式(默认)1080p- 高清模式
人物朝向参考来源
video- 与参考视频中的人物朝向保持一致,视频最长 30 秒(默认)image- 与参考图片中的人物朝向保持一致,视频最长 10 秒
背景参考来源
input_video- 使用动作视频背景(默认)input_image- 使用主体图片背景
发起方任务ID用户自定义的任务标识,必填
Response
发起方任务ID,可用于查询结果
初始状态,固定为
"pending"预估消耗积分
创建时间(ISO 格式)
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling_3_0_motion_control",
"params": {
"prompt": "让角色跟随参考视频自然跳舞,保持主体身份一致",
"image_url": "https://example.com/subject.png",
"video_url": "https://example.com/motion.mp4",
"resolution": "720p",
"character_orientation": "video",
"background_source": "input_video"
},
"out_task_id": "my_task_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "kling_3_0_motion_control",
"params": {
"prompt": "让角色跟随参考视频自然跳舞,保持主体身份一致",
"image_url": "https://example.com/subject.png",
"video_url": "https://example.com/motion.mp4",
"resolution": "720p",
"character_orientation": "video",
"background_source": "input_video"
},
"out_task_id": "my_task_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "kling_3_0_motion_control",
params: {
prompt: "让角色跟随参考视频自然跳舞,保持主体身份一致",
image_url: "https://example.com/subject.png",
video_url: "https://example.com/motion.mp4",
resolution: "720p",
character_orientation: "video",
background_source: "input_video"
},
out_task_id: "my_task_123456"
};
fetch(url, {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data));
⌘I