Kling Video O3 4K Text to Video API

Kling Video O3 4k is KwaiVGI's text-to-video AI model. Turn written scripts and prompts into professional-quality video clips with realistic motion, lighting, and scene composition.

Text to Video4K Video

Provider

Kling

Billing

Provider cost

ScalingTensor price

≈ $2.10 per clip, reference price

Playground

Try Kling Video O3 4K Text to Video

Edit the params, add your API key and run the model here. The result plays on this page when the job completes.

Input

Used for this request only and never stored. Get a key

Running a request charges your wallet: ≈ $2.10 per clip, reference price.

Output

preview

Request summary

Endpoint
POST /api/media/generate
Model ID
kwaivgi/kling-video/o3/4k/text-to-video
prompt
A mecha lands on the ground to save the city, and says "I'm here", in anime style
duration
5
shot_type
customize
generate_audio
false

Need chat models, job lookups or the raw response? Open the full playground.

Pricing

Kling Video O3 4K Text to Video API pricing

Prices come from the live catalog. There is no subscription; each request is charged to your prepaid wallet.

ScalingTensor price

Provider cost

Live catalog price

≈ $2.10

per clip, reference price

Billed at the provider's actual cost; a typical clip is listed at $2.10. Your usage log shows the exact charge.

Compare all model prices

Shared balance

Add credits

Top up

One wallet and one API key for every model in the catalog. Top-ups start at $10 and are paid through Stripe.

Parameters

Input parameters

These parameters belong inside the request body's params object.

Input parameters
nametyperequireddescription
promptstringRequiredText prompt for video generation. Required unless multi_prompt is provided. · Max length: 2500
durationintegerOptionalVideo duration in seconds (3-15s). · Options: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 · Default: 5
shot_typestringOptionalThe type of multi‑shot video generation. 'intelligent' lets the model automatically determine shot structure. · Options: customize, intelligent · Default: "customize"
aspect_ratiostringOptionalThe aspect ratio of the generated image. · Options: 16:9, 9:16, 1:1
multi_promptobject[]OptionalList of prompts for multi‑shot video generation.
generate_audiobooleanOptionalWhether to generate native audio for the video. · Default: false

Output fields

Output fields
nametypedescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine‑readable error type code
error.messagestringHuman‑readable error description

API

Call Kling Video O3 4K Text to Video from your code

Create a key in the console and call the API from your server using the apiKey header. Save data.jobId and poll GET /api/media/result?jobId=... with the same key; a code of 0 means success.

POST /api/media/generate
curl --request POST 'https://restapi.scalingtensor.com/api/media/generate' \
  --header 'apiKey: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "model": "kwaivgi/kling-video/o3/4k/text-to-video",
  "params": {
    "prompt": "A mecha lands on the ground to save the city, and says \"I'\''m here\", in anime style",
    "duration": 5,
    "shot_type": "customize",
    "generate_audio": false
  }
}'
const response = await fetch("https://restapi.scalingtensor.com/api/media/generate", {
  method: "POST",
  headers: {
    apiKey: process.env.SCALINGTENSOR_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "kwaivgi/kling-video/o3/4k/text-to-video",
    "params": {
      "prompt": "A mecha lands on the ground to save the city, and says \"I'm here\", in anime style",
      "duration": 5,
      "shot_type": "customize",
      "generate_audio": false
    }
  }),
});

const result = await response.json();
if (!response.ok || result.code !== 0) {
  throw new Error(result.msg || `Request failed: ${response.status}`);
}
console.log(result.data); // Save data.jobId to query /api/media/result
import os
import requests

payload = {
    "model": "kwaivgi/kling-video/o3/4k/text-to-video",
    "params": {
        "prompt": "A mecha lands on the ground to save the city, and says \"I'm here\", in anime style",
        "duration": 5,
        "shot_type": "customize",
        "generate_audio": False,
    },
}

response = requests.post(
    "https://restapi.scalingtensor.com/api/media/generate",
    headers={"apiKey": os.environ["SCALINGTENSOR_API_KEY"]},
    json=payload,
    timeout=60,
)
result = response.json()
if result["code"] != 0:
    raise RuntimeError(result["msg"])
print(result["data"])  # Save data["jobId"] to query /api/media/result

API documentation · This page as Markdown · Markdown API reference

Related models

Kling Video O3 4K Text to Video API FAQ

How much does the Kling Video O3 4K Text to Video API cost?

Kling Video O3 4K Text to Video is billed at the provider's actual cost for each job (per clip, reference price). The charge is deducted from your prepaid ScalingTensor wallet.

How do I call the Kling Video O3 4K Text to Video API?

Send POST /api/media/generate with "model": "kwaivgi/kling-video/o3/4k/text-to-video" and the parameters in a params object, using your apiKey header. The call returns a jobId. Poll GET /api/media/result?jobId=... until the status is completed, then read the output URL from the result.

Which parameters does Kling Video O3 4K Text to Video accept?

Required: prompt. Optional: duration, shot_type, aspect_ratio, multi_prompt and generate_audio. The parameter table on this page describes each one.

Do I need a Kling account to use Kling Video O3 4K Text to Video?

No. You call Kling Video O3 4K Text to Video with your ScalingTensor API key and pay from your ScalingTensor wallet. The same key works for every other model in the catalog.