Skip to main content
POST
/
kling
/
v1
/
videos
/
image2video
curl --request POST \
  --url https://api.cometapi.com/kling/v1/videos/image2video \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "image": "https://h2.inkwai.com/bs2/upload-ylab-stunt/se/ai_portal_queue_mmu_image_upscale_aiweb/3214b798-e1b4-4b00-b7af-72b5b0417420_raw_image_0.jpg"
}
'
{
  "code": 0,
  "message": "success",
  "data": {
    "task_id": "2032273942220931072",
    "task_status": "submitted",
    "task_info": {},
    "created_at": 1773366840306,
    "updated_at": 1773366840306
  }
}
Use this endpoint to animate one source image into a Kling video.

Before you call it

  • Provide one public image URL or one base64 image string
  • Start with model_name: kling-v2-master for a minimal modern request
  • Keep the first request simple: one input image, one prompt, no tail frame, no motion masks

Task flow

1

Submit the image-to-video request

Create the task and store the returned Kling task_id.
2

Poll the task

Continue with Individual Queries to follow task status until output is ready.
3

Store the result

Persist the finished asset if you need retention beyond the provider delivery URL.
Live validation on 2026-03-12 confirmed that a URL-based kling-v2-master request was accepted and returned task_status: submitted.
For the full parameter reference, see the official Kling document.

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your CometAPI key.

Body

application/json
image
string
default:example
required

Source image as a Base64 string or public URL. Accepted formats: JPG, JPEG, PNG. Maximum 10 MB, minimum 300×300 px.

prompt
string

Text prompt describing the desired motion. Maximum 500 characters.

negative_prompt
string

Elements to exclude from the video. Maximum 200 characters.

callback_url
string

Webhook URL to receive task status updates when the task completes.

mode
string

Generation mode. std for standard (faster), pro for professional (higher quality).

model_name
string

Kling model variant to use. See the Models page for current options.

image_tail
string

Tail-frame reference image as a Base64 string or public URL. Same format requirements as image. Controls the last frame of the generated video.

cfg_scale
number

Prompt adherence strength. Higher values follow the prompt more closely. Range: 0–1.

duration
string

Output video length in seconds. Options: 5, 10.

static_mask
string

Static brush mask image as a Base64 string or public URL. White areas are frozen in place during video generation. Must match the aspect ratio and resolution of the input image.

dynamic_masks
object

Dynamic brush configuration. Up to 6 groups, each containing a painted-area mask and a motion trajectory.

external_task_id
string

Custom task id for your own tracking. Does not replace the system-generated task id but can be used to query tasks. Must be unique per user.

Response

200 - application/json

Task accepted.

code
integer
required

Error code; specifically define the error code

message
string
required

error message

data
object
required