Skip to content

Kling Video O3 Pro

POST/v1/run

Kling Video O3 Pro is KwaiVGI's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output.

Request body

Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.

stringmodelrequired

Model identifier. Set to kwaivgi/kling-video/o3/pro/reference-to-video.

Default: kwaivgi/kling-video/o3/pro/reference-to-video

stringpromptrequired

Text prompt for video generation. Either prompt or multi_prompt must be provided, but not both.

stringimagerequired

Image to use as the first frame of the video.

Optional<array<string>>images

Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.

Optional<string>end_image

Image to use as the last frame of the video.

Optional<integer>duration

Video duration in seconds (3-15s).

Allowed values: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

Default: 5

Optional<boolean>generate_audio

Whether to generate native audio for the video.

Default: false

Optional<string>shot_type

The type of multi-shot video generation. 'intelligent' lets the model automatically determine shot structure.

Allowed values: customize, intelligent

Default: customize

Optional<array<object>>multi_prompt

List of prompts for multi-shot video generation.

Optional<string>aspect_ratio

The aspect ratio of the generated image.

Allowed values: 16:9, 9:16, 1:1

Response Schema

The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.

stringidrequired

Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.

stringstatusrequired

Current public run status.

Allowed values: pending, running, completed, failed, timeout

Optional<string>model

Public SandBase model name used for this run.

Optional<array<object>>outputs

Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.

Optional<object>error

Present only for failed or timeout runs. Contains a public error type and sanitized message.

Optional<string>error.type

Stable public error category.

Optional<string>error.message

Sanitized error message safe to show to clients.

Optional<object>usage

Usage details when available.

Model capabilities

array<string>capability_tagsrequired

Capabilities declared by the model registry.

Default: image-to-video

stringexecution_moderequired

Execution mode declared by the model registry.

Default: async