⌘K

Kirin Video O1

kirin_video_o1

Kirin Video O1 multimodal video generation interface, supports text, image, video and custom elements as multimodal inputs.

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 string

Image URL or Base64 data

image string

Image URL or Base64 data (compatible field)

type string

Image 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 string required

Video URL, supports MP4/MOV format

refer_type string

Reference video type

Options: feature, base

Default: base

keep_original_sound string

Whether 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 integer

Subject 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 string

Error code

error_message string

Detailed error message


output array

Generation results. Only present when status is completed.

content array

List of generated content

type string

Resource type, e.g., video, image

url string

Generated content URL

duration number

Video duration

jobId string

Remote job ID


usage object

Usage statistics. Only present when status is completed.

cost string

Total cost in USD

discount number

Discount amount


metadata object

Metadata information


Error Codes

Error CodeDescription
002015001Missing prompt
002015002Prompt exceeds 2500 character limit
002015095Internal generation error
002015096Result parsing error
002015097HTTP error response
002015098Status check error
002015099Task creation error