Base64 vs multipart upload for file URL workflows
Multipart upload sends file bytes as a file part. Base64 is a source format you may need to decode before upload. The final GetFileURL request should send a real file as multipart form data.
- Reviewed by
- GetFileURL technical team
- Updated
- Multipart
- Best when the runtime has file bytes or a binary property
- Base64
- Decode first when the source only exposes encoded content in JSON
- URL output
- Multipart upload returns url, file_id, content_type, and expiry metadata
What this page answers
Not generally. Multipart is the better upload request. Base64 is useful only when the source exposes an encoded string that you decode before upload.
- Reviewed by
- GetFileURL technical team
- Last updated
Use multipart when you have the file object or binary data.
Multipart is the cleaner default for apps, backend routes, workers, and automation tools that can send a file part. It avoids Base64 overhead and keeps file handling visible.
Best source fit
Browser forms, server uploads, n8n binary properties, Make files, and workflow runtimes that already hold the file bytes.
Lower payload overhead
Multipart avoids the size increase that comes from Base64 encoding.
Readable debugging
The file part, filename, expiry, and auth header can be inspected separately when a request fails.
Decode Base64 when the source only gives you an encoded string.
Some webhooks, AI tools, and low-code platforms expose files as JSON strings. Base64 is useful there as a source format, but convert it into bytes before upload.
Metadata required
Keep filename and content type while decoding so the hosted URL behaves like the original file.
Watch size limits
Base64 increases payload size and can hit JSON body limits faster than multipart.
Validate encoding
Bad padding, data URI prefixes, or truncated strings can create files that later fail in OCR, AI, or document APIs.
Pick the smallest reliable path from source file to URL.
The downstream API only cares that the final URL is reachable and serves the correct file bytes. Choose the upload format based on the source system and operational limits.
Use multipart by default
It is better for larger files and normal file objects.
Use Base64 as a bridge
Decode it when the file is trapped in JSON or an API response.
Keep lifecycle the same
After multipart upload, store expiry and delete fields so the URL has an end state.
Common questions
Is Base64 better than multipart upload?
Not generally. Multipart is the better upload request. Base64 is useful only when the source exposes an encoded string that you decode before upload.
Can both upload types return the same URL response?
The public upload request should be multipart. Once the decoded file is uploaded, the response gives the same useful fields: direct URL, file ID, content type, size, and expiry metadata.
Why do Base64 source workflows fail later?
Common causes are missing filenames, wrong content type, malformed encoding, payload truncation, or size limits in JSON transport.