Kwaivgi Kling Video O3 4k Text To Video
Playground
Try it on WavespeedAI!Kling Video O3 4K generates cinematic 4K videos from text prompts with subject consistency, natural physics simulation, and precise semantic understanding. Supports multi-prompt scene transitions, element references, and optional audio generation. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.
Features
Kling Video O3 4K Text-to-Video
Kling Video O3 4K is Kuaishou’s flagship text-to-video model, delivering cinematic 4K 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.
- Need to animate an image? Try Kling Video O3 4K Image-to-Video
- Looking for a lower-cost option? Try Kling Video 2.1 Text-to-Video
Why Choose This?
-
4K cinematic output Produces richly detailed 4K 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 duration and aspect ratios Duration from 3 to 15 seconds. Supports 16:9, 9:16, and 1:1 aspect ratios.
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 (3-15, default: 5). |
| sound | No | Whether to generate synchronized audio for the video. Default: off. |
| shot_type | No | Editing mode: customize (default) or intelligent. |
| 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.
- Select aspect ratio — choose 16:9 for cinematic/landscape, 9:16 for portrait/social, or 1:1 for square formats.
- Set duration — choose 3 to 15 seconds based on your scene length.
- Enable sound (optional) — check the sound option to generate matching audio alongside the video.
- Select shot_type (optional) — use intelligent for automatic scope, or customize for manual control.
- 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
$0.42 per second of video, regardless of whether audio is on or off.
| Duration | Cost |
|---|---|
| 3s | $1.26 |
| 5s | $2.10 |
| 10s | $4.20 |
| 15s | $6.30 |
Best Use Cases
- Cinematic Storytelling — Render rich, narrative-driven scenes from detailed prompts with 4K 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 short duration to validate your prompt before committing to a longer run.
- Use element_list to lock in key visual details that must remain consistent throughout the video.
Notes
- Only prompt is required; all other parameters are optional.
- Duration range: 3 to 15 seconds.
- Audio does not affect pricing — $0.42 per second regardless.
- Please follow Kuaishou’s content usage policies when crafting prompts.
Related Models
- Kling Video O3 4K Image-to-Video — Animate a still image into a cinematic 4K video.
- Kling Video O3 4K Reference-to-Video — Generate video from reference images with identity consistency.
- Kling Elements — Create reusable visual elements for consistent character and object rendering.
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-4k/text-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"aspect_ratio": "16:9",
"duration": 5,
"sound": false,
"shot_type": "customize"
}'
# 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 | No | - | 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. |
| shot_type | string | No | customize | customize, intelligent | Shot type for the generation. |
| 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 |