Browse ModelsKwaivgiKwaivgi Kling V3.0 Std Motion Control

Kwaivgi Kling V3.0 Std Motion Control

Kwaivgi Kling V3.0 Std Motion Control

Playground

Try it on WavespeedAI!

Kling 3.0 Standard Motion Control transfers motion from reference videos to animate still images. Upload a character image and a motion clip (dance, action, gesture), and the model extracts the movement to generate smooth, realistic video. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.

Features

Kling V3.0 Std Motion Control

Kling V3.0 Std Motion Control transfers motion from a driving video to a character image, creating videos where your character performs the actions in the reference video. Upload a character image and a motion video — the model generates a new video with the character mimicking the movements.


Why Choose This?

  • Motion transfer Apply movements from any driving video to your character image.

  • Character preservation Maintains the visual identity of your character throughout the animation.

  • Flexible orientation Choose whether the character follows the image or video orientation.

  • Audio preservation Option to keep the original video sound in the output.

  • Prompt guidance Optional prompts to refine the motion transfer style.

  • Prompt Enhancer Built-in tool to automatically improve your descriptions.


Parameters

ParameterRequiredDescription
imageYesCharacter reference image (URL or upload)
videoYesDriving video with motion to transfer (URL or upload)
character_orientationYesOrientation mode: “image” or “video”
promptNoOptional text to guide the motion transfer
negative_promptNoElements to avoid in the output
keep_original_soundNoRetain original video audio (default: enabled)

How to Use

  1. Upload character image — provide the character you want to animate.
  2. Upload driving video — provide the video with the motion to transfer.
  3. Select character_orientation — choose “image” or “video”:
    • image: Character follows the image’s orientation (max video: 10s)
    • video: Character follows the video’s orientation (max video: 30s)
  4. Add prompt (optional) — describe any style or motion preferences.
  5. Add negative prompt (optional) — specify elements to avoid.
  6. Keep original sound (optional) — toggle to retain or remove audio.
  7. Run — submit and download your motion-controlled video.

Pricing

DurationCost
≤3 s$0.378
5 s$0.63
10 s$1.26
20 s$2.52
30 s (max)$3.78

Billing Rules

  • Minimum charge: 3 seconds
  • Maximum duration: 30 seconds (or 10 seconds if character_orientation = “image”)
  • Rate: $0.63 per 5 seconds

Best Use Cases

  • Character Animation — Bring still characters to life with real-world movements.
  • Virtual Presenters — Create talking or moving avatars from reference images.
  • Dance Videos — Transfer dance moves to custom characters.
  • Content Creation — Generate engaging videos with consistent character identity.
  • Gaming & Entertainment — Animate game characters or mascots.

Pro Tips

  • Use clear, front-facing character images for best identity preservation.
  • Ensure the driving video has clear, visible movements for accurate transfer.
  • Choose “image” orientation when character pose should match the reference image.
  • Choose “video” orientation for longer videos (up to 30s) or when following video perspective.
  • Enable keep_original_sound to sync audio with the transferred motion.
  • Use negative_prompt to avoid unwanted artifacts or style elements.

Notes

  • image, video, and character_orientation are all required fields.
  • character_orientation = “image”: Maximum video duration is 10 seconds.
  • character_orientation = “video”: Maximum video duration is 30 seconds.
  • Minimum billing duration: 3 seconds.
  • Ensure uploaded file URLs are publicly accessible.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/kwaivgi/kling-v3.0-std/motion-control" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "keep_original_sound": true
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
imagestringYes-Supported image formats:.jpg /.jpeg /.png The size of the image file should not exceed 10MB, the width and height of the image should be no less than 300px, and the aspect ratio of the image should be between 1:2.5 and 2.5:1
videostringYes-Supported video formats:.mp4/.mov The size of the video file should not exceed 10MB, the width and height of the video should be no less than 300px, and the aspect ratio of the video should be between 1:2.5 and 2.5:1
character_orientationstringYes-image, videoThe duration of the generated media in seconds.
promptstringNo-The positive prompt for the generation.
negative_promptstringNo-The negative prompt for the generation.
keep_original_soundbooleanNotrue-Whether to retain the original video sound

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.