Skip to main content
POST
cURL
Send a source image to POST /image-to-video/{model} to create a video task. You can add a prompt to describe the motion. The response contains an id that you use to retrieve the result.

Choose a model

Put the model ID in the URL. Do not add a model field to the JSON body.

Request parameters

Put each input in contents. A prompt entry uses text; a frame entry uses url. The first-frame URL must be accessible to the video service. The following request animates one source image as a five-second video:
Replace the image URL with a public URL for your source image when you use a different image. Send this body to https://api.cometapi.com/image-to-video/kling-3.0-turbo with your CometAPI API key. The OpenAPI code panel provides Shell, Python, and JavaScript requests with the same body.

Retrieve the video

The create response has this shape:
Save data.id. Use Get a Kling task with that ID until the task reaches a terminal status. Read the video URL from the task’s outputs array.

Authorizations

Authorization
string
header
required

Authenticate with your CometAPI API key.

Path Parameters

model
enum<string>
default:kling-3.0-turbo
required

Kling model ID. kling-3.0 supports 4k resolution. The 2.x models accept 5- or 10-second duration.

Available options:
kling-3.0-turbo,
kling-3.0,
kling-2.6,
kling-2.5-turbo

Body

application/json
contents
object[]
required

Image and text inputs. Include a first_frame image. Add a prompt entry to describe the motion.

Minimum array length: 1
settings
object

Video generation settings. The model ID determines which resolution, duration, and audio values are accepted.

options
object

Optional task delivery and tracking settings.

Response

200 - application/json

The task was created. Use data.id to retrieve its status and video output.

code
required

Request result code. 0 or success indicates acceptance.

message
string
required

Result message.

data
object
required

Task identifier and submission status.

msg
string

Additional result message when included in the response.

Last modified on September 25, 2026