Model guide

Kling 4.0 API: price, 30 second clips and working code

Kling 4.0 is Kuaishou's newest video model: clips up to 30 seconds at 720p or 1080p, always with stereo sound, from text, a first and last frame or up to ten reference images. This guide covers what it does, what it costs per second and per clip, and requests you can run as they are.

What Kling 4.0 is good at

Kling 4.0 arrived on Revana at the end of October 2026. Compared with Kling 3.0, it doubles the longest clip, adds reference images and video to video to the main model, and lets you pick the frame shape.

  • Up to 30 seconds in one request. Long enough for a short scene with several shots, without stitching clips together.
  • The same character in every shot. Pass up to ten reference images of a person, product or place and the model keeps them consistent.
  • Sound on every clip. Speech, effects and ambience are generated with the picture, in stereo. There is no silent rate.
  • Vertical, square or cinema. 16:9, 9:16, 1:1 and 21:9, so a TikTok or Reels clip comes out in the right shape.
  • First and last frames. Fix where a shot starts and ends, for product reveals and transitions.

As with every current video model, exact on-screen text is unreliable, so add titles and captions in editing.

Inputs and limits

OptionKling 4.0
Model idkling-4.0
Taskstext to video, image to video, first and last frame, reference images and video to video
Resolution720p and 1080p
Duration3 to 30 s
Aspect ratio16:9, 9:16, 1:1 and 21:9
Reference imagesup to 10, in image_urls
Soundalways on, stereo
Routesthree routes

A field or value the model does not support is rejected with a 422 before anything is charged. The Kling 4.0 model page always shows the current options.

Kling 4.0 pricing (November 2026)

Kling 4.0 is billed per second of output video, with sound included. Jobs that take a video as input (video to video) have a lower rate.

Kling 4.0 price per second and per clip
ResolutionPer second5 s10 s30 sWith a video input / s
720p$0.135$0.675$1.35$4.05$0.08
1080p$0.20$1.00$2.00$6.00$0.12

Each job's price is held from your balance at submit and charged only if the job succeeds; the exact charge comes back as cost_usd. Credit packs and every other model's prices are on the pricing page.

Kling 4.0 or Kling 3.0?

Kling 4.0 and Kling 3.0 compared
Kling 4.0Kling 3.0
Longest clip30 s15 s
Resolution720p and 1080p720p, 1080p and 4K
Aspect ratio16:9, 9:16, 1:1, 21:9not listed
Reference imagesup to 10no (use Kling 3.0 Omni)
720p with sound / s$0.135$0.13
1080p with sound / s$0.20$0.17

Pick Kling 4.0 for long takes, vertical video and consistent characters; Kling 3.0 is slightly lower priced for short 16:9 clips and is the one to use for 4K. For other options, see Seedance 2.5 vs Veo 3.1 vs Kling 3.0.

Generate a vertical Kling 4.0 video

Send POST /v1/generations with "model": "kling-4.0". This request asks for a 10 second 9:16 clip at 720p with a line of dialogue, which costs $1.35.

cURL
export REVANA_API_KEY="sr_live_..."

# One Idempotency-Key per job, made once: resend with the same $KEY after a timeout, a 429 or a 5xx
KEY=$(uuidgen)

# 1. Submit the job (returns 202 with the generation id). max_cost_usd is your cap: the most it may cost.
curl https://api.revana.si/v1/generations \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $KEY" \
  -d '{
    "model": "kling-4.0",
    "input": {
      "prompt": "Vertical shot, rainy night in a small ramen shop. The cook slides a steaming bowl across the counter and says: \"Last one tonight.\" The customer smiles. Camera slowly pushes in. Rain on the window, sizzling pan, quiet city ambience.",
      "resolution": "720p",
      "aspect_ratio": "9:16",
      "duration": 10
    },
    "max_cost_usd": 3
  }'

# 2. Poll with the id from step 1 until status is "succeeded" or "failed".
#    A failed job is free; make a new KEY before you submit it again.
curl https://api.revana.si/v1/generations/gen_01JC4K9R2T \
  -H "Authorization: Bearer $REVANA_API_KEY"
Python
import os
import time
import uuid

import requests

API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
# One Idempotency-Key per job, made once. Resend after a timeout, a 429 or a 5xx with the
# same KEY: you get the same job back, never a second charge.
KEY = str(uuid.uuid4())

