Skip to content
Home

Kling V1 - Image to Video

kling-v1-i2v

Image-to-video generation with stronger temporal coherence and consistency for longer or more complex scenes.

kling-v1-i2v does not support only tail frame (image_tail only)

kling-v1-i2v only supports first and last frame (image + image_tail) when duration is 5 seconds

kling-v1-i2v only supports motion brush (dynamic_masks/static_mask) when duration is 5 seconds

kling-v1-i2v generates videos at 720p resolution with 30fps frame rate for both std and pro modes

POST /v1/queue/kling-v1-i2v # Create task
GET /v1/queue/kling-v1-i2v/requests/{request_id}/status # Check status
GET /v1/queue/kling-v1-i2v/requests/{request_id}/response # Get result
PUT /v1/queue/kling-v1-i2v/requests/{request_id}/cancel # Cancel task
Окно терминала
curl --request 'POST' 'https://odirouter.ai/model/v1/queue/kling-v1-i2v' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--location \
--data-raw '{
"image": "https://www.gstatic.com/webp/gallery/2.jpg",
"prompt": "A cinematic drone shot over a misty mountain range at sunrise",
"negative_prompt": "blurry, low quality, distorted",
"cfg_scale": 0.5,
"mode": "std"
}'
image string required

Reference image. Supports Base64 encoded image or image URL (ensure accessibility)

If using Base64, ensure all image data parameters are Base64 encoded strings without prefixes like data:image/png;base64,. The correct format should be the Base64 encoded string directly

Image requirements:

Format: .jpg / .jpeg / .png

File size: max 10MB

Dimensions: min 300px width and height

Aspect ratio: between 1:2.5 ~ 2.5:1

image + image_tail parameters and dynamic_masks/static_mask parameters are mutually exclusive, cannot be used together

image_tail string

Reference image - tail frame control. Supports Base64 encoded image or image URL (ensure accessibility)

If using Base64, ensure all image data parameters are Base64 encoded strings without prefixes like data:image/png;base64,. The correct format should be the Base64 encoded string directly. Please only provide the Base64 encoded string portion so the system can correctly process and parse your data

Image requirements:

Format: .jpg / .jpeg / .png

File size: max 10MB

Dimensions: min 300px width and height

prompt string

Video generation prompt, length between 1-2500 characters

mode string

Video generation mode

std: Standard mode, basic mode, high cost-performance

pro: Expert mode (high quality), high performance mode, better generated video quality

Options: std, pro

Default: std

duration string

Video duration in seconds

Options: 5, 10

Default: 5

cfg_scale number

Freedom of generated video; larger value means less model freedom, stronger correlation with user input prompt

Range: 0 - 1

Default: 0.5

negative_prompt string

Negative prompt for specifying content you don't want in the generated video, max 2500 characters

static_mask string

Static brush mask area (mask image painted by user through motion brush)

"Motion brush" capability includes "dynamic brush dynamic_masks" and "static brush static_mask"

Supports Base64 encoded image or image URL (ensure accessibility, format requirements same as image field)

Image requirements:

Format: .jpg / .jpeg / .png

Aspect ratio must match input image (image field), otherwise task fails

Resolution of static_mask and dynamic_masks.mask must be identical, otherwise task fails

Note: Only supported when duration is 5 seconds

dynamic_masks array

Dynamic brush configuration list. Can configure multiple groups (max 6), each containing "mask area mask" and "motion trajectory trajectories" sequence

Note: Only supported when duration is 5 seconds

mask string

Dynamic brush mask area (mask image painted by user through motion brush)

Supports Base64 encoded image or image URL (ensure accessibility, format requirements same as image field)

Image requirements:

Format: .jpg / .jpeg / .png

Aspect ratio must match input image (image field), otherwise task fails

Resolution of static_mask and dynamic_masks.mask must be identical, otherwise task fails

trajectories array

Motion trajectory coordinate sequence

For 5s video, trajectory length max 77, coordinate count range: [2, 77]

Trajectory coordinate system uses image bottom-left corner as origin

Note 1: More coordinate points mean more accurate trajectory; with only 2 trajectory points, it's a straight line connecting these two points

Note 2: Trajectory direction follows input order, first coordinate is trajectory start, subsequent coordinates connect sequentially to form motion trajectory

x number

Trajectory point x-coordinate (pixel coordinate in 2D coordinate system, with input image bottom-left as origin)

y number

Trajectory point y-coordinate (pixel coordinate in 2D coordinate system, with input image bottom-left as origin)

watermark_info array

Whether to generate results with watermark simultaneously

Defined by enabled parameter, specific array format as follows:

"watermark_info": {

"enabled": boolean // true for generation, false for no generation

}

Custom watermarks are not currently supported

callback_url string

Callback notification address for this task result. If configured, the server will actively notify when task status changes

external_task_id string

Custom task ID

User-defined task ID. Input will not overwrite system-generated task ID, but supports task query through this ID

Please note, must ensure uniqueness under a single user

{
"request_id": "task_01hxyz...",
"response_url": "https://odirouter.ai/model/v1/queue/kling-v1-i2v/requests/task_01hxyz.../response",
"status_url": "https://odirouter.ai/model/v1/queue/kling-v1-i2v/requests/task_01hxyz.../status",
"cancel_url": "https://odirouter.ai/model/v1/queue/kling-v1-i2v/requests/task_01hxyz.../cancel",
"queue_position": 0
}
FieldTypeDescription
request_idstringTask ID used for all follow-up operations.
response_urlstringURL to fetch the final result.
status_urlstringURL to query task status.
cancel_urlstringURL to cancel the task.
queue_positionintCurrent queue position.