Kling Video V3 Pro Motion Control API

Kling Video V3 Pro is KwaiVGI's video-to-video AI model. Transform, enhance, and edit video content using text prompts - from style changes to object manipulation and scene modification.

Video to VideoMotion Control

Provider

Kling

Billing

Provider cost

ScalingTensor price

≈ $0.84 per clip, reference price

Playground

Try Kling Video V3 Pro Motion Control

Edit the params, add your API key and run the model here. The result plays on this page when the job completes.

Input

Used for this request only and never stored. Get a key

Running a request charges your wallet: ≈ $0.84 per clip, reference price.

Output

preview

Request summary

Endpoint
POST /api/media/generate
Model ID
kwaivgi/kling-video/v3/pro/motion-control
image
https://example.com/your-image.png
video
https://example.com/your-video.mp4
prompt
A man dancing
keep_original_sound
true
character_orientation
image

Need chat models, job lookups or the raw response? Open the full playground.

Pricing

Kling Video V3 Pro Motion Control API pricing

Prices come from the live catalog. There is no subscription; each request is charged to your prepaid wallet.

ScalingTensor price

Provider cost

Live catalog price

≈ $0.84

per clip, reference price

Billed at the provider's actual cost; a typical clip is listed at $0.84. Your usage log shows the exact charge.

Compare all model prices

Shared balance

Add credits

Top up

One wallet and one API key for every model in the catalog. Top-ups start at $10 and are paid through Stripe.

Parameters

Input parameters

These parameters belong inside the request body's params object.

Input parameters
nametyperequireddescription
imagestringRequiredReference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.
promptstringRequiredMax length: 2500
videostringOptionalReference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.
keep_original_soundbooleanOptionalWhether to keep the original sound from the reference video. · Default: true
character_orientationstringOptionalControls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s). · Options: image, video

Output fields

Output fields
nametypedescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

API

Call Kling Video V3 Pro Motion Control from your code

Create a key in the console and call the API from your server using the apiKey header. Save data.jobId and poll GET /api/media/result?jobId=... with the same key; a code of 0 means success.

POST /api/media/generate
curl --request POST 'https://restapi.scalingtensor.com/api/media/generate' \
  --header 'apiKey: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "model": "kwaivgi/kling-video/v3/pro/motion-control",
  "params": {
    "image": "https://example.com/your-image.png",
    "video": "https://example.com/your-video.mp4",
    "prompt": "A man dancing",
    "keep_original_sound": true,
    "character_orientation": "image"
  }
}'
const response = await fetch("https://restapi.scalingtensor.com/api/media/generate", {
  method: "POST",
  headers: {
    apiKey: process.env.SCALINGTENSOR_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "kwaivgi/kling-video/v3/pro/motion-control",
    "params": {
      "image": "https://example.com/your-image.png",
      "video": "https://example.com/your-video.mp4",
      "prompt": "A man dancing",
      "keep_original_sound": true,
      "character_orientation": "image"
    }
  }),
});

const result = await response.json();
if (!response.ok || result.code !== 0) {
  throw new Error(result.msg || `Request failed: ${response.status}`);
}
console.log(result.data); // Save data.jobId to query /api/media/result
import os
import requests

payload = {
    "model": "kwaivgi/kling-video/v3/pro/motion-control",
    "params": {
        "image": "https://example.com/your-image.png",
        "video": "https://example.com/your-video.mp4",
        "prompt": "A man dancing",
        "keep_original_sound": True,
        "character_orientation": "image",
    },
}

response = requests.post(
    "https://restapi.scalingtensor.com/api/media/generate",
    headers={"apiKey": os.environ["SCALINGTENSOR_API_KEY"]},
    json=payload,
    timeout=60,
)
result = response.json()
if result["code"] != 0:
    raise RuntimeError(result["msg"])
print(result["data"])  # Save data["jobId"] to query /api/media/result

API documentation · This page as Markdown · Markdown API reference

Related models

Kling Video V3 Pro Motion Control API FAQ

How much does the Kling Video V3 Pro Motion Control API cost?

Kling Video V3 Pro Motion Control is billed at the provider's actual cost for each job (per clip, reference price). The charge is deducted from your prepaid ScalingTensor wallet.

How do I call the Kling Video V3 Pro Motion Control API?

Send POST /api/media/generate with "model": "kwaivgi/kling-video/v3/pro/motion-control" and the parameters in a params object, using your apiKey header. The call returns a jobId. Poll GET /api/media/result?jobId=... until the status is completed, then read the output URL from the result.

Which parameters does Kling Video V3 Pro Motion Control accept?

Required: image and prompt. Optional: video, keep_original_sound and character_orientation. The parameter table on this page describes each one.

Do I need a Kling account to use Kling Video V3 Pro Motion Control?

No. You call Kling Video V3 Pro Motion Control with your ScalingTensor API key and pay from your ScalingTensor wallet. The same key works for every other model in the catalog.