Kling Video Generation

Native Kling protocol submitted through the unified video entry; poll the native Kling task object

POST/v1/videos

Kling models are submitted via the unified entry POST /v1/videos: the body is the official Kling fields plus model (model names starting with kling route to Kling; model_name is also accepted). Responses and queries are the native Kling task envelope, forwarded without rewriting. Available model names come from List Models.

Authorizations

Authorizationstring必填

Bearer Token authentication; no Kling JWT signing needed — the platform signs for you.

Authorization: Bearer YOUR_API_KEY

Submit a task

POST /v1/videos

Body = official Kling parameters + model:

  • model (required): a kling* model name (text-to-video vs image-to-video is dispatched by whether image is present)
  • prompt, negative_prompt, mode (std / pro), duration, aspect_ratio, cfg_scale, image, image_tail, etc. — per official Kling docs

Query a task

GET /v1/videos/{task_id}

Native Kling task object; data.task_status: submitted / processing / succeed / failed. Results are in data.task_result.videos[] (URL lifetime per Kling — download promptly).

Notes

  • Query with the same API Key used for submission; 7-day query window, then 404 task_not_found
  • HTTP 200 with code≠0 is a Kling business error (validation / moderation): no charge is incurred; check message
  • Full field definitions follow the official Kling documentation; no field rewriting