Podcast episode Open Graph Image Template
A dark episode card with guest names and a waveform art panel.
A dark episode card with guest names and a waveform art panel.
Every Open Graph image template is included with Basic and Pro. Pick a plan to copy the code, install with the CLI, and download the raw SVG.
Already purchased? Log in
Use the Podcast episode template for episode pages and show notes. The left side carries the show brand, episode number, title, and guests; the right side is a waveform panel drawn in code that reads instantly as audio. It gives every episode a consistent, recognizable card in feeds without exporting artwork per episode.
This template is a metadata image route for the Next.js App Router. The file exports size, contentType, and alt values plus a default async function that returns an ImageResponse. When an episode page is shared, satori converts the JSX into an SVG document, the runtime rasterizes that SVG into a 1200 by 630 PNG, and Next.js serves the result and wires the og:image and twitter:image tags into the page head automatically. Episode number, title, and guests can all flow in from the same data that renders the page.
Install with the shadcn CLI using your Shadcn UI Blocks API key:
npx shadcn@latest add @shadcn-ui-blocks/og-image-podcast-episode
The file lands at app/opengraph-image.tsx, which makes it the site wide share card. For a show, move it into the episode segment instead, for example app/episodes/[slug]/opengraph-image.tsx. You can also copy the code from this page straight into your project.
The card renders text with Inter, read from assets/fonts at your project root with node:fs so the font files never ship to the browser. Download the latin woff files for weights 400, 500, 600, and 700 from Fontsource and save them as assets/fonts/inter-latin-400-normal.woff and so on.
The content object holds the show brand, episode label, title, guest line, duration, and url. The waveform array drives the bar heights in the art panel; every third bar renders white, so reordering the values changes which peaks catch the eye. If your show has real cover art, replace the panel with an img element pointing at an absolute URL and satori will fetch it at render time. Titles hold up to about two lines at this size.
satori supports a focused subset of CSS: flexbox layout only, flat colors, and an explicit display: flex on any element with multiple children. Keep those rules in mind if you rework the layout.