Dynamic OG images from one URL

Real Chromium CSS, templates with variables, signed URLs you paste into og:image. First view renders, every view after is free.

A 1200 by 630 social card rendered by the API: dark background, headline reading Ship a real og:image in one API call, with pills for CSS Grid, Web fonts and Emoji

sample-output.png1200x630 png, shown at half size

One request in, one image out

The card above came from a request like this. Send HTML, get PNG bytes back.

POST /v1/render200 image/png
curl https://pixrend.com/v1/render \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<div style=display:flex...>",
    "width": 1200,
    "height": 630
  }' -o card.png
1200 by 630 by defaultAny size from 100 to 2000 pixels wide.
PNG or JPEGScale 2 for sharp cards on retina screens.
Quota and credits in the headersX-Quota-Used, X-Quota-Limit and X-Credits-Remaining on every response.

Prefer no build step? Save that HTML as a template, sign a URL and paste it straight into og:image: it renders on first view and every view after is served from cache, free. See templates and signed URLs. Every parameter, error code and framework snippet is in the docs.

Why this, not the others

Satori is free but renders a flexbox subset. The full-CSS APIs charge $14 to $49 for the same volume and none of them sign URLs or dedupe repeat requests. See the full comparison.

Real Chromium, real CSS

Grid, flexbox, web fonts, gradients, emoji. Whatever renders in a browser renders here. Both cards below came out of the API.

Blog post card with a CSS Grid of twelve tiles beside the headline Moving our queue off Postgres, one table at a time

grid-demo.pngcss grid

Release notes card set in an italic Google Font reading Version 4 is out, with a rocket emoji

font-demo.pngweb font, emoji

Priced for one project

$12once

1,000 renders, never expire. The cheapest comparable API charges $14 a month for the same volume.

Templates and signed URLs, not just an endpoint

Save a template with variables, sign a URL, drop it straight into og:image. No build step, no server code of your own to render on demand.

  • Astro
  • Next.js
  • Hugo
  • Eleventy

What it blocks, on purpose

No external images by URL. Every <img> must be a data: URI. The only outbound calls the renderer allows go to Google Fonts (fonts.googleapis.com and fonts.gstatic.com).

Everything else, including your own image CDN, is refused before it leaves the sandbox. If you need remote images, inline them as base64 before calling the API.

Pricing

Try it free with no account. Pay once for a pack, or subscribe for volume. No overage: hitting your quota returns a 429, not a surprise bill.

$12 once, no build step1,000 renders, never expire

Playground
$0
  • Any HTML, half resolution
  • No account, no card
  • Not for production
Try the playground
Starter
$15/mo
  • 5,000 renders/mo
  • 60 requests/min
Choose Starter
Pro
$39/mo
  • 25,000 renders/mo
  • 120 requests/min
Choose Pro

Under about 300 renders a month, the pack costs less than Starter. Over that, subscribe. See the full pricing page.