Kling 3.0 Motion Control API
Animate a character image from a reference video with orientation control, optional original audio, and async API delivery for production workflows.
- Starts at $0.1134/s
- 720p / 1080p
- Inputs: image + video
- Up to 10s / 30s

Reference video motion, image character guidance, and async delivery in one production-ready route.
No sample available
Motion source video (MP4/MOV, 340-3850px per side, 3-30s, max 100MB)
Click to upload or drag and drop
Supported formats: MP4, MOV
Maximum file size: 100MB; Maximum files: 1
Character image to animate (JPG/PNG, max 10MB)
Click to upload or drag and drop
Supported formats: JPG, JPEG, PNG
Maximum file size: 10MB; Maximum files: 1
Click Generate to see preview
History
Max 20 items0 running · 0 completed
Billing Rules
- •Price shown is per second
- •Billed by output video duration, rounded to nearest integer
- •Duration depends on reference video (max 10s for image orientation, 30s for video orientation)
- •Total = price/second × actual duration
Pricing
| Model | Mode | Quality | Price |
|---|---|---|---|
| Kling 3.0 Motion Control | Motion Control | 720p | Popular $0.1134/ second(8.1648 Credits) |
| Kling 3.0 Motion Control | Motion Control | 1080p | $0.1512/ second(10.88368 Credits) |
If it's down, we automatically use the next cheapest available—ensuring 99.9% uptime at the best possible price.
What can you build with the Motion Control API?
Avatar and character animation from reference video
Animate a still character image from a reference performance video without manual rigging or frame-by-frame editing. This workflow is useful for creator tools, virtual avatars, short-form content, and character-driven video production where natural human motion matters.

Dance, gesture, and performance transfer for social content
Transfer dance moves, gestures, and body performance from one clip to a different character for social media production, marketing assets, and creator workflows. Teams can turn a single motion source into multiple character-led outputs for faster iteration across campaigns.

Reference-driven motion workflows with orientation control
Control whether the generated character follows the direction of the source image or the reference video, then choose 720p or 1080p output based on budget and production needs. This gives developers a more structured motion-control pipeline than generic image-to-video generation.

Why teams choose Motion Control
Kling 3.0 Motion Control gives teams a more controllable way to turn real performance footage into character animation, with predictable per-second pricing and a production-ready API workflow.
More controllable than generic video generation
Instead of asking a model to invent motion from scratch, Motion Control uses a reference performance video as the motion source. That makes output behavior easier to steer for character-driven workflows.
Faster production without manual rigging
Teams can turn a still image plus a motion clip into usable animated output without building a traditional animation pipeline. This reduces setup friction for prototypes, campaign assets, and creator tools.
Predictable API pricing for repeated workflows
Per-second billing, 720p and 1080p modes, and explicit duration limits make it easier to estimate cost before production. That matters for batch jobs, user-generated workflows, and automated content pipelines.
How to integrate the Motion Control API
From reference inputs to delivered animation in three practical steps.
Prepare a clean character image and motion source video
Upload a reference image for the target character and a reference video containing the performance you want to transfer. Clear body visibility and stable source motion improve output consistency.
Submit an async generation request with motion settings
Send the image, video, quality mode, and orientation parameters to the API. The task runs asynchronously, which makes it easier to integrate into production pipelines, queue systems, and automated workflows.
Poll task status, review output, and iterate
Check task status until the result is ready, then review the generated clip and refine inputs when needed. This iteration loop works well for creator products, internal tools, and repeatable video workflows.
Core capabilities of the Motion Control API
Reference-driven character animation with production-oriented controls
Reference video motion transfer
Use a source performance video to drive movement in a target character image, making motion output more repeatable and easier to control than prompt-only generation.
Character orientation control
Choose whether the output character follows the facing direction of the reference image or the source video, depending on the type of motion transfer you need.
Subject element consistency support
Combine Motion Control with Kling Custom Element workflows when you need more stable character identity across repeated generations and production variations.
Original sound preservation
Keep the original sound from the reference video when the workflow calls for motion plus source-audio continuity in the final output.
Per-second pricing with explicit output limits
Estimate cost more easily with per-second billing, visible duration constraints, and clear quality tiers. This helps teams plan usage for creator tools and automated pipelines.
720p and 1080p delivery modes
Choose a lower-cost or higher-quality output path based on production goals, turnaround needs, and budget sensitivity.
Frequently Asked Questions
Everything you need to know about the product and billing.
API Reference
Select endpoint
Authentication
All APIs require Bearer Token authentication.
Authorization:
Bearer YOUR_API_KEY/v1/videos/generationsCreate Motion Control Video
Kling 3.0 Motion Control (kling-v3-motion-control) transfers human motion from a reference video onto a character in a reference image.
Asynchronous processing mode, use the returned task ID to query status.
Generated video links are valid for 24 hours, please save them promptly.
Important Notes
- Both reference image and reference video are required.
- Max duration: 10s (image orientation) or 30s (video orientation).
- Billed by actual generated duration, rounded to nearest second.
- Pricing: 720p = 1.0x base, 1080p = 1.333x base.
Request Parameters
modelstringRequiredDefault: kling-v3-motion-controlMotion control model name.
kling-v3-motion-controlimage_urlsstring | string[]RequiredReference image URL(s). The character in this image will be animated with the motion from the reference video.
Notes
- Formats: JPG, JPEG, PNG
- Max size: 10MB
- Dimensions: 300px-65536px per side
- Aspect ratio: 1:2.5 to 2.5:1
- Character should show clear upper body or full body
- Avoid extreme orientations (e.g., upside down, lying flat)
https://example.com/character.pngvideo_urlsstring | string[]RequiredReference video URL(s). The motion in this video will be transferred to the character in the reference image.
Notes
- Formats: MP4, MOV
- Max size: 100MB
- Dimensions: 340px-3850px per side
- Duration: 3s minimum
- Max 10s (image orientation) or 30s (video orientation)
- Recommend single-person video with clear, steady motion
- Avoid camera cuts, fast motion, or scene transitions
https://example.com/dance.mp4promptstringOptionalOptional text prompt to add elements or camera effects to the generated video.
Notes
- Max 2500 characters
- Can describe clothing, scene additions, or camera movements
A girl wearing a gray loose T-shirt and denim shortsqualitystringRequiredVideo output quality. Affects billing multiplier.
| Value | Description |
|---|---|
| 720p | Standard quality (1.0x base price) |
| 1080p | High quality (1.333x base price) |
720pmodel_params.character_orientationstringRequiredControls the facing direction of the generated character.
| Value | Description |
|---|---|
| image | Character faces same as reference image (max 10s) |
| video | Character faces same as reference video (max 30s) |
Notes
- When using element_list, only 'video' orientation is supported
imagemodel_params.keep_soundbooleanOptionalDefault: trueWhether to keep the original audio from the reference video.
Notes
- true = keep original sound, false = mute
truemodel_params.element_listarrayOptionalSubject element references for consistent character appearance.
Notes
- Format: [{element_id: string}]
- Max 1 element
- Only video-created elements supported (reference_type=video_refer)
- When used, character_orientation must be 'video'
[{"element_id": "12345"}]model_params.watermark_infoobjectOptionalWatermark configuration for the generated video.
Notes
- Format: {enabled: boolean}
{"enabled": false}callback_urlstringOptionalHTTPS callback address after task completion.
Notes
- Triggered on completion, failure, or cancellation
- HTTPS only, no internal IPs
- Max length: 2048 chars
- Timeout: 10s, Max 3 retries
https://your-domain.com/webhooks/video-task-completed