Kling V3 Motion Control
Kling V3 Motion Control. How it works — one appearance reference (an image, or an element on the 3.0 version) plus one motion reference video: the character from the image performs the motion from the video.
⚠️ There is no duration parameter, and this endpoint rejects one. The output length follows your motion video. Before any tokens are deducted, GoEnhance transfers video_url to its own storage and measures the real duration — that measurement is what you are billed for, and it is also what enforces the length limits below. Because the file is measured and then sent onward from GoEnhance’s storage, swapping the URL afterwards has no effect.
Motion video requirements — .mp4 / .mov, ≤100MB, 340–3850px, and:
| character_orientation | motion video length |
|---|---|
video (default) | 3–30s |
image | 3–10s |
⚠️ Kling bills on the output length, and the model only extracts usable continuous motion — so a difficult or very fast motion can produce a video shorter than the input. GoEnhance charges the measured input length, which is an upper bound.
⚠️ audio has no native option here: generate_audio keeps the motion video’s original sound. It defaults to off, because that soundtrack is often copyrighted material you did not author.
Pricing — per second of generated video, in tokens (USD at $0.02/token). Same as the official rate:
| resolution | tokens/s | USD/s |
|---|---|---|
| 720p | 6.3 | $0.126 |
| 1080p | 8.4 | $0.168 |
For a cheaper option with the same parameters, see kling-v2-6-motion — it costs roughly a third less but has no element support.
Returns an img_uuid; poll GET /api/v1/jobs/detail (or use custom_callback_url) to get the generated video.
Headers
Body
Model name. Must be kling-v3-motion.
kling-v3-motion Text prompt, e.g. what the character wears. Max 2500 characters.
2500Appearance reference image (.jpg / .jpeg / .png, ≤50MB, ≥300px per side, aspect ratio between 1:2.5 and 2.5:1). The character's upper or full body and head must be clearly visible and unobstructed.
Motion reference video. Required. See the requirements above.
Whether the generated character faces as in the appearance image or as in the motion video. Also caps how long the motion video may be (30s vs 10s).
image, video Output resolution. Motion control has no 4K tier. quality is accepted as a compatible alias.
720p, 1080p Keep the motion video's original sound. There is no generated-audio option on this endpoint.
Optional. At most one element id from Kling's element library, used as the appearance reference instead of (or alongside) image_url. Forces character_orientation: video. element_id is accepted for a single value.
1Optional. A publicly accessible HTTPS URL. When the task status changes (processing / success / failed), GoEnhance sends a POST request to this URL. The request body is identical to the response of GET /api/v1/jobs/detail. If your server does not respond with HTTP 200, the notification is retried up to 3 times, with a 3-second timeout per attempt.
"https://your-server.com/goenhance/callback"
