Every new product gets its post.
Your n8n or Make workflow sends plain fields; the finished social image comes back at the exact size.

New row in a product sheet
Five templates, every size on one sheet.
Rendered by the same engine you just tried. Custom templates for your clients are planned as a paid service with clear limits.

Article card
1200×6301080×1080
Product card
1080×10801080×1350
Announcement / offer card
1080×10801080×1920
Event card
1080×10801080×1920
Quote card
1080×10801200×630
One HTTP request from n8n, Make or code.
Start a render and wait up to 60 seconds for the file in the same call, or poll by id. Retrying with the same Idempotency-Key never creates or charges a second render.
- n8n and Make
- Their built-in HTTP modules with a header credential. Run in a real self-hosted n8n against the hosted service; Make has not been run yet.
- Scoped API keys
- One key per client workflow, read-only if you like, revocable on its own.
- MCP for agents (not published yet)
- The same five operations for an agent, using one of your keys. Built and tested, not yet available as a download.
#!/usr/bin/env bash
# Render a product card and download it. Needs only bash, curl, grep and sed.
# POSTIMAGER_API_KEY=rk_... POSTIMAGER_URL=https://postimager.com ./render.sh
set -euo pipefail
BASE="${POSTIMAGER_URL:-https://postimager.com}"
RESPONSE=$(curl -sS -X POST "$BASE/v1/renders?wait=15" \
-H "Authorization: Bearer $POSTIMAGER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: product-sku-482-v1" \
-d '{
"template": "product-card",
"size": "square",
"format": "png",
"variables": {
"brand_name": "Kiln & Clay",
"product_name": "Speckled stoneware mug, 350 ml",
"price": "₹1,250",
"image_url": "sample:mug"
}
}')
if ! echo "$RESPONSE" | grep -q '"status":"completed"'; then
echo "Not finished yet or failed: $RESPONSE" >&2
exit 1
fi
URL=$(echo "$RESPONSE" | sed -n 's/.*"download":{"url":"\([^"]*\)".*/\1/p')
curl -sS -o product-card.png "$URL"
echo "Saved product-card.png"docs/examples/render.sh · executed against a local server by scripts/test-examples.ts
Built to run while nobody watches.
What it does today, each item covered by an automated test in the repository.
- Text that fits
- Long text shrinks to fit its box, then is cut with an ellipsis and a warning. A price that cannot fit fails clearly instead of being clipped.
- Hindi and Punjabi done properly
- Bundled Noto fonts with correct conjuncts and line wrapping, checked in tests against the actual glyphs drawn.
- Safe retries
- Same key and same body return the original render. Renders that fail on our side retry automatically and are never counted.
- Private by default
- Files sit behind signed links that expire. Accounts never see each other’s renders or keys, enforced in code and in the database.
Common questions.
- What is PostImager?
- An image generation API for automation builders. Your n8n or Make workflow sends fields such as a title, price and image link, and gets back a finished PNG, JPG or one-page PDF from a fixed template.
- Can n8n generate images with it?
- Yes, with n8n’s own HTTP Request node. This has been run in a real self-hosted n8n, and there is a workflow you can import. Make settings are documented but have not been run yet.
- Does it use AI to make the image?
- No. It fills a fixed template with your exact words, in real fonts, so the result is predictable. There is no prompt.
- How much does it cost?
- Nothing during the beta, with no card: 50 renders a month per account, and limits shared by everyone. Paid plans are proposals and are not on sale.
Try it with your own data.
Ask for an invite, render 50 images a month on this invite-only beta, and connect your first workflow. Delete your account any time.