kling-video-v3
Kling Video V3 (Kuaishou) supports std/pro quality, optional audio, and 3–15s durations via async `/v1/videos`.
Auth: Authorization: Bearer sk-… from the Console. Use this model id exactly in the model field.
Only parameters relevant to kling-video-v3 are listed below.
| Field | Type | Req | Description |
|---|---|---|---|
| model | string | ✓ | kling-video-v3 | kling-video-v3-omni |
| prompt | string | ✓ | Video description |
| quality | string | — | std (720p, default) | pro (1080p). No 480p/4K — do not use resolution/size/fps. |
| with_audio | boolean | — | Generate audio track (default false) |
| duration | integer | — | 3–15 seconds. Default 5. |
| aspect_ratio | string | — | 1:1 | 16:9 | 9:16 |
| image | string | — | First-frame image URL (I2V). Alias: image_urls via gateway. |
| image_tail | string | — | Last-frame image URL (first+last frame I2V) |
| extra_body.video_list | array | — | Reference video (kling-video-v3-omni only) |
| extra_body.image_list | array | — | Reference images (kling-video-v3-omni only) |
| extra_body.element_list | array | — | Reference subjects (kling-video-v3-omni only) |
| extra_body.multi_shot | boolean | — | Enable storyboard shots |
| Field | Type | Req | Description |
|---|---|---|---|
| Quality | — | — | quality std = 720p, pro = 1080p only (no 4K tier). |
| Duration | — | — | 3–15s, default 5. Billed per second × quality/audio/ref tier. |
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"
}'All requests go to https://api.lumeapi.site/v1 with Authorization: Bearer sk-…
(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.
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 every 5–15 seconds with back-off. Typical completion: 30s–5min depending on model. Stop after 15–30 minutes if still not completed.
When status=failed, read error.message. Do not call /content. Submit a new POST /v1/videos to retry.
Balance is debited when POST /v1/videos returns 200. Poll until completed or failed before treating the job as successful.
| Status | Meaning | Action |
|---|---|---|
| queued | Job accepted, waiting to start | Keep polling GET /v1/videos/{id} |
| in_progress | Video is being generated | Keep polling; progress may increase |
| completed | Ready to download | GET /v1/videos/{id}/content |
| failed | Generation failed | Read error.message; submit a new job to retry |