OG images generated at publish time

Every page deserves its own social preview; hand-making one per article is how OG images end up missing. Render them at publish time instead: your CMS (or static-site build step) POSTs {title}, {author}, {tag} to a 1200×630 template and stores the PNG. Long titles auto-fit instead of overflowing; the brand frame never moves.

Gallery starting points include a blog-post card, a product-launch card, a GitHub-style social card and a glassmorphism card; clone one and re-theme it to your palette in a single apply_theme call.

Start free; 100 renders/month · Documentation

Why teams and agents use it

  • Auto-fitting titles. auto_fit shrinks the headline to fit its box, an 80-character title renders clean instead of clipping.
  • Build-step friendly. Sync render in ~1-3 s fits static-site builds; async + webhook fits CMS publish hooks.
  • Consistent by construction. One template per content type, every preview across the site is on-grid and on-palette.
  • Zero-maintenance. No headless browser to babysit: the render engine is a native binary, and the template is versioned JSON.

One request, one image

curl -X POST https://rendry.io/api/v1/render/sync \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "preset_id": "your-template",
    "dynamic_data": { "title": "Hello", "photo": "https://..." }
  }'
# → 200 OK, {"result_url": "https://rendry.io/....png"}

Ready-made templates for this

  • OG Image — Blog Post: 1200x630 article cover. Dark violet-cyan mesh + grain, category chip, gradient headline, author strip. Mood: modern engineering blog. Use for: blog posts, changelogs, docs. (1200x630)
  • OG Image — Product Launch: 1200x630 launch card. Dark green-cyan mesh, INTRODUCING eyebrow, glowing gradient product name. Mood: keynote moment. Use for: product/feature launches. (1200x630)
  • GitHub Social Card: 1280x640 repo card. GitHub-dark with subtle mesh, mono owner/repo path, gradient repo name, stars and language chips. Mood: native to GitHub. Use for: repository social previews. (1280x640)
  • Glassmorphism Card: Frosted-glass card over a colorful background. Mood: trendy UI. Use for: feature highlights, covers. (1200x630)
  • Newsletter Header: Email header with title and accent shapes. Use for: newsletters and digests. (1200x400)
  • X / Twitter Post Card: X/Twitter 1600x900 text card. Near-black with violet mesh, bold white statement, author strip with avatar. Mood: confident hot take. Use for: quotes, opinions, threads. (1600x900)

Built for AI agents, not just humans

Rendry ships a native remote MCP server (https://rendry.io/api/v1/mcp) with 25 tools. Your agent designs templates from raw JSON DSL, previews them for free, then renders batches. Full control over every pixel stays with the agent, while a human can always open the same template in the visual editor and adjust it. No headless browser, no screenshot hacks, no glue code.

Machine-readable: llms.txt · llms-full.txt · openapi.json · mcp.json

Frequently asked questions

What size should OG images be?
1200×630 px is the safe standard for Open Graph and Twitter summary_large_image; the gallery templates use exactly that canvas.
How do I integrate with my static site generator?
Call /render/sync per page during the build (it answers in ~1-3 s), or pre-render only new/changed pages by hashing the title. The API is a plain HTTP POST, every SSG can call it.
Can the preview include the post cover photo?
Yes: image layers accept a dynamic URL: pass the cover image per render and it composes into the template with your overlay and typography.

Related