413 Error When Uploading Images Over 1MB

Describe the problem/error/question

Hello, I am trying to create a workflow that includes a form with a field for uploading an image. When the image is less than 1MB, everything works fine; however, as soon as the image exceeds 1MB, I receive a 413 error. For information, I am using an Nginx proxy.

What is the error message (if any)?

Error 413

Please share your workflow

Information on your n8n setup

  • **n8n version:**1.88.0
  • **Database (default: SQLite):**default
  • **n8n EXECUTIONS_PROCESS setting (default: own, main):**default
  • **Running n8n via (Docker, npm, n8n cloud, desktop app):**Docker
  • **Operating system:**Debian / nginx

Have you already tried fixing the nginx config?

Thank you for your response @hubschrauber. I tried changing the nginx configuration by adding client_max_body_size 200M; but without more success.

When switching back to test mode, however, I see this type of message: “This operation expects the node’s input data to contain a binary file ‘T_l_versez_une_image’, but none was found [item 0].” n8n goes to the next node, but no image is uploaded when the file is around 1MB.

[
  {
    "Téléversez une image": null,
    "submittedAt": "2025-04-20T18:47:20.709+02:00",
    "formMode": "test"
  }
]

According to this post, n8n uses the Formidable module/library for this.

The default limit is (or maybe previously was) supposed to be 200MB. That shouldn’t cause an issue for a 1MB file though.

Regarding the error about “input data” containing “a binary file,” that could be a side-effect of the upload failing to complete.

BTW, I don’t think it is actually part of the problem, but there are accented “special characters” in the form field name TĂ©lĂ©versez une image that were substituted in the referenced name T_l_versez_une_image. To eliminate that “name translation” as part of the issue, it would probably be best to remove those characters until everything else is working.

Thank you for your response @hubschrauber. I had seen this topic and the 200MB limit, which is why I tried to set the same limit on the nginx side.

You are right, special characters should be avoided. Here, it still works with some files (smaller than 1MB).

I tried a workflow just with a form. This time it works even with a file larger than 1 MB. So, I modified my current workflow and placed the file field in the start form, and this time it works
 strange.

Sounds like you might have found a legitimate bug. IMO, the behavior shouldn’t be different depending on which form node you use (form trigger vs. next form page). There are no documented file size limitations of next form page anyway.

Assuming you would prefer your form steps to proceed as you had them originally, the only other thing I can think of that may be a factor is the presence or absense of a form ending node. That is prescribed in the documentation but you didn’t mention whether you had tried to include it in your workflow or not. If you try it, please post a reply with the results so others will know whether that was the cause.

Indeed, I had forgotten to declare the end of the form with the corresponding node. However, even after correctly declaring the end of the form, I am still encountering this issue.

1 Like