How it works

RenderPix is a REST API. You POST HTML, you get an image back. Make.com’s HTTP module can call any REST API, which means you can use RenderPix in any Make.com scenario — connected to Google Sheets, Airtable, Typeform, Gmail, Slack, or anything else in Make’s library.

No native integration needed. One HTTP module, one API call, one image.

What you need

Step-by-step: Instagram post generator

We’ll build a scenario that reads rows from Google Sheets and generates a 1080×1350px Instagram image for each one.

Step 1

Add a Google Sheets module

Add the Google Sheets → Search Rows module. Connect your Google account, select your spreadsheet and sheet. Set the filter to return all rows (or filter by a "status" column to only process new ones).

Step 2

Add an HTTP module

Add the HTTP → Make a request module. This is where you call RenderPix.

Step 3

Configure the HTTP module

Fill in the HTTP module settings as follows:

FieldValue
URLhttps://renderpix.dev/v1/render
MethodPOST
HeadersX-API-Key: your_api_key_here
Body typeRaw
Content typeJSON (application/json)
Request contentSee JSON body below
Parse responseNo (response is binary image data)

For the request body, use Make.com’s variable mapping to inject your sheet data:

{
  "html": "<!DOCTYPE html><html><head><meta charset='UTF-8'><style>* { margin: 0; padding: 0; box-sizing: border-box; } body { width: 1080px; height: 1350px; font-family: Arial, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); display: flex; align-items: center; justify-content: center; } .card { width: 900px; text-align: center; color: white; } .title { font-size: 64px; font-weight: 800; line-height: 1.1; margin-bottom: 24px; } .subtitle { font-size: 28px; opacity: 0.85; }</style></head><body><div class='card'><div class='title'>{{1.title}}</div><div class='subtitle'>{{1.subtitle}}</div></div></body></html>",
  "width": 1080,
  "height": 1350,
  "format": "png"
}

The {{1.title}} and {{1.subtitle}} are Make.com variable references to your Google Sheets columns (module 1, field "title").

Keep HTML on one line in the JSON body. Make.com’s JSON body editor doesn’t handle multiline strings well. Minify your HTML template before pasting it into the body field.

Step 4

Save the image

The HTTP module returns the binary PNG data. Add a Google Drive → Upload a File module (or Dropbox, S3 via HTTP, etc.) to save it. Set the filename to something like {{1.title}}-post.png.

Step 5

(Optional) Post to social media

Connect a Buffer, Later, or social media module to schedule the post. Pass the image file URL from Google Drive as the attachment.

Other use cases

The same HTTP module setup works for any image generation use case:

Use caseTriggerOutput
OG imagesNew blog post (webhook or RSS)1200×630px PNG → S3
CertificatesTypeform or Google Forms submission1200×800px PNG → email attachment
Invoice previewsNew row in Airtable800×1100px PNG → Google Drive
Event badgesEventbrite registration600×900px PNG → email
Product cardsNew Shopify product1080×1080px PNG → social queue

Tips for working with HTML in Make.com

Minify your HTML template first

Long HTML templates are hard to manage in Make.com’s JSON body editor. Use an online HTML minifier, then paste the single-line result into your request body. The rendered output is identical — whitespace doesn’t affect Chromium rendering.

Use a Text Aggregator for dynamic HTML

If your HTML needs more complex variable substitution, add a Text Aggregator module before the HTTP module. Build your HTML string there with Make.com variables, then pass the result as the html field in your HTTP request.

Handle the binary response correctly

RenderPix returns binary image data, not JSON. In the HTTP module, set Parse response to No. The output will be a binary data bundle that you can pass directly to a file upload module.

Zapier works the same way

If you use Zapier instead of Make.com, the approach is identical. Add a Zapier Webhooks step, configure it as a POST to https://renderpix.dev/v1/render, set the X-API-Key header, and pass your HTML in the body. The binary response can be saved using a storage action.

Replace Figma with a single fetch call

Full HTML and CSS support. Pre-warmed Chromium — no cold starts. Free tier included.

Also see: Instagram carousel automation with n8n and auto-generate OG images with n8n.