Course Open Graph Image Template
A course card with a title, module and hour chips, and instructor byline.
A course card with a title, module and hour chips, and instructor byline.
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 Course template for an online course landing or enrollment page. The academy brand and a Course label frame the top, the course title and a one line pitch fill the middle, and module, length, and certificate chips sit beside the instructor byline at the bottom. It tells a prospective learner what they get and who teaches it before they click through.
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 a course 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. The instructor byline pairs an initials avatar with the name, so the teacher reads as a person.
Install with the shadcn CLI using your Shadcn UI Blocks API key:
npx shadcn@latest add @shadcn-ui-blocks/og-image-online-course
The file lands at app/opengraph-image.tsx, which makes it the site wide share card. For a catalog, move it into the course segment instead, for example app/courses/[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 brand, label, title, description, chips, instructor, and initials. The chips array carries the syllabus facts, module count, length, and certificate, three by default, each a bordered pill; add or drop entries to match the course. The initials fill the avatar tile beside the instructor byline, so set both together. The title runs at 62px over about two lines, so trim the fontSize for longer names. Swap the single letter brand tile for your mark with an inline svg.
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.