
Video model in Standard or Pro modes with Text-to-Video, Image-to-Video, Reference-to-Video, editing, native sound, and multi-scene transitions.
Video model in Standard or Pro modes with Text-to-Video, Image-to-Video, Reference-to-Video, editing, native sound, and multi-scene transitions.
kling-o3POST /v1/videos/generationsLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
Kling O3 runs through POST /v1/videos/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/videos/generations \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-o3",
"prompt": "Describe what you want Kling O3 to generate."
}'curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY"import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/videos/generations",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={
"model": "kling-o3",
"prompt": "Describe what you want Kling O3 to generate.",
},
)
job = response.json()
# Generation runs as an async job. Poll until it completes.
import time
while True:
status = requests.get(
f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
).json()
if status.get("status") in ("completed", "failed"):
print(status)
break
time.sleep(5)Request parameters supported by the Kling O3 API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| prompt | string | - | - | Multi-scene: pipe (|) or newline-separated prompts, optionally prefixed with duration like '5s: scene text'. Up to 6 scenes. |
| model_tier | enum | pro | standard, pro, 4k | standard: cheapest. pro: balanced quality. 4k: highest fidelity, longest render. |
| workflow | enum | auto | auto, t2v, i2v, video_edit, reference | auto: detect from inputs. t2v: text-to-video. i2v: image-to-video. video_edit: edit attached video. reference: use reference_images or reference_videos. |
| aspect_ratio | enum | 16:9 | 16:9, 1:1, 9:16 | Kling O3 supports landscape, square, and portrait only. |
| duration | number | 5 | 3 to 15 | Per-scene duration in seconds. |
| sound | boolean | true | - | Generate native audio with the video. |
| keep_original_sound | boolean | true | - | video_edit only. Keep audio from the source video. |
| image | string | - | - | Reference image URL for i2v. |
| image_end | string | - | - | Optional last-frame image URL for image-to-video. |
| video | string | - | - | Source video URL for video_edit. |
| reference_images | string | - | - | Comma-separated image URLs for reference workflow. |
| reference_videos | string | - | - | Comma-separated video URLs for reference workflow. |
Video model in Standard or Pro modes with text-to-video, image-to-video, reference-to-video, editing, native sound, and multi-scene transitions.
On EmpirioLabs, Kling O3 is billed pay as you go: Standard T2V/I2V $0.168 per second; Standard T2V/I2V Sound $0.224 per second; Standard Video Input $0.252 per second. The live rate card on this page always matches what the API charges.
Kling O3 is served through POST /v1/videos/generations on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs Kling O3 in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Explore our models, or contact us about business inquiries, custom deployments, or anything else.