Kling Image-to-Video kling-v3
Submit a Kling image-to-video task via /kling/v1/videos/image2video. The request body is forwarded to the Kling official API after model mapping and public task ID injection.
Authorizations
Pass Authorization: Bearer <token> in the request header.
Headers
Data exchange format
Body
Model name
kling-v3 Positive text prompt
- Must not exceed 2500 characters
- Must not be empty when multi_shot is false or shot_type is intelligence.
- Use <<<voice_1>>> to specify a voice, with the index matching the order of voices referenced in voice_list
- Up to 2 voices per video generation task; when specifying voices, sound must be 'on'
- Keep syntax as simple as possible, e.g.: A man<<<voice_1>>>says: "Hello"
- When voice_list is not empty and prompt references a voice ID, billing is based on 'with specified voice'
2500Reference image
- Supports image Base64 encoding or image URL (must be accessible)
- Note: Please ensure all image data parameters use Base64 encoding format. When using Base64, do not add any prefix (such as data:image/png;base64,) before the Base64 string — pass the Base64 encoded string directly.
- Correct Base64 parameter:
iVBORw0KGgoAAAANSUhEUgAAAAUA...
- Incorrect Base64 parameter (contains data: prefix):
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...
- Supported image formats: .jpg / .jpeg / .png
- Image file size must not exceed 10MB, image dimensions must be at least 300px, aspect ratio between 1:2.5 ~ 2.5:1
- At least one of image or image_tail must be provided; both cannot be empty
Reference image - tail frame control
- Supports image Base64 encoding or image URL (must be accessible)
- Note: When using Base64, do not add any prefix (such as data:image/png;base64,) before the Base64 string — pass the Base64 encoded string directly.
- Supported image formats: .jpg / .jpeg / .png
- Image file size must not exceed 10MB, image dimensions must be at least 300px
- At least one of image or image_tail must be provided; both cannot be empty
- image_tail and dynamic_masks/static_mask are mutually exclusive; cannot be used together
Whether to generate a multi-shot video. When this parameter is true, the prompt parameter is invalid. When this parameter is false, the shot_type and multi_prompt parameters are invalid.
Shot type Required when multi_shot is true.
customize, intelligence Multi-shot information including prompt, duration, etc. Define shot index and corresponding prompt and duration via index, prompt, duration parameters.
- Max 6 shots, min 1 shot.
- Max length per shot content: 512 characters.
- Each shot duration must not exceed total task duration and must be >= 1.
- Sum of all shot durations must equal total task duration.
When multi_shot is true and shot_type is customize, this parameter must not be empty. Format:
Required when multi_shot is true and shot_type is customize.
1 - 6 elementsNegative text prompt
- Must not exceed 2500 characters
- It is recommended to supplement negative prompt information through negative sentences in the positive prompt
2500Element reference list, configured based on element IDs in the element library.
- Up to 3 reference elements
Elements are divided into video character elements and multi-image elements, with different applicable scopes.
- Use key:value format:
3Voice list referenced during video generation.
- Up to 2 voices per video generation task
- When voice_list is not empty and prompt references a voice ID, billing is based on 'with specified voice'
- element_list and voice_list are mutually exclusive; cannot coexist
Use key:value format:
2Whether to also generate audio when creating the video
on, off Creative freedom of video generation; higher values result in less model freedom and stronger correlation with the user's input prompt
0 <= x <= 1Video generation mode
- std: Standard mode, cost-effective, output video resolution 720P.
- pro: Expert mode (high quality), better video quality, output video resolution 1080P.
- 4k: 4K mode, high quality (same as pro), better video quality, output video resolution 4K.
std, pro, 4k Static brush mask area (mask image painted by the user via motion brush)
The "motion brush" feature includes both "dynamic brush dynamic_masks" and "static brush static_mask"
- Supports image Base64 encoding or image URL (must be accessible, same format requirements as the image field)
- Supported image formats: .jpg / .jpeg / .png
- Image aspect ratio must match the input image (i.e., the image field), otherwise the task will fail
- The resolution of static_mask and dynamic_masks.mask must be identical, otherwise the task will fail
Dynamic brush configuration list
- Can configure multiple groups (up to 6), each containing a "mask area" and "motion trajectories" sequence
6Video duration in seconds.
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Whether to also generate a watermarked result.
Callback notification URL for this task. If configured, the server will proactively notify when the task status changes.
Custom task ID.
- Does not override the system-generated task ID, but supports querying by this ID.
- Must be unique per user.