GPT-5.4 and GPT-5.4 Mini have been retired · Please switch to another available model
All models
Kling · Media API

Kling 3.0 API

Kling 3.0 is Kling's video route on OmniaKey: text to video and a first frame with an optional last frame, in a standard and a high-quality tier, at fixed lengths of 5, 10 or 15 seconds.

Model ID
kling-3.0
Provider
Kling
Modality
AI Video
Per successful call
$0.80–$3.00
Last verified
2026-09-16

01

Where it fits

Choose Kling 3.0 when the clip length is known up front: std costs $0.80/$1.60/$2.40 and pro $1.00/$2.00/$3.00 per generation for 5/10/15 seconds. mode is required on every request, and image-to-video takes its aspect ratio from the first frame.

02

What it does

Text to video

kling-3.0

Generate a short video clip from a text prompt.

Image to video

kling-3.0

Animate a still image into a short video clip.

03

Call it

Media models run asynchronously. Create a task, poll it until it finishes, then download the signed asset URL.

Create, poll, download
# 1. Create the job. 202 Accepted; the body carries the task id,
#    the pre-charged price, and a poll_url. Reuse one Idempotency-Key
#    across retries so a timeout never starts a second paid job.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks \
  -H "Authorization: Bearer $OMNIAKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: kling-3.0-001" \
  -d '{
    "model": "kling-3.0",
    "type": "video",
    "operation": "text_to_video",
    "input": {"prompt": "a paper boat on a quiet lake at sunset"},
    "parameters": {"duration": 6, "resolution": "720p"}
  }'

# 2. The same model id and the same poll loop serve the other operations:
#      image_to_video         media[] type "first_frame"
#    Reference media travel alongside the prompt:
#    {"prompt": "...", "media": [{"type": "first_frame", "url": "https://example.com/first-frame.png"}]}
#    A public HTTPS URL or a base64 data URI both work.

# 3. Poll GET /v1/media/tasks/{id} until status is
#    succeeded | failed | canceled. Progress carries percent and stage.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks/TASK_ID \
  -H "Authorization: Bearer $OMNIAKEY_API_KEY"

# 4. Download assets[0].url before expires_at, or poll again for a
#    fresh signed URL. Failed and canceled jobs are refunded.
curl -sS -o out.mp4 "$(jq -r '.assets[0].url' result.json)"

04

Pricing

Video jobs are billed per second of rendered output, not per token. Failed or canceled jobs are refunded automatically.

Per successful call

$0.80–$3.00per call

mode | duration

std|5
$0.80per call
std|10
$1.60per call
std|15
$2.40per call
pro|5
$1.00per call
pro|10
$2.00per call
pro|15
$3.00per call

More models from Kling

Kling 3.0 Turbo

kling-3-turbo

Frequently asked questions

How do I call Kling 3.0 on OmniaKey?

POST to /v1/media/tasks with the model id, type "video", and operation "text_to_video" — or "image_to_video" with a first frame in input.media[] with type "first_frame". Reuse one Idempotency-Key across retries so a timeout never starts a second paid job.

What does Kling 3.0 cost?

Kling 3.0 bills $0.80–$3.00 per call of rendered video. Creation pre-charges the requested duration up front from your prepaid balance, and failed or canceled jobs are refunded automatically.

Why does the API return a task id instead of the video?

Video renders take from about a minute to several minutes, so OmniaKey runs every video route through one asynchronous lifecycle. Poll GET /v1/media/tasks/{id} until the status is succeeded, then read the signed asset URL.

Kling 3.0 API — async video generation · OmniaKey