Social cards,
rendered on the fly.
One GET request returns a 1200x630 PNG in about a hundred milliseconds. No headless Chrome, pure Go.
GET /v1/demo?theme=sky
Live render unavailable
The Ogimago API is not responding on :8105. Start it with go run ./cmd/server to see this image render for real.
this image is rendered live by the API on :8105 - pick a theme and watch it re-render
No headless Chrome.
Most OG services spin up a browser per render: slow, memory-hungry, expensive. Ogimago uses a pure-Go compositor with embedded fonts. That architecture is why the free tier is 500 renders a month instead of 50.
GET /v1/png -> 200 OK
x-render-time: 98ms
content-type: image/png
cache-control: public, max-age=31536000, immutable Everything the meta tag needs.
Seven themes
Curated gradient pairs matching common brand palettes, plus custom hex accents.
Immutable caching
Same params produce same bytes. Your CDN does the scaling; origin sees nothing.
One-line integration
Drop the URL into your meta tag with dynamic params per page. Blogs, docs, changelogs.
<meta property="og:image" content="http://localhost:8105/v1/png?…"> Playground
Tweak title, theme, accent live. Copy the finished URL out.
Priced like an API, not an agency.
| Ogimago | Bannerbear | @vercel/og | |
|---|---|---|---|
| Free renders / mo | 500 | 0 (trial) | platform-locked |
| Any stack / host | yes | yes | Vercel only |
| No headless Chrome | yes | no | edge runtime |
| Query-param API | one GET | SDK + templates | JS component |
| Entry price | $0 | $49/mo | $0 + Vercel |
competitor positioning per public pricing pages, 2026
“Four hundred blog posts got real OG images in an afternoon. The free tier never blinked.”
Theo Janssen
Indie docs platform founder
sample feedback
free tier
Every page deserves a great preview.
Five hundred renders a month, no card, no Chrome.