Kling 3.0 Motion Control

Transfer full-body motion with selectable character orientation and background source at 720p or 1080p; image orientation supports up to 10 seconds and video orientation up to 30 seconds. ### Supported modes | Mode | Required input | Rules | | --- | --- | --- | | Motion transfer | `model`, `images`, `reference_videos` | Upload both assets through `/v1/files`; assets must exceed 340 px, use a 2:5–5:2 ratio, and follow the 10s image / 30s video orientation limits. | **Async flow:** Create the task, save `data.id`, then [poll the Task](/quick-guide#get-task-status) with `GET /v1/tasks/{task_id}`. On `succeeded`, read `data.output.media`. On `failed`, read `data.error_code` and `data.error_message`, then follow the [error and retry policy](/quick-guide#errors-and-retry-policy). **Using a local file?** [upload a local input](/quick-guide#upload-an-input-file) first and pass the returned `data.url`.

Authentication

AuthorizationBearer

Send your API key as Authorization: Bearer <BEATAPI_API_KEY>.

Headers

Idempotency-KeystringOptional<=255 characters

Request

This endpoint expects an object.
model"kling-3-motion-control"Required

Must be kling-3-motion-control.

imageslist of stringsRequired

Exactly one character-image URL returned by the current account’s /v1/files upload; maximum 10 MB.

reference_videoslist of stringsRequired

Exactly one 3–30 second MP4/MOV URL returned by the current account’s /v1/files upload; maximum 100 MB. Its detected duration determines billing.

promptstringOptional<=2500 characters
Optional motion or scene guidance.
resolutionenumOptionalDefaults to 720p

Output resolution and per-second price tier.

character_orientationenumOptionalDefaults to image

Image orientation supports motion videos up to 10 seconds; video orientation supports up to 30 seconds.

background_sourceenumOptionalDefaults to input_video
Preserve the background from the motion video or character image.

Response

Video generation task accepted

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
409
Conflict Error
429
Too Many Requests Error