Skip to main content
POST
cURL
Use POST /motion-control/{model} to animate a character image with the movement from a reference video. The request creates an asynchronous task.

Choose a model

Use the character image and reference video as publicly accessible URLs. Set settings.audio to original to retain audio from the reference video, or off for silent output. The image must be JPG or PNG, at most 50 MB, and at least 300 pixels on each edge. Use an MP4 or MOV reference video of at least 3 seconds and at most 100 MB. With character_orientation: image, the video can be up to 10 seconds; with video, it can be up to 30 seconds.

Request parameters

To animate a character image, send this request body to POST /motion-control/kling-2.6. Replace the media URLs with your own accessible files when using your own character and motion:
The response returns an id for the asynchronous task:
Use the data.id value with Get a Kling task until the task completes. Read the finished video URL from the task’s outputs array. Store the video in your own storage if you need durable access. The OpenAPI panel contains matching Shell, Python, and JavaScript requests. For more input details, see the Kling motion-control API reference.

Authorizations

Authorization
string
header
required

Authenticate with your CometAPI API key.

Path Parameters

model
enum<string>
required

Kling motion-control model ID.

Available options:
kling-3.0,
kling-2.6

Body

application/json
contents
object[]
required

Send a character image and motion reference video. Add a prompt item for scene guidance.

Minimum array length: 2
settings
object
required

Output resolution, reference orientation, and audio settings.

options
object

Optional task notification and identification settings.

Response

200 - application/json

Task created. Store data.id for a GET /tasks query.

code
required

Result code. 0 indicates task creation.

message
string
required

Result message.

data
object
required

Task identification and submission status.

msg
string

Additional result message, when included.

Last modified on September 25, 2026