You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be great if Void provided an ImageResponse compatible with next/og, so OG images can be generated from JSX in Void apps (e.g. import { ImageResponse } from 'void/og').
Motivation
Most apps need dynamic OG images, and next/og is the API most people (and coding agents) already know. If existing next/og code worked by just changing the import, moving from Next.js/Vercel to Void would be much easier.
Setting this up yourself on Workers is surprisingly tricky. Satori and resvg ship Wasm that has to be loaded as precompiled modules on workerd, and recent Satori versions don't run on Workers out of the box. This feels like something Void could solve once for everyone. vinext already has a next/og shim, but that only helps vinext apps.
Why Satori and not Cloudflare Images
Cloudflare Images can transform and overlay images, and recently added basic text rendering. But it has no layout engine: no JSX/HTML/CSS input, no flexbox, no nested styled elements. So it can't reproduce what next/og does. next/og itself is built on Satori + resvg, so building on vercel/satori is the most straightforward way to get the same output.
If this direction is appropriate, I would be happy to help implement the prototype.
Activity
[-]next/og compatible function built on Satori[/-][+]`next/og` compatible function built on Satori[/+]cpojer commentedon Oct 16, 2026
I'd like to see what this could look like as a PR!