API Tips
When using video reference capability, only 3-10 seconds are supported
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_v3_omni_video
multi_shot boolean
Whether to generate 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
Default: false
shot_type string
Shot type
When multi_shot parameter is true, this parameter is required
Options: customize
prompt string
Video generation prompt, can include positive and negative descriptions. These prompts can be templated to meet different video generation needs
Video O3 model can achieve various capabilities through Prompt with subjects, images, videos and other content:
- Use
<<<>>>format to specify a subject, image, or video, e.g.,<<<element_1>>>,<<<image_1>>>,<<<video_1>>>
Max 2500 characters
When multi_shot parameter is false, this parameter cannot be empty
multi_prompt array
Multi-shot information, such as prompts and durations
Define shot sequence and corresponding prompts and durations via index, prompt, duration parameters:
- Supports up to
6shots, minimum1shot - Max length of each shot-related content does not exceed
512 - Duration of each shot is not greater than the total duration of the current task, and not less than
1 - Sum of durations of all shots equals the total duration of the current task
Format as key:value pairs:
"multi_prompt": [
{
"index": int,
"prompt": "string",
"duration": "5"
},
{
"index": int,
"prompt": "string",
"duration": "5"
}
]
When multi_shot parameter is true and shot_type parameter is customize, this parameter cannot be empty
image_list array
Reference image list, including element, scene, style reference images. Can also be used as first or last frame for video generation
When used as first or last frame for video generation:
- Use
typeparameter to define whether image is first or last frame:first_framefor first frame,end_framefor last frame - 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
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
When image count exceeds 2, end frame setting is not supported
image_url parameter value cannot be empty
image_url
stringImage URL or Base64 data
type
stringImage type
Options:
first_frame,end_frame
element_list array
Subject reference list, configured based on subject ID from subject library
To create a subject, refer to: kirin_custom_elements
Format as key:value pairs:
"element_list": [
{
"element_id": long
},
{
"element_id": long
}
]
Quantity limits:
When using first frame video generation or first and last frame video generation, max 3 subjects supported
With reference video: image count + element count ≤ 4, and video role subjects are not supported
Without reference video: image count + element count ≤ 7
Subjects are divided into video custom subjects (video role subjects) and image custom subjects (multi-image subjects), with different applicable scopes, please distinguish
element_id
integerSubject ID from subject library
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_typeto distinguish reference video type:featurefor feature reference video,basefor video to edit - When reference video is video to edit, cannot define first/last frame
- Use
keep_original_soundto choose whether to keep original audio:yesto keep,noto discard; this parameter also applies to feature reference video (feature)
When there is a reference video, sound parameter value can only be off
Format as key:value pairs:
"video_list": [
{
"video_url": "video_url",
"refer_type": "base",
"keep_original_sound": "yes"
}
]
Video requirements:
Format: MP4, MOV only
Duration: min 3 seconds, upper limit related to model version
Dimensions: between 720px (inclusive) and 2160px (inclusive)
Frame rate: 24-60fps, output will be 24fps
Max 1 video, size max 200MB
video_url parameter value cannot be empty
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
sound string
Whether to generate sound when generating video
Only V2.6 and later model versions support this parameter
Options: on, off
Default: off
mode string
Video generation mode
std: Standard mode (standard), basic mode, generates 720P video, cost-effective
pro: Professional mode (high quality), high performance mode, generates 1080P video, better video quality
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
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, 11, 12, 13, 14, 15
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 |
|---|---|
| 006001094 | Task resource insufficient |
| 006001095 | Task response error |
| 006001099 | Task creation error |