n8n HTTP · API

n8n image upload self-hosted, no op fees.

n8n is the self-hostable alternative to Zapier/Make. Its HTTP Request node handles multipart uploads with binary data from any previous node — webhooks, email triggers, database rows, file watches.

n8n HTTP
// n8n "HTTP Request" node configuration
// Method: POST
// URL: https://imagetourl.cloud/api/upload
// Authentication: Generic Credential → Header Auth
//   Name: Authorization
//   Value: Bearer YOUR_IMAGETOURL_KEY
// Body Content Type: Form-Data Multipart
// Body Parameters:
//   Name:          Type:       Value:
//   file           n8n Binary  data  (from previous node's binary property)
// Options → Response → Response Format: JSON

// After this node runs, the URL is at:  {{$json.data.url}}

Why use ImageToURL's API

No per-op costs

Self-host n8n for $5–20/month on a VPS and run millions of workflow executions. Zapier/Make charge per task — n8n is free once hosted.

Binary data handling

n8n tracks file bytes as first-class 'binary' properties across nodes. The HTTP Request node binds them directly to multipart form fields.

Code nodes for complex logic

When the built-in nodes don't cover your case, drop in a Function node with the raw fetch snippet — same code as the Node.js example.

Community-built integrations

n8n's marketplace has hundreds of community nodes. If ImageToURL gets an official n8n node later, it'll land there.

FAQ

How do I pass a binary file to the HTTP Request node?

The previous node must have a binary property (e.g. 'data' from a Read Binary File node or webhook with binary upload). In the HTTP node's multipart form, set the field type to 'n8n Binary' and reference that property name.

Do I need n8n Pro?

No — self-hosted Community Edition is free and covers this use case fully. Pro adds SSO, audit logs, and hosted service.

Where do I store the API key?

Create a Credential in n8n (Generic → Header Auth). Attach it to the HTTP Request node. Credentials are encrypted at rest.

How do I handle errors?

Enable 'Continue On Fail' on the HTTP node and add an IF node checking for a non-success response. Route errors to Slack, email, or a retry queue.

Rate-limit retries?

Add a Wait node + IF loop with exponential backoff. Or use the community 'Retry' node package.

Webhook trigger → upload flow?

Webhook Trigger (receives file) → HTTP Request (uploads to ImageToURL) → Respond to Webhook (returns the hosted URL). Classic n8n pattern.

Docker / Railway / Render deploy?

All three have one-click n8n templates. Railway and Render free tiers run small n8n instances comfortably.

Can I trigger n8n from GitHub Actions?

Yes — expose an n8n webhook from Actions via curl. Useful for upload-as-part-of-CI-pipeline workflows.