One GET request · Zero dependencies

Social cards,
generated on the fly

Drop a URL in your <meta> tag and get a beautiful Open Graph image. Five templates, full color control, sub-100ms rendering.

Try it live Read the docs

Live playground

Everything renders right here — this page calls the API itself.

Generated OG image preview

Dead simple API

One endpoint. Query params in, PNG out.

<!-- Drop this in your <head> --> <meta property="og:image" content="https://your-deployment.com/v1/generate?title=My%20Page&template=gradient"> # Or from anywhere curl "https://your-deployment.com/v1/generate" \ --get --data-urlencode "title=Hello world" \ --data-urlencode "template=split" \ --data-urlencode "accent_color=#6366f1" \ -o card.png

Why OG Forge

⚡ Sub-100ms renders

Pure Pillow rendering pipeline. No headless browsers, no external AI APIs, no cold-start containers.

🎨 5 battle-tested templates

Gradient, Split, Spotlight, Banner, Minimal. Auto-fitting typography means no broken layouts.

🔧 Self-host in minutes

Single Docker image, ~60MB. Runs on any free tier — Fly.io, Railway, Render, your own VPS.

🔑 Freemium built in

Per-IP rate limiting out of the box; API-key tiers ready for Stripe/Lemon Squeezy provisioning.

📐 Any size

1200×630 default, but any dimensions from 200px to 2400px. Twitter, LinkedIn, custom — covered.

🛡 No tracking

No cookies, no analytics beacons, no PII stored. Requests render and vanish.

Pricing

Host it yourself and it's free forever. Or use a hosted deployment.

Free — $0

Self-hosted. Unlimited. The MIT license lets you run it commercially.

Hosted Free — $0

10 images/minute per IP. Perfect for blogs and side projects.

Hosted Pro — $9/mo

Unlimited renders, priority queue, custom fonts, template API.

Payments are being set up. Leave your email and be first in line: