Skip to content
RU

Kling 3.0

Kling 3.0 is a family of video models: realistic motion and scenes from text or a starting frame, with audio. Two tiers with identical parameters: Standard (kwaivgi/kling-v3.0-std) — a balance of price and quality, and Pro (kwaivgi/kling-v3.0-pro) — top-tier motion quality and detail. Generation is asynchronous: POST /v1/videos returns a job, then you poll the status and download the mp4.

Field Description
model kwaivgi/kling-v3.0-std or kwaivgi/kling-v3.0-pro (the short kling-v3.0-std / kling-v3.0-pro; the alias kling = Pro)
prompt Scene description, required
seconds One of 5, 10, 15; defaults to 5
size One of the three sizes below; defaults to 1280x720
input_reference Image-to-video: one image as the starting frame, {"image_url": "data:image/...;base64,..."}
input_references Not supported: the models have references set to false; a request with the array returns 400
seed Not supported: the model’s seed is false; a request with the field returns 400

All three sizes are 720p and differ only in frame format:

Aspect Size
16:9 1280x720
9:16 720x1280
1:1 720x720
import requests
job = requests.post(
"https://api.mixen.ai/v1/videos",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "kwaivgi/kling-v3.0-std",
"prompt": "A dancer in a bright bucket hat performs a breakdance on a concrete lot, a long shadow from the setting sun",
"seconds": "10",
"size": "1280x720",
},
).json()
print(job["id"], job["status"])

The image goes in as a single data: URL — external links are not accepted:

import base64
import requests
with open("portrait.jpg", "rb") as f:
img = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()
job = requests.post(
"https://api.mixen.ai/v1/videos",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "kwaivgi/kling-v3.0-pro",
"prompt": "The portrait comes alive: the gaze shifts aside, a faint smile, hair stirring",
"seconds": "5",
"size": "1280x720",
"input_reference": {"image_url": img},
},
).json()
print(job["id"], job["status"])
curl https://api.mixen.ai/v1/videos/video_... \
-H "Authorization: Bearer $MIXEN_API_KEY"
curl -L https://api.mixen.ai/v1/videos/video_.../content \
-H "Authorization: Bearer $MIXEN_API_KEY" \
-o kling.mp4

Statuses: queuedin_progresscompleted or failed. A sensible polling interval is 5–10 seconds. Full cycle — video guide.

Both tiers are billed per second, and the rate does not depend on the frame format: Standard — 16.8453 ₽ ($0.189) per second, Pro — 22.4604 ₽ ($0.252). You are charged duration × the tier’s rate. Current prices — catalog.

  • Realistic motion and scenes from text or a frame — the family’s profile; the audio is already in the finished clip.
  • Two tiers for the task: Standard for everyday scenes, Pro when maximum motion detail matters.
  • Three frame formats: landscape, vertical, and square.
  • 720p only: the family has no 480p or 1080p.
  • Durations are fixed: only 5, 10, or 15 seconds — no continuous range like Seedance’s.
  • Reference-to-video is not supported; an image can only be passed as the starting frame input_reference.

All models — in the catalog. The general video workflow — video guide.