Kling 3.0 Motion Control API

Animate a character image from a reference video through one API. Pricing starts at $0.1134 per second for 720p output, supports 1080p, and reaches up to 30-second clips depending on orientation mode.
Motion transfer 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
Hero showcase of Kling 3.0 motion control capabilities

Reference video motion, image character guidance, and async delivery in one production-ready route.

Estimated Cost (5s)
8.1648 Credits
Sample Result

No sample available

0 (suggested: 2,000)

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

Character facing direction in generated video

Keep the original audio from the reference video

Click Generate to see preview

History

Max 20 items

0 running · 0 completed

Your generation history will appear here

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

Popular
Kling 3.0 Motion Control
Motion Control
Quality:720p
Price:
$0.1134/ second
(8.1648 Credits)
Kling 3.0 Motion Control
Motion Control
Quality:1080p
Price:
$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.

Avatar animation from reference video

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.

Dance and gesture transfer showcase

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.

Motion control workflow with orientation settings

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.

1

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.

2

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.

3

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

Motion

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.

Orientation

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.

Consistency

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.

Audio

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.

Pricing

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.

Quality

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.

The Motion Control API transfers human motion from a reference video onto a character in a reference image. It uses Kling's 3.0 model to synthesize natural-looking animation. Both the reference image and reference video are required inputs.
You need a reference image (the character to animate) and a reference video (the motion source). The character should have clear upper body or full body visible. The video should contain clear human motion without cuts or camera movement.
Maximum duration depends on character_orientation: up to 10 seconds when set to 'image' (character faces like the image), or up to 30 seconds when set to 'video' (character faces like the video). Minimum is 3 seconds. Actual duration depends on extractable motion from the reference video.
Motion Control uses per-second billing at 8.1648 credits/second base rate (720p). 1080p quality is 1.333x the base rate. Billed by actual generated duration, rounded up to the nearest second. Check your EvoLink dashboard for your group's specific pricing.
This parameter controls the facing direction of the generated character. Set to 'image' for the character to face the same direction as in the reference image (max 10s video). Set to 'video' for the character to face the same direction as in the reference video (max 30s video).
Yes, you can reference subject elements created via Kling Custom Element using element_list. When using elements, character orientation is currently limited to video orientation only. Maximum 1 element is supported.
Limits, pricing, and available modes are determined by your provider and region. Use your EvoLink dashboard and API responses as the source of truth. Check the API documentation for the most current constraints and parameters.
POST
/v1/videos/generations

Create 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-control

Motion control model name.

Examplekling-v3-motion-control
image_urlsstring | string[]Required

Reference 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)
Examplehttps://example.com/character.png
video_urlsstring | string[]Required

Reference 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
Examplehttps://example.com/dance.mp4
promptstringOptional

Optional text prompt to add elements or camera effects to the generated video.

Notes
  • Max 2500 characters
  • Can describe clothing, scene additions, or camera movements
ExampleA girl wearing a gray loose T-shirt and denim shorts
qualitystringRequired

Video output quality. Affects billing multiplier.

ValueDescription
720pStandard quality (1.0x base price)
1080pHigh quality (1.333x base price)
Example720p
model_params.character_orientationstringRequired

Controls the facing direction of the generated character.

ValueDescription
imageCharacter faces same as reference image (max 10s)
videoCharacter faces same as reference video (max 30s)
Notes
  • When using element_list, only 'video' orientation is supported
Exampleimage
model_params.keep_soundbooleanOptionalDefault: true

Whether to keep the original audio from the reference video.

Notes
  • true = keep original sound, false = mute
Exampletrue
model_params.element_listarrayOptional

Subject 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'
Example[{"element_id": "12345"}]
model_params.watermark_infoobjectOptional

Watermark configuration for the generated video.

Notes
  • Format: {enabled: boolean}
Example{"enabled": false}
callback_urlstringOptional

HTTPS 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
Examplehttps://your-domain.com/webhooks/video-task-completed

Request Example

{
  "model": "kling-v3-motion-control",
  "prompt": "A girl wearing a gray loose T-shirt and denim shorts",
  "image_urls": ["https://example.com/character.png"],
  "video_urls": ["https://example.com/dance.mp4"],
  "quality": "720p",
  "model_params": {
    "character_orientation": "image",
    "keep_sound": true
  }
}

1080p with Element Example

{
  "model": "kling-v3-motion-control",
  "image_urls": ["https://example.com/character.png"],
  "video_urls": ["https://example.com/dance.mp4"],
  "quality": "1080p",
  "model_params": {
    "character_orientation": "video",
    "keep_sound": false,
    "element_list": [
      {"element_id": "12345"}
    ]
  }
}

Response Example

{
  "created": 1757169743,
  "id": "task-unified-1757169743-v3mc",
  "model": "kling-v3-motion-control",
  "object": "video.generation.task",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": true,
    "estimated_time": 180
  },
  "type": "video",
  "usage": {
    "billing_rule": "per_second",
    "credits_reserved": 40.824,
    "user_group": "default"
  }
}
Kling Motion Control API, Pricing from $0.1134/s | EvoLink