resp = requests.post(f"{API}/generations", headers={**HEADERS, "Idempotency-Key": KEY}, json={
    "model": "kling-4.0",
    "input": {
        "prompt": "Vertical shot, rainy night in a small ramen shop. The cook slides a steaming bowl across the counter and says: \"Last one tonight.\" The customer smiles. Camera slowly pushes in. Rain on the window, sizzling pan, quiet city ambience.",
        "resolution": "720p",
        "aspect_ratio": "9:16",
        "duration": 10,
    },
    "max_cost_usd": 3,  # your cap: the most this job may cost
})
resp.raise_for_status()
job = resp.json()

while job["status"] in ("queued", "running"):
    time.sleep(5)
    job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()

if job["status"] == "succeeded":
    print(job["output"]["urls"], job["cost_usd"])
else:
    # A failed job is free. To try again, make a new KEY: this one answers with the failure.
    print("Failed:", job["error"])

The submit call returns 202 and a generation id. Poll it every few seconds; when the status is succeeded, the video links are in output.urls:

Response
{
  "id": "gen_01JC4K9R2T",
  "model": "kling-4.0",
  "status": "succeeded",
  "output": {
    "urls": [
      "https://cdn.revana.si/g/gen_01JC4K9R2T/0.mp4"
    ]
  },
  "cost_usd": 1.35,
  "attempts": 1,
  "error": null,
  "created_at": "2026-11-03T14:02:11Z",
  "completed_at": "2026-11-03T14:05:02Z"
}

Download the file promptly, because output links expire.

Keep a character across shots with reference images

Pass up to ten pictures in image_urls and name them in the prompt. This 30 second 1080p clip costs $6.00; draft it at 720p first for $4.05.

Request body
{
  "model": "kling-4.0",
  "input": {
    "prompt": "A short film in three shots. The woman from the first picture cycles through the city from the second picture at dawn, stops at the cafe, and orders a coffee in the cup from the third picture. Same face and jacket in every shot. Street sounds, bicycle bell, cafe chatter.",
    "image_urls": [
      "https://example.com/character.jpg",
      "https://example.com/city.jpg",
      "https://example.com/cup.jpg"
    ],
    "resolution": "1080p",
    "aspect_ratio": "16:9",
    "duration": 30
  },
  "max_cost_usd": 10
}

First and last frames

Pass the opening picture as image_url and the closing one as end_image_url. A 5 second 1080p transition costs $1.00.

Request body
{
  "model": "kling-4.0",
  "input": {
    "prompt": "The sneaker box opens and the shoe rises out of it, turning slowly under a soft spotlight. A low whoosh, then a click.",
    "image_url": "https://example.com/box-closed.jpg",
    "end_image_url": "https://example.com/sneaker-reveal.jpg",
    "resolution": "1080p",
    "aspect_ratio": "9:16",
    "duration": 5
  },
  "max_cost_usd": 2
}

Prompt tips for Kling 4.0

  • Write long clips as shots. For 20 to 30 seconds, list the shots in order ("first", "then", "finally") with one action each.
  • Name each reference. Say which picture is the character, which is the place and which is the product.
  • Put dialogue in quotes. Say who speaks, in order, and keep lines short.
  • Describe the sound. Every clip has sound, so tell the model what it should be: rain, a crowd, a single voice.
  • Draft short and at 720p. Get the look right on a 5 second 720p take, then render the long or 1080p version.

Routing and fallback

Kling 4.0 currently has three routes on Revana. The router sends each job to the cheapest route first; if it fails or times out, the job moves to the next route automatically. You pay the listed price whichever route serves it, and only the successful route is charged.

Fallback is not a promise of uptime. If every route fails, the job ends as failed with an error and costs nothing; handle that in your app.

Compare Kling 4.0 with the rest of the catalogue on the models page, check the field reference in the docs, or get an API key.

Frequently asked questions

How much does the Kling 4.0 API cost?

In November 2026, Kling 4.0 costs $0.135 per second at 720p and $0.20 at 1080p, with sound included. A 10 second 720p clip is $1.35.

How long can a Kling 4.0 video be?

From 3 to 30 seconds per request. Set the length with the duration field.

Can Kling 4.0 make vertical 9:16 video?

Yes. Set aspect_ratio to 9:16. It also takes 16:9, 1:1 and 21:9.

Does Kling 4.0 always generate sound?

Yes. Every clip comes with stereo sound, and the price per second includes it. Describe the speech, effects and ambience you want in the prompt.

How many reference images does Kling 4.0 take?

Up to ten, passed in image_urls. Use them to keep a character, product or place the same across shots.

Can I call Kling 4.0 from Claude or ChatGPT?

Yes. Revana has an MCP server: connect it in Claude or ChatGPT, then ask for a Kling 4.0 video in plain words. It quotes the price before it makes anything.

Call Kling 4.0 with one key

The same key and request format for Kling, Veo, Seedance, Wan and the rest of the catalogue. Prepaid credit from $10.