Kling Motion Control API docs
Developer documentation
Kling motion control reference
Kling Motion Control API docs for image plus motion video workflows
If you searched for Kling 2.6 Motion Control API docs, this is the UlazAI route you want.
The current integration uses model_slug="kling_3_0_motion_control" on
, or the compatibility path
with video_model="kling_3_0_motion_control".
You send exactly one image URL, one motion video URL, a prompt, and a 720p or 1080p quality mode.
Core endpoints
Current support
1 image URL + 1 motion video URL
720p or 1080p output
3 to 30 seconds depending on orientation
kling-2-6-motion-control-api-docs, but the
current model slug for live integrations is kling_3_0_motion_control.
Authentication
Send a bearer token or API key on every request.
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Canonical request
This request goes to .
It is the preferred API contract for new integrations.
{
"model_slug": "kling_3_0_motion_control",
"prompt": "No distortion, the character's movements are consistent with the video.",
"input_image_urls": ["https://example.com/character.png"],
"input_video_urls": ["https://example.com/motion.mp4"],
"character_orientation": "video",
"quality_mode": "720p",
"duration_seconds": 15
}
Field reference
| Field | Required | Notes |
|---|---|---|
model_slug |
Yes | Must be kling_3_0_motion_control |
prompt |
Yes | Maximum 2500 characters |
input_image_urls |
Yes | Exactly one public image URL |
input_video_urls |
Yes | Exactly one public motion video URL |
character_orientation |
No | Use video for up to 30 seconds or image for up to 10 seconds |
quality_mode |
Yes | Use 720p or 1080p |
duration_seconds |
Yes | Integer from 3 to 30. Pricing uses this duration. If orientation is image, max 10. |
Legacy compatibility request
This request goes to .
Use it if you already integrate with the older authenticated video API.
{
"video_model": "kling_3_0_motion_control",
"prompt": "No distortion, the character's movements are consistent with the video.",
"source_image_urls": ["https://example.com/character.png"],
"video_urls": ["https://example.com/motion.mp4"],
"character_orientation": "video",
"quality_mode": "720p",
"duration_seconds": 15
}
Response examples
Canonical generate response
{
"success": true,
"job_ids": ["8990f846-f6f0-4ff1-a298-d0a72d49e7ad"],
"credits_remaining_total": 438
}
Legacy generate response
{
"success": true,
"data": {
"generation_id": "7f8cfd64-5b91-4a31-a987-e0ea8fd9d0a1",
"generation_type": "video",
"video_model": "kling30_motion",
"mode": "image-to-video",
"status": "processing",
"credits_used": 180
}
}
Status polling
GET
GET
Pricing
Motion Control pricing is duration-based.