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

POST /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
  }'
GET /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