Need help with HTTP request

Hi!
Could someone help me with HTTP request timeouts? I’m trying to get it works but not result. The service I trying to access via HTTP request reply within 20 - 120 sec depends on the file size. If the reply gets in 30 sec or below no problem at all. In case of longer reply I am getting error on 30s. I’ve tried to set bigger timeout in HTTP request settings but no result, the same error. I also can’t split the request on batches, because the file that I post is difficult to split. The error details below

  • Error code

500

Full message

500 - "<html>\n  <head>\n    <title>Internal Server Error</title>\n  </head>\n  <body>\n    <h1><p>Internal Server Error</p></h1>\n    \n  </body>\n</html>\n"

Request

{
  "headers": {
    "authorization": "**hidden**",
    "accept": "application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7",
    "content-type": "multipart/form-data; boundary=--------------------------784330394113481746563366"
  },
  "method": "POST",
  "uri": "http://10.126.1.49:5000/transcribe",
  "gzip": true,
  "rejectUnauthorized": true,
  "followRedirect": true,
  "resolveWithFullResponse": true,
  "followAllRedirects": true,
  "timeout": 3600000,
  "formData": {
    "_overheadLength": 385,
    "_valueLength": 2206084,
    "_valuesToMeasure": [],
    "writable": false,
    "readable": true,
    "dataSize": 0,
    "maxDataSize": 2097152,
    "pauseStreams": true,
    "_released": true,
    "_streams": [],
    "_currentStream": null,
    "_insideLoop": false,
    "_pendingNext": false,
    "_boundary": "--------------------------784330394113481746563366",
    "_events": {},
    "_eventsCount": 3
  },
  "encoding": null,
  "json": false,
  "useStream": true
}

Item Index

0

Node type

n8n-nodes-base.httpRequest

Node version

4.2 (Latest)

n8n version

1.88.0 (Self Hosted)

Time

5/30/2025, 11:05:39 AM

Stack trace

NodeApiError: The service was not able to process your request
    at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js:597:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:681:27)
    at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:915:51
    at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:1246:20

Information on your n8n setup

  • n8n version: 1.88.0
  • Database - default
  • Running n8n via Docker,
  • Operating system: ubuntu

Thank you in advance

This is likely because the target server takes more than 30 seconds to respond, but //n8n still times out after 30 seconds — (even though you’ve set timeout: 3600000).//

This is not an actual 500 server error on the target service. It’s most likely a gateway/proxy timeout happening before the server responds.

Two Solutions to Try:

1. Add responseFormat: file in the HTTP request

Sometimes long downloads (like file transcriptions) are handled better if the response format is not processed as JSON or text. This avoids internal parsing delays.

  • In n8n’s HTTP Request node:
    • Set Response Format to File
    • Keep Timeout high (e.g., 600000 = 10 mins)

2. Use a Wait-Polling Workflow Instead

If the server can accept the request and return a Job ID, switch to a 2-step process:

  1. POST the file to /transcribe → get a job ID in return
  2. Use a loop + wait (10s) to poll /transcribe/:job_id/status until status = completed

This avoids needing to wait 2 minutes on one single request.

Also:

  • is the service behind a reverse proxy (e.g., Nginx, Traefik)?
  • These often have a 30s default timeout. You’ll need to increase proxy_read_timeout or similar.
  • Can the server support asynchronous jobs (return a Job ID)?
  • If yes, we can build a wait-poll loop instead of waiting for 2 minutes in one request.

Hello @Alex_79,

if your file exceeds the 2MB, the request may silently fail before reaching the timeout. This is likely the root cause.

Try increasing the maxDataSize limit manually.

Thank you for response. Currently service doesn’t support asynchronous jobs. The service behind the reverse proxy but it works well with the same files if contact it directly using post request (without n8n). Yes it takes more than 30 sec to transcribe. (1 - 5 minutes works well). I’ve tried the first option - responseFormat, doesn’t work. The error - Problem in node ‘HTTP Request‘

The service was not able to process your request

Thank you ! The problem not only with files over 2 mb, but also below, for example 1.2 - 1.7 Mb. But anyway, is it means that i need to create custom Http node to increase maxDataSize or how to do it? It is not in standard configuration if I’m right.

I think If your request involves streaming large files, the most reliable approach is to write a small custom Function node that leverages the native Node.js http or axios library with increased maxContentLength or streaming support.