n8n HTTP Request timeout: what to do when a job takes minutes
The n8n HTTP Request node's Timeout option aborts slow responses. For jobs that take minutes, submit async, then poll with a Wait node.

The n8n HTTP Request node's Timeout option sets how many milliseconds the node waits for the server to start its response, and aborts the request when that time runs out. Raising it helps a slow endpoint that does answer; it is the wrong fix for an API job that runs for minutes. Submit the job so the API answers at once with a job id, then wait in n8n with a Wait node and poll the job's status.
The n8n facts come from n8n's HTTP Request node and Wait node docs. The Sume facts come from Jobs and results and Video generation. All were read on 2026-09-29. Sume has no official n8n node; the workflow below is plain HTTPS calls.
Where is the Timeout setting in the HTTP Request node?
In the node's options, select Add Option and pick Timeout. n8n describes it as how long the node waits "for the server to send response headers (and start the response body)", entered in milliseconds. Requests that exceed it are aborted for the initial response.
The Response option matters when a call fails. By default the node returns success only on a 2xx response; Never Error returns success whatever the code. Include Response Headers and Status returns the headers and status code as well as the body, which you need if you want to read a rate-limit header.
Why doesn't a longer timeout fix a slow video API?
Because the job, not the HTTP call, is what takes minutes. Sume's video docs say generation is asynchronous and typically takes 30 seconds to several minutes, depending on the model and parameters. POST /v1/videos returns a job id and a polling URL immediately; you then poll GET /v1/videos/{jobId} until the status is completed.
Where a Sume job submit takes a blocking sync mode, wait_timeout_seconds is clamped to 0–30. It bounds the HTTP wait, not the job. When it runs out, the response is still a 2xx carrying the job id, and the docs say you must keep polling and must not submit a new paid job for the same intent. So no n8n Timeout value turns a minutes-long job into one request.
How do I call a slow API from n8n without timing out?
Split the work into a submit and a wait loop. The Wait node pauses the execution and, per n8n, offloads the execution data to the database until the resume condition is met, so nothing holds an HTTP connection open while the job runs.
- HTTP Request (POST) to
https://api.sume.com/v1/videoswithAuthorization: Bearerfrom an n8n credential and anIdempotency-Keybuilt from your item, not a random value. - Keep the returned
id. A2xxhere means the job exists, not that it finished. - Wait node, Resume: After Time Interval. Sume's docs suggest a reasonable polling interval such as 30 seconds.
- HTTP Request (GET) to
https://api.sume.com/v1/videos/{id}, then an If node onstatus. completed: downloadunsigned_urls[0](the job's/contentURL) with the same Bearer header.failed: read theerrorfield.cancelled: stop. Anything else: loop back to the Wait node.
POST https://api.sume.com/v1/videos
Authorization: Bearer $SUME_API_KEY
Content-Type: application/json
Idempotency-Key: order-123-video-v1
{ "model": "sume/auto", "prompt": "A vertical product clip on a desk, natural light", "aspect_ratio": "9:16", "duration": 5 }Which waits apply to each step?
Each wait below bounds a different thing. Only the first one is set in n8n.
| Wait | What it bounds | Value |
|---|---|---|
| n8n HTTP Request Timeout | Time until the server sends response headers | You set it, in milliseconds |
Sume sync wait | How long the submit request blocks | wait_timeout_seconds, clamped to 0–30 |
| Sume video job | The generation itself | Typically 30 seconds to several minutes |
| Sume webhook delivery | One delivery attempt to your endpoint | 10 s per attempt, up to 10 attempts |
What if the node already timed out on a create call?
The job may exist even though n8n saw an error. Retry the same request with the same Idempotency-Key and the same body: the video docs say a replay returns the original job, so you get its id without a second job. Retrying without a key, or with a fresh one each run, can start a second paid job, and Sume's error docs say not to retry unsafe submits without an Idempotency-Key.
If you would rather be told than poll, pass callback_url and resume the workflow on the webhook instead; n8n AI video workflow: resume a Wait node on a Sume webhook shows that setup. Sume's own caps on each wait are in AI video API timeouts.
Sources
Related posts
More in Integrations
- n8n Loop Over Items: batch paid API calls under a rate limit
n8n's Loop Over Items node sends items through in batches of Batch Size, then emits all results on done. Pair it with Wait to pace a paid API.
- n8n Retry On Fail: retry paid API calls without paying twice
n8n's Retry On Fail reruns a failed node up to Max Tries. For a paid API call, send the same Idempotency-Key and body on every try.
- Automate video editing with n8n: caption and cut by API
Automate video editing with n8n: an HTTP Request node submits a caption or cut job, a Wait node resumes on the webhook, a last node reads the file.
- n8n webhook timeout: respond immediately, then do the work
On n8n Cloud a webhook that hasn't answered in 100 seconds fails with a 524. Set Respond to Immediately, do the slow work after, and dedupe sender retries.
Written by Sume