If one of your n8n nodes generates a file, but the next node or API expects a public file URL, you usually need somewhere to upload that file first.
The usual solution is Google Drive, but their URLs often don’t work directly with many APIs. You usually have to tweak the URL format or deal with sharing permissions.
Another option is S3 or R2
But configuring S3/R2 properly (bucket policies, IAM roles, public access settings, signed URLs) can easily become a project on its own.
I kept seeing people run into this problem while building automations.
So I built Upload to URL - an n8n integration with one core idea:
Get a public URL instantly, but the file doesn’t live on the server forever
You decide when the file disappears.
Here’s how it works inside an n8n workflow:
-
Upload any file → get a public URL instantly
-
Set an expiry date so the file automatically deletes itself
-
Or use the Delete a File action to remove it anytime
This makes it easy to treat workflow-generated files as temporary artifacts instead of permanent storage.
If this is a problem you’ve run into in n8n workflows, feel free to try it out.
https://www.npmjs.com/package/n8n-nodes-uploadtourl
Would also love to hear how others here are solving this today - Drive, S3, something else, or a custom setup?