Dynamic OG Images in Astro, Hugo and Eleventy
Pre-generate per-page Open Graph images at build time across three popular static site generators. Working code, caching, and meta-tag wiring covered for each.
Tutorials, framework guides, comparisons, and deep dives on rendering HTML to images at scale. Worked examples in PHP, Laravel, Rails, Python, JavaScript, React and Vue.
Pre-generate per-page Open Graph images at build time across three popular static site generators. Working code, caching, and meta-tag wiring covered for each.
Generate per-page Open Graph images in Laravel with Browsershot, Puppeteer Lambda or an API. Working code, queue handling and storage covered for each.
@vercel/og renders emoji as empty boxes by default because Satori does not bundle a color font. Three fixes, with code, and one production-ready alternative.
Render Chart.js charts on the server and get back a PNG. A cleaner alternative to chartjs-node-canvas or wrestling with matplotlib in Python.
Rendering invoices as PNGs that actually look professional. Laravel Blade templates, a clean API call, and no Puppeteer to maintain.
Tired of chrome-aws-lambda breaking on every Chrome update? Here's a cleaner way to run screenshot workloads without managing Chromium yourself.
Hit a wall with Satori's CSS limits? Here's how to generate dynamic OG images in Next.js using a real browser renderer, with full working code.
Learn how to generate a screenshot using cURL using the HTML to Image API. With full examples, including dimensions and webhook usage.
Browse the template gallery for invoices, OG images, code screenshots and more.
Authentication, parameters, language guides and named templates.