1 · Design one HTML template
A 1200×630 <div> with your fonts, brand gradient and slots for the page title, author and date. Plain HTML and CSS — no headless-Chrome setup of your own.
Generate share-perfect Open Graph and Twitter-card images automatically — render an HTML template to a crisp 1200×630 PNG with one API call, or preview how any URL's og:image looks when shared.
curl "https://screenshotink.com/v1/capture" \
-H "Authorization: Bearer sk_live_…" \
--data-urlencode html="<div class='card'>…</div>" \
-d width=1200 -d height=630 \
-d full_size=false -d format=png
{ "image_url": "…/og-7f3a.png", "width": 1200, "height": 630 }
full_size=false + fixed width/height = exact OG dimensions · no stitching
An Open Graph image is the picture that shows up when a link gets shared — in a tweet, a LinkedIn post, a Slack channel, an iMessage, a Discord embed. It's the single biggest factor in whether anyone clicks the link.
Each page declares its card with two meta tags in the <head>: og:image (the Open Graph standard, used by Facebook, LinkedIn, Slack and most platforms) and twitter:image (X's Twitter-card variant). Both point at a hosted image URL — and that image is what you generate here.
<meta property="og:image" content="…/og/post-42.png">
<meta name="twitter:image" content="…/og/post-42.png">
<meta name="twitter:card" content="summary_large_image">
Paste any URL to see how its page renders before it lands in a share card. Useful for spotting a broken layout, missing image or low-contrast text before you ship the meta tags.
Your capture renders here — stamped and ready.
Pouring ink… rendering page
Capture failed
Check the URL and try again.
For a true 1200×630 card, call the API with width=1200 height=630 full_size=false
Hand-designing a share image for every blog post, product page or changelog entry doesn't scale. Build one HTML template with placeholders — title, author, date, gradient — and let the API stamp out a unique 1200×630 PNG per page, at build time or on the fly per request.
A 1200×630 <div> with your fonts, brand gradient and slots for the page title, author and date. Plain HTML and CSS — no headless-Chrome setup of your own.
Interpolate each page's data into the template, then --data-urlencode html=… with width=1200 height=630 full_size=false. Hosted Chromium renders the exact card.
Save the returned image to your CDN and reference it from og:image. Identical requests are cached 24h, so repeat builds of the same card cost nothing.
We dogfood this: every ScreenshotInk page renders its own OG card through the same HTML-to-image path you'd use.
1200×630 is the size every major platform agrees on for a large summary card — a 1.91:1 aspect ratio. Facebook, LinkedIn, Slack and X all crop to it, so a card built at exactly these dimensions shows edge-to-edge without letterboxing or an awkward center-crop.
The trick is telling the API to take a fixed-size shot, not a full-page one. Set full_size=false with an explicit width=1200 and height=630 — the capture is clipped to exactly that viewport instead of scrolling. See every option in the request parameters reference.
Rendered at 1.91:1 — fills the share card edge to edge on every platform.
The preview tool above and the OG generator are the same capture engine behind the ScreenshotInk API. When you're ready to wire share cards into your build pipeline or generate them per request, the API takes the same parameters you see here.
EU-hosted rendering, identical requests cached for 24 hours, and every plan includes bulk capture, visual diff, Lighthouse audits and an MCP server for AI agents.
curl "https://screenshotink.com/v1/capture" \
-H "Authorization: Bearer sk_live_…" \
--data-urlencode html="<div class='og'>Post title</div>" \
-d width=1200 -d height=630 \
-d full_size=false -d format=png
{ "image_url": "…/og-post-42.png", "width": 1200, "height": 630 }
1200×630 pixels is the canonical Open Graph and Twitter-card size. Capture with width=1200, height=630 and full_size=false for exact dimensions.
Render an HTML template to a 1200×630 PNG via /v1/capture — per post, per product, per page — at build time or on the fly. ScreenshotInk generates its own OG cards this way.
Yes — capture the page and check how it renders, or generate a fresh card from your own template when the existing one is missing or stale.
A free API key includes 100 captures a month, no card. Identical requests are cached for 24 hours, so regenerating the same card is free.