Make.com Base64 File Upload: Send JSON and Get a Public URL

June 25, 2026 · 6 min read

Make can pass file data between modules, but not every scenario has a clean file object. Some apps return PDFs, CSVs, invoices, or images as a base64 string inside JSON.

When that happens, the easiest path is to keep the request as JSON. FilePost accepts base64 file data and returns a permanent public CDN URL.

When to Use This Flow

If Make has a normal file object, use the broader Make file upload guide. That path uses multipart form-data. This page is for base64-in-JSON scenarios.

HTTP Module Settings

Use Make's HTTP app and choose Make a request. Make's HTTP documentation says the module supports JSON request bodies and multipart/form-data file uploads, which are the two FilePost upload shapes.

Setting Value
URL https://filepost.dev/v1/upload/base64
Method POST
Body content type application/json
Header X-API-Key: fh_your_api_key
Parse response Yes

Official reference: Make HTTP app documentation.

JSON Body

Map your prior module's base64 field into data_base64. Use the real mapped value from your Make module.

{
  "filename": "invoice.pdf",
  "content_type": "application/pdf",
  "data_base64": "{{1.base64}}",
  "expires_in": "7d"
}

Use expires_in only when the file is temporary. Remove it for a permanent URL.

Response Mapping

After Make parses the response, map the FilePost URL into the next module:

{
  "file_id": "a1b2c3d4e5f6",
  "url": "https://cdn.filepost.dev/file/filepost/uploads/a1/a1b2c3/invoice.pdf",
  "name": "invoice.pdf",
  "size": 84210,
  "content_type": "application/pdf",
  "expires_at": "2026-07-02T12:00:00Z"
}

The field you normally want is url. Put it in Airtable, Google Sheets, Slack, email, HubSpot, a webhook response, or any downstream JSON body.

Common Mistakes

Using a data URL instead of base64

If your field starts with data:application/pdf;base64,, FilePost can handle it, but plain base64 is easier to debug. If your scenario has a text transform step, strip the prefix before sending.

Mapping the wrong field

Run the previous module once, inspect the output, and copy the exact base64 field. Do not guess the mapping path. A common failure is mapping a filename or URL field instead of the actual base64 payload.

Uploading large files as base64

Base64 increases payload size. If the file is large and Make has a file object, use multipart upload instead.

Turn Make base64 files into URLs

Send JSON to FilePost and map the returned CDN URL into the rest of your scenario.

Get Your API Key