Skip to content
Catalog

cn8/video-motion-control

Give one character image and one motion video: the character performs the movement of

Learn more about Video Motion Control
Videoasync (job)Instant previewvideogenerationmotion-control

Move your character

Character image
Motion video
Framing
Model

Result

Your video shows up here

Upload a character image and a motion video — the result is as long as the video and takes the shape of the image.

Overview

Give one character image and one motion video: the character performs the movement of the person in the video — a dance, a workout, a gesture, a walk. The character can be a person, a mascot, an illustration or a 3D figure.

There is no duration to set. The result is as long as the motion in your video (3 to 30 seconds), and you pay for the seconds that are delivered.

Two models, both from Kling AI: kling-v3-motion-control (best quality) and kling-v2-6-motion-control (lower price). Call List Video Models (media-video-models?mode=motion-control) for the live list and prices.

This is an asynchronous job: you submit a request, receive a job ID right away, then poll until the video is ready.

Pricing is per second of generated video and depends on the model and resolution: from 14 credits/s (Kling 2.6, 720p) to 34 credits/s (Kling 3.0, 1080p).

Key capabilities

One image, one video

image_urls carries the character, video_urls carries the motion. Exactly one of each.

Any kind of character

Photos, mascots, illustrations and 3D characters all work, as long as the body parts used by the motion are visible in the image.

Two framing modes

character_orientation: "video" follows the framing and camera of the motion video (up to 30 s). "image" keeps the framing of your character image (up to 10 s).

Length follows the motion

No duration field: the output is as long as the usable motion in your video, and that is what you are billed for.

Optional prompt and original sound

A short prompt can describe the scene or style. keep_original_audio: true keeps the sound of the motion video.

When to use it

Brand mascot content

Record a person once and let your mascot perform the same choreography.

Dance and trend videos

Put a character into a trending movement without animating it by hand.

Training and demonstration

Show an exercise or a procedure with a neutral character instead of the person who recorded it.

Character previs

Test how a character design moves before committing to full production.

Input & output

input

image_urls (one character image) + video_urls (one motion video) + model + character_orientation, optional prompt / resolution / keep_original_audio

JSON body

output

A job ID right away; once complete, result_data carries the video URL, the delivered duration and metadata.

JSON (job)Video URL (in result_data)

Guides & tips

How the async flow works

  1. 1POST media-video-motion-control → you get a job with an id back immediately.
  2. 2The video is generated in the background — usually a few minutes, longer for long motions.
  3. 3Poll GET /v2/jobs/{job_id} until status is completed.
  4. 4Read the finished video URL from result_data.data.video_url.

You're billed only when the job completes successfully. You can also configure a webhook to be notified instead of polling.

Choosing character_orientation

ValueResult followsMotion video lengthUse it when
videothe framing, camera and body direction of the motion video3-30 sthe motion matters most: dances, sports, full-body movement
imagethe framing and pose direction of the character image3-10 sthe look of the image matters most: portraits, product mascots in a fixed layout

Preparing a good motion video

  • One person, one continuous take — no cuts, no second person walking through.
  • Keep the whole moving body in frame; crop away empty space so the person is not tiny.
  • mp4 or mov, 3-30 s, under 100 MB, each side between 340 and 3850 px.
  • Steady camera gives the cleanest result.

Preparing a good character image

  • Show the body parts the motion uses: a full-body motion needs a full-body character.
  • A plain background and a neutral standing pose transfer best.
  • The aspect ratio of the result follows this image.

How the credit hold is computed

The request has no duration, so the hold is based on your motion video: its length is measured when you submit and multiplied by the model's price for the chosen resolution. If the file cannot be measured, the maximum for the mode is held (30 s for video, 10 s for image). The final charge always uses the delivered seconds.

Specs

Latency
Asynchronous — typically 2-5 minutes; a 30-second motion can take up to 14 minutes. Jobs time out after 15 minutes.
Async
true
Rate Limit
60 req/min per API key
Max Input
Motion video: mp4 or mov, 3-30 s (3-10 s with character_orientation "image"), up to 100 MB, each side 340-3850 px. Character image: up to 64 MB.

Schema

Request body

modelrequiredstring

'kling-v3-motion-control' (best quality) or 'kling-v2-6-motion-control' (lower price). Aliases 'kling-3.0-motion-control' / 'kling-2.6-motion-control' also work.

enum: kling-v3-motion-control, kling-v2-6-motion-control

image_urlsrequiredarray

Exactly one URL: the character image (use upload-media for local files). The body parts used by the motion should be visible.

video_urlsrequiredarray

Exactly one URL: the motion video. mp4 or mov, one person, one continuous take, 3-30 s (3-10 s with character_orientation 'image'), up to 100 MB, each side 340-3850 px.

character_orientationrequiredstring

'video': the result follows the framing and camera of the motion video (motion up to 30 s). 'image': the result keeps the framing of the character image (motion up to 10 s).

enum: video, image

resolutionstring · default: 720p

'720p' or '1080p'. The aspect ratio follows the character image.

promptstring

Optional short description of the scene or style (up to 2500 characters). The motion itself always comes from the video.

keep_original_audioboolean · default: false

true keeps the sound of the motion video in the result. Default: no sound.

generation_typestring · default: motion-control

Fixed to 'motion-control' for this service — leave it out. Any other value is rejected with 400.

Pricing

Per second of generated video, at the model's rate for the chosen resolution. You're billed once, when the job completes successfully. media-video-models always returns the live prices.

ServiceUnitPrice
Kling 3.0 Motion Control (kling-v3-motion-control) — 1080psecond34 credits/second
Kling 3.0 Motion Control (kling-v3-motion-control) — 720psecond25.5 credits/second
Kling 2.6 Motion Control (kling-v2-6-motion-control) — 1080psecond22.4 credits/second
Kling 2.6 Motion Control (kling-v2-6-motion-control) — 720psecond14 credits/second
List Video ModelsitemFree

Examples: a 5 s motion at 720p on Kling 2.6 = 70 credits; the same on Kling 3.0 at 1080p = 170 credits; a 30 s motion on Kling 3.0 at 1080p = 1020 credits.

When you submit, credits for the full length of your motion video are held; on completion the hold is released and only the delivered seconds are charged.

If a job fails, it isn't billed and the hold is returned.

FAQ

Related models