
The faster, lower-cost Kling 4.0: 3 to 20 second clips at 720p with native audio from text, a first frame, reference images and videos, or a video to edit.
The faster, lower-cost Kling 4.0: 3 to 20 second clips at 720p with native audio from text, a first frame, reference images and videos, or a video to edit.
Also known as Kling Flash, Kling AI Kling 4.0 Flash
kling-4-0-flash/v1/videos/generationskling-4.0-flashkling/kling-4-0-flashLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
Kling 4.0 Flash 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-4-0-flash",
"prompt": "Describe what you want Kling 4.0 Flash 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-4-0-flash",
"prompt": "Describe what you want Kling 4.0 Flash 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 4.0 Flash API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| prompt | string | - | - | Scene description, up to 26,000 English or 11,000 non-English characters. Refer to reference images as @image_1, @image_2 and videos as @video_1 in the order they... |
| resolution | enum | 720p | 720p | Output resolution. |
| aspect_ratio | enum | 16:9 | 16:9, 9:16, 1:1, 21:9 | Output aspect ratio for text-to-video and references. A first frame on its own, or a video to edit, sets the aspect ratio instead. |
| duration | number | 5 | 3 to 20 | Clip length in seconds, whole numbers only. A video edit keeps the length of the video it edits. |
| image | string | - | - | First frame image URL. The video starts on this image. |
| reference_images | string | - | - | Reference image URLs for characters, objects, scenes or style, as a list or comma-separated. Up to 10 images in total. |
| video | string | - | - | Video URL to edit, 3 to 20 seconds. The result keeps its length, and bills at the video input rate. |
| reference_videos | string | - | - | Reference video URLs for motion, camera work or style, 3 to 20 seconds each and 20 seconds of video in total, as a list or comma-separated. Up to 5 videos in total.... |
Generates 3 to 20 second clips at 24 fps in 720p, each with a native stereo audio track.
One attached image is the first frame, and two or more are references. The first attached video is the one edited; any others are references.
On EmpirioLabs, Kling 4.0 Flash is billed pay as you go: Standard 720p $0.094 per second; Video input 720p $0.063 per second of input plus output, at least twice the output. The live rate card on this page always matches what the API charges.
Kling 4.0 Flash is served through POST /v1/videos/generations on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs Kling 4.0 Flash 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.
Check out our pricing or reach out if you want your own model deployed on our stack.