Authentication
authorization string required
All APIs require authentication via Bearer Token.
Get API Key:
Visit API Key Management Page to get your API Key.
Usage:
Add to request header:
Authorization: Bearer YOUR_API_KEY
Parameters
model string required
Model ID to use for the request.
Value: kirin_video_o1
prompt string required
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>>>
image_list array
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
stringImage URL or Base64 data
image
stringImage URL or Base64 data (compatible field)
type
stringImage type
Options:
first_frame,end_frame
video_list array
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
stringrequiredVideo URL, supports MP4/MOV format
refer_type
stringReference video type
Options:
feature,baseDefault:
base
keep_original_sound
stringWhether to keep original audio
Options:
yes,no
element_list array
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
element_id
integerSubject ID from subject library
mode string
Video generation mode
std: Standard mode, cost-effective
pro: Professional mode, longer video duration with higher quality output
Options: std, pro
Default: pro
aspect_ratio string
Video aspect ratio (width:height)
Required when not using first frame reference or video editing function
Options: 16:9, 9:16, 1:1
duration string
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
watermark_info array
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_url string
Callback notification address for this task result. If configured, the server will actively notify when the task status changes
external_task_id string
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
Polling
Since video generation takes time, you need to poll the task status after creation
The initial response returns the task ID and initial status. The actual generation results must be obtained through polling the task status endpoint
Response Format
error object
Error information. Only present when status is failed.
code
stringError code
error_message
stringDetailed error message
output array
Generation results. Only present when status is completed.
content
arrayList of generated content
type
stringResource type, e.g.,
video,imageurl
stringGenerated content URL
duration
numberVideo duration
jobId
stringRemote job ID
usage object
Usage statistics. Only present when status is completed.
cost
stringTotal cost in USD
discount
numberDiscount amount
metadata object
Metadata information
Error Codes
| Error Code | Description |
|---|---|
| 002015001 | Missing prompt |
| 002015002 | Prompt exceeds 2500 character limit |
| 002015095 | Internal generation error |
| 002015096 | Result parsing error |
| 002015097 | HTTP error response |
| 002015098 | Status check error |
| 002015099 | Task creation error |