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. kling-3.0-turbo accepts a first_frame only. kling-2.5-turbo, kling-3.0, and kling-2.6 also support a last_frame; include a first_frame with it. For kling-2.5-turbo and kling-2.6, the first-and-last-frame combination requires 1080p.

Request parameters

Put each input in contents. A prompt entry uses text; a frame entry uses url. For an image, supply a publicly accessible URL or Base64-encoded JPG or PNG data. The following request animates one source image as a five-second video:
Replace the image URL with a public URL or Base64-encoded JPG/PNG 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

Image-to-video request fields exposed by the CometAPI route. The model ID is a path parameter, not a body field.

contents
object[]
required

Image and text inputs exposed by the CometAPI route. Include a first_frame image. Add a prompt entry or a model-supported last_frame image when needed.

Minimum array length: 1
settings
object

Video generation settings exposed by the CometAPI route. The model ID in the URL determines which values are accepted.

options
object

Optional task fields exposed by the CometAPI route.

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