Generate Open Graph images with an API
Auto-render a unique social share image for every page, post and product — from one template and your data. No design tool, no screenshots, no stale cards.
100 renders / month free · no card · paid plans are never blockedTry it free: check any page’s Open Graph image →How it works
Design the card once
Lay out the title, description, author and background as a reusable template in the editor.
Pass your page data
Send the title and any fields to the API — or drop them in a signed render-by-URL straight in your og:image tag.
Cache & serve
Identical requests return the cached image and aren't re-billed, so high-traffic pages stay free to share.
One API call
curl https://api.mostlyrender.com/v1/renders \
-H "Authorization: Bearer mr_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"templateId":"tpl_og_card","modifications":{"title":"Ship a render API that never cuts you off","subtitle":"Templates · overage billing · real free tier"}}'Questions
Can I render the OG image straight from a URL?
Yes. A signed render URL puts the data in the query string of your og:image tag — for example /v1/templates/tpl_abc/render.png?title=Hello&sig=… — so no backend code runs per page. The signature stops anyone changing the data or pointing it at another template.
Are repeated renders re-billed?
No. The same template and data return the cached image and aren’t counted again, so a post that gets shared thousands of times costs one render.
What size should an Open Graph image be?
1200 × 630 pixels (a 1.91:1 ratio) is the size most platforms expect for a large link preview, and declaring og:image:width and og:image:height lets Facebook show the image the first time a link is shared. Templates are size-specific: set the share card’s canvas to 1200 × 630 and keep separate square or portrait templates for other placements.
Which formats can I output?
PNG (the default, lossless), JPEG, WebP or PDF. For social cards PNG or JPEG is the safe choice; signed URLs also accept q (0–100) for JPEG/WebP quality and scale (1–3) for sharper retina output.
Is my API key exposed in the og:image URL?
No. The URL carries an HMAC signature made with your URL-signing secret, never your API key. Keep the secret server-side; rotating it in Settings invalidates every URL signed with the old one.
What happens if a page goes viral?
Cached URLs keep serving without limit. Only uncached renders are rate-limited per template (you’d see a 429 with Retry-After), and on paid plans renders past your included amount are billed as overage rather than blocked.
Can I generate OG images without writing code?
Yes. Build the template in the editor, then press Get signed URL in the Playground and paste it into your og:image tag, or drive renders from an n8n workflow.