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.

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.
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
X-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.

grid-demo.pngcss grid

font-demo.pngweb font, emoji
Priced for one project
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
Under about 300 renders a month, the pack costs less than Starter. Over that, subscribe. See the full pricing page.