Kwaivgi Kling Video O3 Pro Text To Video
Playground
Try it on WavespeedAI!Kling Omni Video O3 is Kuaishou’s advanced unified multi-modal video model with MVL (Multi-modal Visual Language) technology. Text-to-Video mode generates cinematic videos from text prompts with subject consistency, natural physics simulation, and precise semantic understanding. Supports audio generation. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.
Features
Kling Video O3 Pro Text-to-Video
Kling Video O3 Pro is Kuaishou’s flagship text-to-video model, delivering cinematic-quality video generation from natural language prompts. It combines physics-aware motion simulation, high temporal consistency, and optional synchronized audio generation to produce professional-grade video content from detailed text descriptions.
- Need to animate an image? Try Kling Video O3 Pro Image-to-Video
Why Choose This?
-
Cinematic-quality output Produces richly detailed, visually coherent video with professional-grade lighting, composition, and motion rendering.
-
Physics-aware motion Understands real-world dynamics — fluid movement, fabric, hair, and object interactions behave naturally and believably.
-
Synchronized audio generation Enable the sound option to generate matching ambient audio, sound effects, and atmosphere alongside your video.
-
Multi-prompt support Chain multiple prompt segments to guide scene transitions and narrative flow within a single generation.
-
Element list control Reference specific visual elements to maintain consistency in characters, objects, or stylistic details across the clip.
-
Flexible aspect ratios Supports multiple orientations including 16:9, 9:16, and 1:1 for social, cinematic, and square formats.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text description of the scene, action, camera style, lighting, and mood. |
| aspect_ratio | No | Output aspect ratio. Options: 16:9, 9:16, 1:1. |
| duration | No | Clip length in seconds. Options: 5, 10. |
| sound | No | Whether to generate synchronized audio for the video. Default: off. |
| multi_prompt | No | Additional prompt segments to guide scene progression and transitions. |
| element_list | No | List of specific visual elements to maintain across the generation. |
How to Use
- Write your prompt — describe the scene, characters, camera movement, lighting style, and mood in detail. Use the Prompt Enhancer for better results.
- Select aspect ratio — choose 16:9 for cinematic/landscape, 9:16 for portrait/social, or 1:1 for square formats.
- Set duration — choose 5 or 10 seconds based on your scene length.
- Enable sound (optional) — check the sound option to generate matching audio alongside the video.
- Add multi-prompt segments (optional) — click Add Item to guide scene transitions with additional prompts.
- Add element list items (optional) — specify visual elements to maintain consistency throughout the clip.
- Submit — generate, preview, and download your video.
Pricing
| Duration | Without Sound | With Sound |
|---|---|---|
| 5s | $0.56 | $0.70 |
| 10s | $1.12 | $1.40 |
Billing Rules
- Base rate: $0.112 per second
- Sound surcharge: +25% when sound is enabled
- Duration options: 5 or 10 seconds
- Billing is based on the selected duration and sound setting
Best Use Cases
- Cinematic Storytelling — Render rich, narrative-driven scenes from detailed prompts with broadcast-quality output.
- Commercial & Brand Video — Produce premium marketing footage without a film crew.
- Social Media Content — Generate portrait or square clips with synchronized audio for maximum engagement.
- Concept Visualization — Bring creative directions, moods, and visual concepts to life quickly for client review.
- Music & Audio-Visual Projects — Use sound generation for immersive, atmosphere-driven clips.
Pro Tips
- The more specific your prompt, the better — include camera angle, lighting era, character behavior, and atmosphere.
- Use multi_prompt to create smooth narrative progressions across a single clip.
- Enable sound when generating scenes with ambient environments, crowds, or action for a more immersive result.
- Start with a 5-second generation without sound to validate your prompt before committing to a longer, audio-enabled run.
- Use element_list to lock in key visual details that must remain consistent throughout the video.
Notes
- Only prompt is a required field; all other parameters are optional.
- Sound generation adds 25% to the base cost.
- Please follow Kuaishou’s content usage policies when crafting prompts.
- Using element_list: First use Kling Elements to generate your element and note its name and ID. Then simply write the element name naturally in your prompt, and enter the corresponding element ID in the element_list field. No special characters or syntax required.
Related Models
- Kling Video O3 Pro Image-to-Video — Animate a still image into a cinematic video with the same O3 Pro quality.
- Kling Video 2.1 Text-to-Video — Lower-cost alternative for faster iteration.
- Kling Video O3 Pro Image-to-Video — Start from a reference image for greater visual control.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/kwaivgi/kling-video-o3-pro/text-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"aspect_ratio": "16:9",
"duration": 5,
"sound": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| aspect_ratio | string | No | 16:9 | 16:9, 9:16, 1:1 | The aspect ratio of the generated video. |
| duration | integer | No | 5 | 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | The duration of the generated media in seconds (3-15). |
| sound | boolean | No | false | - | Whether to generate audio for the video. |
| multi_prompt | array | No | - | - | List of multi-prompt elements for the generation. |
| element_list | array | No | - | - | Element reference list. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |