og-image
Installation
SKILL.md
OG image generation
Spec
- Dimensions: 1200×630 (OG 1.91:1) primary. Optional: 1080×1080 square (Instagram), 2:1 Twitter Card
summary_large_image. - Format: PNG or JPEG, <5MB, served over absolute HTTPS URL, no auth headers.
- Text: Deterministic — use Satori + real fonts. Never sample typography from a diffusion model for OG cards; headlines get garbled (see logo skill § 3-word rule).
- Headline: ≤8 words, 64–96pt. Subheadline: ≤15 words, 28–36pt.
- Contrast: WCAG AA min 4.5:1 (Slack/Discord render inside their own color backgrounds).
Architecture
Default: template-based, no diffusion. The OG engine is:
- Satori — converts JSX or HTML+CSS to SVG with real font shaping.
@resvg/resvg-js— rasterizes the SVG to PNG deterministically, no system fonts leaked.- Optional hero layer — if brief says "with illustration," diffusion-generate a 1200×630 background and composite the Satori-rendered text layer on top.
@vercel/og— reference Satori wrapper if running inside Next.js/Vercel.