ShotpaneGet a free key

OG Image API for dynamic social cards

Open Graph images drive click-through on every share, but generating them dynamically is annoying: @vercel/og runs on the Edge with a hard bundle-size limit and Satori’s CSS subset, and rolling your own Chromium bloats your functions. Shotpane flips it: design your card as a normal page (any HTML/CSS/fonts you want), then render it to a 1200×630 PNG with one call.

How it works

Build a route that renders your card (e.g. /og/[slug]), then point the OG API at it and use the result as your og:image.

// in your <head> / Next.js metadata
openGraph: {
  images: [
    "https://www.shotpane.com/api/v1/og" +
    "?url=" + encodeURIComponent("https://myapp.com/og/" + slug) +
    "&key=" + process.env.SHOTPANE_KEY,
  ],
}

Why not @vercel/og?

Free key, 100 renders/mo, no card. Works from REST or the MCP server.

Get a free key →