Developer docs/kling-video-v3

Kling Video V3

kling-video-v3

Kling Video V3 (Kuaishou) supports std/pro quality, optional audio, and 3–15s durations via async `/v1/videos`.

Overview

Official $0.0882/s
LumeAPI from $0.0776 / s
POST /v1/videos (+ poll + content)
Base: https://api.lumeapi.site/v1

Auth: Authorization: Bearer sk-… from the Console. Use this model id exactly in the model field.

Request parameters — Kling video

Only parameters relevant to kling-video-v3 are listed below.

FieldTypeReqDescription
modelstringkling-video-v3 | kling-video-v3-omni
promptstringVideo description
qualitystringstd (720p, default) | pro (1080p). No 480p/4K — do not use resolution/size/fps.
with_audiobooleanGenerate audio track (default false)
durationinteger3–15 seconds. Default 5.
aspect_ratiostring1:1 | 16:9 | 9:16
imagestringFirst-frame image URL (I2V). Alias: image_urls via gateway.
image_tailstringLast-frame image URL (first+last frame I2V)
extra_body.video_listarrayReference video (kling-video-v3-omni only)
extra_body.image_listarrayReference images (kling-video-v3-omni only)
extra_body.element_listarrayReference subjects (kling-video-v3-omni only)
extra_body.multi_shotbooleanEnable storyboard shots

Notes

FieldTypeReqDescription
Qualityquality std = 720p, pro = 1080p only (no 4K tier).
Duration3–15s, default 5. Billed per second × quality/audio/ref tier.

Examples

bash
curl https://api.lumeapi.site/v1/videos \
  -H "Authorization: Bearer sk-…" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-video-v3",
    "prompt": "Camera slowly pushes in, subject turns toward the window",
    "image": "https://cdn.example.com/first-frame.jpg",
    "quality": "std",
    "with_audio": false,
    "duration": 5,
    "aspect_ratio": "16:9"
  }'

Video async flow

Base URL

All requests go to https://api.lumeapi.site/v1 with Authorization: Bearer sk-…

Three-step async flow

(1) POST /v1/videos → save id from response. (2) GET /v1/videos/{id} every 5–15s until status is completed or failed. (3) On completed, GET /v1/videos/{id}/content to download MP4.

Use the gateway task id

Poll and download with the id returned by POST /v1/videos (e.g. task_Fk6QrnX6…). This is the only task id your client needs.

Poll interval & timeout

Poll every 5–15 seconds with back-off. Typical completion: 30s–5min depending on model. Stop after 15–30 minutes if still not completed.

Failed tasks are terminal

When status=failed, read error.message. Do not call /content. Submit a new POST /v1/videos to retry.

Billing on submit

Balance is debited when POST /v1/videos returns 200. Poll until completed or failed before treating the job as successful.

Status map

StatusMeaningAction
queuedJob accepted, waiting to startKeep polling GET /v1/videos/{id}
in_progressVideo is being generatedKeep polling; progress may increase
completedReady to downloadGET /v1/videos/{id}/content
failedGeneration failedRead error.message; submit a new job to retry

Errors

  • 401 — invalid or missing Bearer key
  • 402 — insufficient wallet balance (top up in Account)
  • 403 — model id not on the whitelist / wrong id spelling
  • 429 — rate limited; back off and retry
  • 502 — temporary gateway error; retry