Kling API in n8n: HTTP Request node, auth, and waiting

Call the Kling API from n8n with an HTTP Request node and a Bearer credential, then poll or resume a Wait node. Direct to Kling, or kling-3 through Sume.

6 min readSume
All posts

To use the Kling API in n8n, call it from an HTTP Request node: one POST creates the video task, then a Wait node either pauses between status checks or resumes when a callback arrives. You can call Kling directly with a Kling API key, or call Kling 3.0 through Sume's POST /v1/videos with model: "kling-3" and a Sume key. Either way it is a plain HTTPS call; Sume has no official n8n node.

n8n facts come from its HTTP Request, HTTP Request credentials and Wait docs; Kling facts from its Kling 3.0, Authentication and Callback pages; Sume facts from Video generation. All read on 2026-09-28.

How do I authenticate the Kling API in n8n?

Both APIs take a Bearer token, so use n8n's generic Bearer auth credential. n8n describes it as header auth with the name Authorization and the value Bearer <token>. Kling's current endpoints, the ones with the model version in the path, take a Kling API key created in the Kling AI console; its older endpoints that pass the model as model_name need a JWT signed from an AccessKey and SecretKey instead.

For Sume, put $SUME_API_KEY in the same kind of credential. Sume's Authentication rules say to keep keys on trusted servers or secret stores, never in frontend code.

From Kling's Kling 3.0 and Callback pages and Sume's Video generation docs, read 2026-09-28.
Node settingKling directThrough Sume
URLhttps://api-singapore.klingai.com/text-to-video/kling-3.0https://api.sume.com/v1/videos
Lengthsettings.duration, 3–15 sduration, 4–15 s for kling-3
Callback fieldoptions.callback_urlcallback_url (HTTPS)
Callback firesWhen the task status changesOnce, at a terminal state
Status valuessubmitted, processing, succeeded, failedpending, in_progress, completed, failed, cancelled

How do I send the request from the HTTP Request node?

Set Method to POST and Send Body to JSON, and enter the body with Using JSON. The node can also import a curl command, but n8n notes that the import turns every value into a string; switch to Using JSON to keep numbers and booleans typed. The Sume body for kling-3, with the callback pointed at the Wait node:

  • Add an Idempotency-Key header: a retry with the same key and the same body returns the original job. The resume URL differs in every execution, so a new execution sends a new body and needs a new key.
  • The answer is 202 with a job id, a polling_url, and status: pending.
{
  "model": "kling-3",
  "prompt": "Cinematic product orbit on a clean table.",
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "9:16",
  "generate_audio": false,
  "callback_url": "{{ $execution.resumeUrl }}"
}

How do I wait for the Kling video to finish?

n8n's Wait node can resume On Webhook Call. It provides $execution.resumeUrl, a URL unique to each execution that you send to the other service before the Wait node runs. The n8n Wait node guide covers that pattern in depth.

  • Through Sume, the callback arrives once the job is terminal. Read the job again with GET /v1/videos/{id} and your key rather than trusting the resume body.
  • Kling direct notifies when the task status changes, so a call to the resume URL can arrive before the video is done. Check the status and loop back if it is not succeeded.
  • In current code Sume refuses a callback URL with a non-default port, such as :5678, so a self-hosted n8n needs a public HTTPS resume URL without one; otherwise poll.
  • To poll instead, use Wait After Time Interval, then a GET. Sume's docs suggest about 30 seconds between polls; generation takes 30 seconds to several minutes.

How do I download the finished video in n8n?

Through Sume, add an HTTP Request node that GETs https://api.sume.com/v1/videos/{id}/content with the same credential. That route redirects to the file, and n8n follows redirects by default. Set the node's Response Format to File to get the MP4 as binary data.

How much does Kling 3.0 cost through Sume?

Sume bills video at the provider's list price × 1.25, reserved when you submit. For kling-3 that is $0.14 per second silent and $0.21 per second with audio, plus a 5.5% agent fee by default. In current code audio is on unless you send generate_audio: false. Kling 3.0 API compares this with Kling's own per-second Units.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume