# Kling | v2.6 | Pro | Motion Control Transfers motion from a reference video to any character image, with Pro mode delivering higher-quality results for complex dance movements and expressive gestures. ## API Information - **Model Slug:** kling-v2-6-pro-motion-control - **Branded URL:** https://www.eachlabs.ai/kling/kling-v2-6/kling-v2-6-pro-motion-control - **Provider:** Kling - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Base Cost:** 0.112 per second of generated video. - **Estimated Processing Time:** 390 seconds - **Last Updated:** 2026-07-13 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/kling-v2-6-pro-motion-control ## Pricing - **Charge Type:** dynamic - **Pricing Details:** 0.112 per second of generated video. ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | 0.112 per second of generated video. | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | No | - | - | - | | image_url | string | Yes | - | - | Reference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area. | | video_url | string | Yes | - | - | Reference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'. | | keep_original_sound | boolean | No | true | - | Whether to keep the original sound from the reference video. | | character_orientation | string | Yes | - | image,video | Controls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s). | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "kling-v2-6-pro-motion-control", "input": { "video_url": "https://storage.googleapis.com/magicpoint/inputs/kling-v2-6-pro-motion-control-input-video.mp4", "character_orientation": "video", "image_url": "https://storage.googleapis.com/magicpoint/inputs/kling-v2-6-pro-motion-control-input-image.png" } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated video)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "X-API-Key: YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `X-API-Key` | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **kling-v2.6-pro-motion-control — Image-to-Video AI Model** kling-v2.6-pro-motion-control is an advanced image-to-video model that transfers motion from reference videos onto static character images with physics-aware precision. Instead of generating random clips, this model lets you direct performances by combining a character image with a motion reference video, producing seamless, continuous video output that maintains identity consistency while executing complex movements. The Pro variant delivers enhanced quality for intricate choreography, expressive gestures, and professional-grade motion fidelity—solving the core challenge of creating cinematic AI video content without manual animation or costly production setups. Developed by Kling as part of the kling-v2.6 family, kling-v2.6-pro-motion-control excels at motion transfer where traditional video AI models struggle: it understands biomechanics, preserves character identity across 30-second continuous takes, and interprets camera movement from reference footage. This makes it ideal for creators, filmmakers, and brands who need reliable, controllable video generation rather than unpredictable generative output. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `X-API-Key: YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.