Static metadata
Export a metadata object from any layout or page. The framework merges nested layouts' metadata, with the page taking precedence. Title templates compose: %s | My App.
Dynamic metadata
Export an async generateMetadata({ params }) for routes whose tags depend on data (blog post title, product name, user page).
Open Graph images, generated server-side
Drop an opengraph-image.tsx in any segment and Next.js renders it via Vercel's Satori-based ImageResponse. No design tool, no preflight; you author OG images as React JSX.