Kling: Kling 3.0 Motion Control API

Kling 3.0 motion control. Transfers the motion of a reference video onto the character in a reference image.

Frequently Asked Questions

Is character_orientation required?

Yes. It decides whether the character faces as in the reference image (`image`) or as in the motion video (`video`); omitting it is rejected upstream.

Can I keep the result URLs long-term?

No. Kling clears generated image/video URLs after **30 days**. If object storage is enabled on this site, the gateway automatically re-hosts results on completion; otherwise download and archive them yourself.

How long does a task take and how do I get the result?

Video generation is asynchronous and usually takes from tens of seconds to a few minutes. Set `options.callback_url` to receive a push when the status changes, or poll the task query endpoint.

How is this different from the v-prefixed model (e.g. kling-v2-6)?

They are **two API generations of the same underlying model**. The v-prefixed one is Kling's legacy API (model passed as the `model_name` parameter); this one is the new API (model version in the request path) with a `contents / settings / options` body, fewer coupled parameters and batch task queries. Kling states the legacy API remains available, so both can coexist.