Developed by KuaiShou, Kling AI 2.6 Motion Control API is a performance-driven image-to-video model that transfers real human motion, gestures, and expressions from reference video to character images with stable timing and realism.

Pricing: 11 credits/s ($0.055) for 720P; 18 credits/s ($0.09) for 1080P High-tier top-ups (+10% bonus) bring effective pricing down to ~$0.050/s (720 p) and ~$0.081/s (1080 p).
Input

A text description of the desired output. Maximum length is 2500 characters.

0/2500

Click to upload or drag and drop

Supported formats: JPEG, PNG, JPG Maximum file size: 10MB; Maximum files: 1

Reference image. The characters, backgrounds, and other elements in the generated video are based on the reference image. Supports .jpg/.jpeg/.png, max 10MB, size needs to be greater than 300px, aspect ratio 2:5 to 5:2.

Click to upload or drag and drop

Supported formats: MP4, QUICKTIME Maximum file size: 100MB; Maximum files: 1

Reference video. The character actions in the generated video are consistent with the reference video. Supports .mp4/.mov, max 100MB, 3-30 seconds duration depending on character_orientation.

Generate the orientation of the characters in the video. 'image': same orientation as the person in the picture (max 10s video). 'video': consistent with the orientation of the characters in the video (max 30s video).

Output resolution mode. Use 'std' for 720p or 'pro' for 1080p.

Output
output typevideo
Examples

Explore different use cases and parameter configurations

README

Complete guide to using kling-2.6/motion-control

Kling 2.6 Motion Control API: Transfer Motion to a Character Image

Original image
ParameterDetails
modelRequired. Set to kling-2.6/motion-control.
input_urlsRequired. Array containing one image URL (file URL after upload, not file content). Formats: JPEG, PNG, or JPG; up to 10MB; larger than 300px; aspect ratio 2:5 to 5:2; must clearly show the subject's head, shoulders, and torso.
video_urlsRequired. Array containing one video URL that defines the motion pattern to apply. Formats: MP4 or QuickTime; up to 100MB; 3 to 30 seconds; must clearly show the subject's head, shoulders, and torso.
character_orientationRequired. Set to "image" to match the orientation of the person in the picture (motion video up to 10 s), or "video" to stay consistent with the orientation of the characters in the video (motion video up to 30 s).
modeRequired. Output resolution: "720p" or "1080p".
promptOptional. Text description of the desired output, up to 2500 characters.
callBackUrlOptional. Webhook URL to receive task results (recommended for production). You can also poll the Get Task Details endpoint.
Kling 2.6 Motion ControlKling 3.0 Motion Control
model IDkling-2.6/motion-controlkling-3.0/motion-control
promptOptional, up to 2500 charactersOptional, 0 to 2500 characters
image1 URL (JPEG, PNG, JPG), up to 10MB, > 300px, aspect ratio 2:5 to 5:21 URL, > 340px, aspect ratio 2:5 to 5:2
motion video1 URL (MP4, QuickTime), up to 100MB, 3 to 30 s1 URL, up to 100MB, 3 to 30 s, > 340px, aspect ratio 2:5 to 5:2
character_orientationRequired: "image" (max 10 s video) or "video" (max 30 s video)Optional: "video" (default, recommended) or "image"
modeRequired: "720p" or "1080p"Optional: "720p" (default) or "1080p"
  • 01
  • 02
  • 03
  • 04
  • 4.9/ 5
    45,673 ratings
    Pick a reaction

    New Kie.ai users receive 80 free credits for testing. You can use them to try this model in the playground on this page without writing code, or to call the Kling 2.6 Motion Control API. Once they are used up, you can top up credits; the price is shown in the pricing card above.

    The price for 720p and 1080p output is shown in the pricing card above. Your account has one credit balance that all generation services draw from; check it with the Get Remaining Credits API.

    Yes. Kling motion control applies the motion pattern of a reference video to the subject in a static reference image. According to Kling, VIDEO 2.6 Motion Control takes a static character image and a video of a movement.

    Create a key on your Kie.ai API Key Management page. All models in the Kie.ai market use the same authentication method: an Authorization: Bearer YOUR_API_KEY header with the key from your Kie.ai API Key Management page.

    The required character_orientation parameter controls how the subject is oriented and how long the motion video can be. Setting it to "image" keeps the same orientation as the person in the picture and is documented for motion videos up to 10 seconds. Setting it to "video" stays consistent with the orientation of the characters in the video and supports motion videos up to 30 seconds; see the parameter table above.

    Each request accepts at most one image URL and one video URL; to get URLs for local files, upload them first with the Kie.ai File Upload API. The image must be JPEG, PNG, or JPG, up to 10MB, larger than 300px, with an aspect ratio of 2:5 to 5:2. The motion video must be MP4 or QuickTime, up to 100MB, and 3 to 30 seconds long. Both files must clearly show the subject's head, shoulders, and torso; see the parameter table above for full details.

    According to the Kie.ai documentation, the output may keep the audio track of the reference video. In all three of our October 2026 tests on Kie.ai, each returned MP4 contained an audio track. We only checked that the track existed; we did not listen to or evaluate the audio.

    According to Kling's Motion Control user guide, Kling VIDEO 3.0 Motion Control builds upon the Motion Control introduced in VIDEO 2.6 with improved facial consistency. In the Kie.ai documentation, kling-2.6/motion-control requires character_orientation and mode and needs an image larger than 300px. The kling-3.0/motion-control model makes mode (default 720p) and character_orientation (default video) optional, and needs both the image and the video to be larger than 340px with an aspect ratio of 2:5 to 5:2. See the comparison table on this page for the documented differences, and check each model's pricing card for its price.

    You can pass a callBackUrl parameter in your createTask request so Kie.ai sends the result to your webhook when the job finishes, which is recommended for production. Alternatively, you can poll the Get Task Details endpoint using the task ID returned when the job was created; see the parameter table above.