# Kling | v2.6 | Standard | Motion Control Transfers motion from a reference video to a character image using a cost-effective mode, ideal for portraits and simple animation scenarios. ## API Information - **Model Slug:** kling-v2-6-standard-motion-control - **Branded URL:** https://www.eachlabs.ai/kling/kling-v2-6/kling-v2-6-standard-motion-control - **Provider:** Kling - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Base Cost:** 0.07 per second of generated video. - **Estimated Processing Time:** 270 seconds - **Last Updated:** 2026-07-13 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/kling-v2-6-standard-motion-control ## Pricing - **Charge Type:** dynamic - **Pricing Details:** 0.07 per second of generated video. ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | 0.07 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 "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "kling-v2-6-standard-motion-control", "input": { "video_url": "https://storage.googleapis.com/magicpoint/inputs/kling-v2-6-standard-motion-control-input-video.mp4", "character_orientation": "video", "image_url": "https://storage.googleapis.com/magicpoint/inputs/kling-v2-6-standard-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 "Authorization: Bearer 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 `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **kling-v2.6-standard-motion-control — Image-to-Video AI Model** Developed by Kling as part of the **kling-v2.6** family, **kling-v2.6-standard-motion-control** transfers precise motion from a reference video to a static character image, enabling cost-effective creation of seamless animations up to 30 seconds long without cuts or identity shifts. This **image-to-video AI model** excels in portraits and simple scenarios by fusing biomechanics like gravity and momentum, solving the common issue of floaty or jittery AI videos. Perfect for creators seeking **Kling image-to-video** tools that deliver physics-aware performances, it supports inputs like MP4 reference videos (3-30s, max 10MB) and JPEG/PNG character images. With its standard mode optimized for efficiency, **kling-v2.6-standard-motion-control** generates professional clips ideal for social media or production pipelines, standing out in the competitive landscape of motion transfer models. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer 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.