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

Route note: the public URL still says kling-2-6-motion-control-api-docs, but the current model slug for live integrations is kling_3_0_motion_control.
Use the compatibility endpoint only if you already ship against the legacy authenticated video API.

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.

720p
6 credits / second
1080p
9 credits / second

Next steps