Skip to main content
POST
/
kling
/
v1
/
videos
/
multi-image2video
cURL
curl https://api.cometapi.com/kling/v1/videos/multi-image2video \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "image_list": [
        {
          "image": "https://your-image-host/first-frame.jpg"
        },
        {
          "image": "https://your-image-host/second-frame.jpg"
        }
      ],
      "prompt": "A smooth transition between the two reference moments",
      "mode": "std",
      "duration": "5",
      "aspect_ratio": "1:1"
    }'
{
  "code": 0,
  "message": "SUCCEED",
  "data": {
    "task_id": "861309198188019719",
    "task_status": "submitted",
    "task_info": {},
    "created_at": 1773380633979,
    "updated_at": 1773380633979
  }
}
Use this endpoint when one source image is not enough and you want Kling to build motion from multiple image references.

Before you call it

  • Prepare 1 to 4 images in image_list
  • Use images that meet Kling pixel requirements; tiny thumbnails are rejected by the generation task
  • Omit model_name unless you specifically need to select a route-compatible model
  • Keep the first test simple: a short prompt, duration: 5, no extra callback settings
  • Do not send image-to-video mask fields such as static_mask or dynamic_masks on this route

Task flow

1

Submit the multi-image request

Send the image list, prompt, and duration, then save the returned Kling task_id.
2

Poll the task

Continue with Get a Kling task until the task reaches a terminal state.
3

Persist the result

Store the finished video if you need retention beyond the provider delivery URL.
For the complete parameter reference, see the official Kling documentation.

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your CometAPI key.

Body

application/json
image_list
object[]
required

Input image references. Provide 1 to 4 items that meet Kling pixel requirements; very small thumbnails are rejected.

Required array length: 1 - 4 elements
model_name
enum<string>
default:kling-v1-6

Kling model variant for multi-image video. Omit to use kling-v1-6.

Available options:
kling-v1-6
prompt
string

Text prompt describing the desired motion and scene.

negative_prompt
string

Elements to avoid in the generated video.

mode
enum<string>
default:std

Generation mode. Use std or pro; omitted requests use std.

Available options:
std,
pro
duration
string
default:5

Output video length in seconds. Use 5 or 10; omitted requests use 5.

aspect_ratio
enum<string>

Requested frame aspect ratio when the model needs an explicit frame shape.

Available options:
16:9,
9:16,
1:1
callback_url
string

Webhook URL to receive task status updates.

external_task_id
string

Custom task id for your own tracking. Must be unique per account.

Response

200 - application/json

Task accepted.

code
integer
required

Error code; specifically define the error code

message
string
required

error message

data
object
required