Kling Video O1
kling-video-o1
Kirin Video O1 multimodal video generation interface, supports text, image, video and custom elements as multimodal inputs.
Endpoints
Section titled “Endpoints”POST /v1/queue/kling-video-o1 # Create taskGET /v1/queue/kling-video-o1/requests/{request_id}/status # Check statusGET /v1/queue/kling-video-o1/requests/{request_id}/response # Get resultPUT /v1/queue/kling-video-o1/requests/{request_id}/cancel # Cancel taskRequest parameters
Section titled “Request parameters”curl --request 'POST' 'https://odirouter.ai/model/v1/queue/kling-video-o1' \ --header 'Authorization: Bearer YOUR_API_KEY' \ --header 'Content-Type: application/json' \ --location \ --data-raw '{ "prompt": "A clean studio shot of a red apple on a white table, soft natural light.", "mode": "pro", "aspect_ratio": "16:9", "duration": "5"}'Video generation prompt, can include positive and negative descriptions. These prompts can be templated to meet different video generation needs. Max 2500 characters
Use <<<>>> format to reference subjects, images, or videos, e.g., <<<element_1>>>, <<<image_1>>>, <<<video_1>>>
Reference image list, including element, scene, style reference images. Can also be used as first or last frame for video generation
Use type parameter to define whether image is first or last frame: first_frame for first frame, end_frame for last frame
Notes:
Currently does not support setting only end frame; when end frame exists, first frame must also exist
When generating video with first/last frame, video editing function cannot be used
When image count exceeds 2, end frame setting is not supported
Supports Base64 encoded image or image URL (ensure accessibility)
Image requirements:
Format: .jpg, .jpeg, .png
File size: max 10MB
Dimensions: min 300px for width and height
Aspect ratio: between 1:2.5 ~ 2.5:1
Quantity limits:
With reference video: image count + element count ≤ 4
Without reference video: image count + element count ≤ 7
Image URL or Base64 data
Image URL or Base64 data (compatible field)
Image type
Options: first_frame, end_frame
Reference video, obtained via URL. Can be used as feature reference video or video to edit, defaults to video to edit. Can optionally keep original audio
Use refer_type to distinguish: feature for feature reference video, base for video to edit
When reference video is video to edit, cannot define first/last frame
Use keep_original_sound to keep original audio: yes to keep, no to discard; this parameter also applies to feature reference video
Video requirements:
Format: MP4, MOV only
Duration: 3-10 seconds
Dimensions: between 720px and 2160px
Frame rate: 24-60fps, output will be 24fps
Max 1 video, size max 200MB
Video URL, supports MP4/MOV format
Reference video type
Options: feature, base
Default: base
Whether to keep original audio
Options: yes, no
Subject reference list, configured based on subject ID from subject library
To create a subject, refer to: kirin_custom_elements
Quantity limits:
With reference video: image count + element count ≤ 4
Without reference video: image count + element count ≤ 7
Subject ID from subject library
Video generation mode
std: Standard mode, cost-effective
pro: Professional mode, longer video duration with higher quality output
Options: std, pro
Default: pro
Video aspect ratio (width:height)
Required when not using first frame reference or video editing function
Options: 16:9, 9:16, 1:1
Video duration in seconds, Omni supports 3-10 seconds
For text-to-video or first frame image-to-video: only 5 and 10 seconds supported
When using video editing function (refer_type: base), output duration matches input video duration, this parameter is invalid; billing is based on input video duration rounded to nearest second
Options: 3, 4, 5, 6, 7, 8, 9, 10
Default: 5
Whether to generate results with watermarks simultaneously
Defined via the enabled parameter, specific format as follows:
"watermark_info": {
"enabled": boolean // true for generation, false for no generation
}
Custom watermarks are not currently supported
Callback notification address for this task result. If configured, the server will actively notify when the task status changes
Custom task ID
User-defined task ID, will not overwrite the system-generated task ID when provided, but supports task query via this ID
Please note that uniqueness must be ensured under a single user
Response parameters
Section titled “Response parameters”{ "request_id": "task_01hxyz...", "response_url": "https://odirouter.ai/model/v1/queue/kling-video-o1/requests/task_01hxyz.../response", "status_url": "https://odirouter.ai/model/v1/queue/kling-video-o1/requests/task_01hxyz.../status", "cancel_url": "https://odirouter.ai/model/v1/queue/kling-video-o1/requests/task_01hxyz.../cancel", "queue_position": 0}| Field | Type | Description |
|---|---|---|
request_id | string | Task ID used for all follow-up operations. |
response_url | string | URL to fetch the final result. |
status_url | string | URL to query task status. |
cancel_url | string | URL to cancel the task. |
queue_position | int | Current queue position. |