One image, one video
image_urls carries the character, video_urls carries the motion. Exactly one of each.
Give one character image and one motion video: the character performs the movement of
Learn more about Video Motion ControlYour 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.
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).
image_urls carries the character, video_urls carries the motion. Exactly one of each.
Photos, mascots, illustrations and 3D characters all work, as long as the body parts used by the motion are visible in the image.
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).
No duration field: the output is as long as the usable motion in your video, and that is what you are billed for.
A short prompt can describe the scene or style. keep_original_audio: true keeps the sound of the motion video.
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
image_urls (one character image) + video_urls (one motion video) + model + character_orientation, optional prompt / resolution / keep_original_audio
output
A job ID right away; once complete, result_data carries the video URL, the delivered duration and metadata.
id back immediately.status is completed.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.
| Value | Result follows | Motion video length | Use it when |
|---|---|---|---|
video | the framing, camera and body direction of the motion video | 3-30 s | the motion matters most: dances, sports, full-body movement |
image | the framing and pose direction of the character image | 3-10 s | the look of the image matters most: portraits, product mascots in a fixed layout |
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.
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_urlsrequiredarrayExactly one URL: the character image (use upload-media for local files). The body parts used by the motion should be visible.
video_urlsrequiredarrayExactly 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.
promptstringOptional short description of the scene or style (up to 2500 characters). The motion itself always comes from the video.
keep_original_audioboolean · default: falsetrue keeps the sound of the motion video in the result. Default: no sound.
generation_typestring · default: motion-controlFixed to 'motion-control' for this service — leave it out. Any other value is rejected with 400.
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.
| Service | Unit | Price |
|---|---|---|
| Kling 3.0 Motion Control (kling-v3-motion-control) — 1080p | second | 34 credits/second |
| Kling 3.0 Motion Control (kling-v3-motion-control) — 720p | second | 25.5 credits/second |
| Kling 2.6 Motion Control (kling-v2-6-motion-control) — 1080p | second | 22.4 credits/second |
| Kling 2.6 Motion Control (kling-v2-6-motion-control) — 720p | second | 14 credits/second |
| List Video Models | item | Free |
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.