Kling Omni Video O1 (Standard) is Kuaishou's first 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. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.
Idle
$0.42per run·~23 / $10
Neon reflections shimmer on the glass door of a small convenience store at night. Inside, a young cashier stacks instant ramen while a tiny radio plays old pop music. Refrigerators hum steadily, and their soft buzzing fills the empty aisles. A college student walks in, brushing raindrops off his jacket. As he grabs an energy drink, he jokes, "You must think I live here at this point." The cashier laughs: "Third time today. Finals week must be brutal." Their voices feel natural, grounded, mixed with the beeping of the barcode scanner. As he pays, he sighs, "If I survive this exam, I'm coming back for every snack in this store." The cashier replies, "Deal—just don't drink all the coffee tonight." Rain taps against the glass again as he leaves, the small bell chiming above the door before the scene fades.
Soft afternoon light filters through tall trees as a young woman sits on a park bench tying the shoelaces of her running shoes. A golden retriever circles her excitedly, its collar jingling. A distant fountain splashes rhythmically while children laugh somewhere off-screen. The dog nudges a bright red ball toward her. She picks it up and tosses it across the grass. Leaves rustle; birds chirp overhead. The camera follows the dog's sprint in a smooth tracking shot as it bounds joyfully toward the ball, gripping it in its mouth before racing back. Returning to the bench, the dog drops the ball into her hands and flops against her legs with a satisfied huff. Wind brushes through the nearby bushes, and bicycles pass faintly in the distance. She pats its head, smiling softly as the ambient park noises settle into a peaceful hush.
A young man sits motionless in the subway carriage, surrounded by blurred figures hurrying past in a flurry of movement.
A character adorned with blooming flowers and wearing a black top hat dances gracefully across the frame, with the camera gliding smoothly to follow every movement. A soft, warm golden glow emanates from the character’s figure, drifting gently in sync with the dance—blending seamlessly with light and shadow to weave a dreamlike, mysterious atmosphere brimming with poetic charm and visual dynamism.
A mechanical butterfly flutters through an abandoned library, its wings projecting holographic ancient text that illuminates dusty bookshelves. Cyberpunk style, warm orange and cool blue contrasting light, 8K ultra HD, cinematic quality, dynamic tracking shot following the butterfly's flight.
Kling Omni Video O1 is Kuaishou's unified multi-modal video generation model, optimized for stable production use and cost efficiency. The Text-to-Video mode transforms natural language prompts into high-quality videos with coherent motion, accurate semantic understanding, and consistent visual output.
The model supports multiple video generation and editing workflows within a single system:
The model interprets instructions through MVL, enabling understanding of:
Maintains stable characters, objects, and scene attributes across frames, ensuring reliable and repeatable results suitable for production workflows.
Example: "A young woman walking through a neon-lit Tokyo street at night, rain reflecting city lights, cinematic tracking shot"
Set Parameters Choose the desired duration, and aspect ratio.
Generate Submit the request and receive a coherent video generated from text.
| duration | price |
|---|---|
| 5s | $0.42 |
| 10s | $0.84 |
Billed based on the selected output duration. Pricing is optimized for standard production workloads.
kwaivgi/kling-video-o1-std — Video Edit — Edit videos with natural-language instructions for precise, context-aware changes like object removal, scene adjustments, and style refinement while preserving motion consistency.
kwaivgi/kling-video-o1-std — Reference to Video — Generate new videos guided by a reference video to match its style, identity, or motion patterns, ideal for consistent visual storytelling and content iteration.
kwaivgi/kling-video-o1-std — Image to Video — Animate a single image into a high-quality video clip with smooth motion and coherent scene continuity, perfect for marketing creatives and social content.
Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/kwaivgi/kling-video-o1-std/text-to-video with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Kling Video O1 Std Text To Video below.
set -euo pipefail
: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"
REQUEST_BODY=$(cat <<'JSON'
{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "16:9",
"duration": 5
}
JSON
)
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/kwaivgi/kling-video-o1-std/text-to-video" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d "$REQUEST_BODY")
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
created|processing) sleep 2 ;;
*) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
esac
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/kwaivgi/kling-video-o1-std/text-to-video";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "16:9",
"duration": 5
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
`https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
await new Promise(resolve => setTimeout(resolve, 2000));
}import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "16:9",
"duration": 5
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/kwaivgi/kling-video-o1-std/text-to-video", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout"}:
raise RuntimeError(result)
if status not in {"created", "processing"}:
raise RuntimeError(f"Unexpected status: {status}")
time.sleep(2)Kling Video O1 Std Text To Video is a Kuaishou model for video generation, exposed as a REST API on WaveSpeedAI. Kling Omni Video O1 (Standard) is Kuaishou's first 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. Ready-to-use REST API, best performance, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.
POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/kwaivgi/kwaivgi-kling-video-o1-std-text-to-video.
Kling Video O1 Std Text To Video starts at $0.42 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.
Key inputs: `prompt`, `aspect_ratio`, `duration`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/kwaivgi/kwaivgi-kling-video-o1-std-text-to-video.
Sign up for a free WaveSpeedAI account to claim starter credits, copy your API key from /accesskey, then call the endpoint shown in the API tab of the playground. The playground also auto-generates a code sample in Python, JavaScript, or cURL for the parameters you've set.
Commercial usage rights depend on the model's license, set by its provider (Kuaishou). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.