UlazAI developer docs
Developer documentation
Kling 2.6 Motion Control API
Transfer motion from a driving video while keeping your character consistent.
💰 Flat rate: 6 credits/s (720p) or 9 credits/s (1080p). Duration × rate.
✨ Capabilities
✅ Motion transfer from reference video
✅ Character consistency from an image
✅ 720p / 1080p output
✅ Async workflow: create task → poll status
✅ API key authentication
✅ Predictable billing per second
/kling26/motion-control/api/generate/
Create Motion Control Task
Starts a new Motion Control generation. Returns a task_id you can poll.
Request Headers
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Request Body
{
"prompt": "The character dances with energetic arm swings.",
"inputUrls": ["https://example.com/character.png"],
"videoUrls": ["https://example.com/driving.mp4"],
"characterOrientation": "video",
"mode": "720p",
"durationSeconds": 10
}
Parameters
prompt * (string)
Text description of the desired output. Max 2500 characters.
inputUrls * (array)
Array with exactly 1 image URL (JPEG/PNG/WebP, ≤10MB recommended).
videoUrls * (array)
Array with exactly 1 driving video URL (MP4/MOV/MKV, 3–30s, ≤100MB recommended).
characterOrientation (string)
Either video (up to 30s) or image (up to 10s). Default: video.
mode (string)
Output resolution: 720p or 1080p. Default: 720p.
durationSeconds (integer)
Used for credit estimation and billing (3–30). If characterOrientation=image, max 10.
Success Response (200)
{
"success": true,
"task_id": "uuid-here",
"provider_task_id": "provider-task-id",
"status": "processing",
"credits_charged": 60
}
cURL Example
curl -X POST https://ulazai.com/kling26/motion-control/api/generate/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "The character dances with energetic arm swings.",
"inputUrls": ["https://example.com/character.png"],
"videoUrls": ["https://example.com/driving.mp4"],
"characterOrientation": "video",
"mode": "720p",
"durationSeconds": 10
}'
/kling26/motion-control/api/status/{task_id}/
Check Task Status
Poll until status becomes completed or failed.
Completed Response
{
"success": true,
"id": "uuid-here",
"status": "completed",
"video_url": "https://cdn.../result.mp4",
"mode": "720p",
"duration_seconds": 10
}
cURL Example
curl -X GET https://ulazai.com/kling26/motion-control/api/status/UUID/ \
-H "Authorization: Bearer YOUR_API_KEY"
💰 Pricing
720p
6 credits / second
• 10s = 60 credits
• 30s = 180 credits
1080p
9 credits / second
• 10s = 90 credits
• 30s = 270 credits