ImageResponse
Le constructeur ImageResponse
vous permet de générer des images dynamiques en utilisant JSX et CSS. Cela est utile pour générer des images pour les réseaux sociaux comme les images Open Graph, les cartes Twitter, et plus encore.
Référence
Paramètres
Les paramètres suivants sont disponibles pour ImageResponse
:
Des exemples sont disponibles dans le Vercel OG Playground.
Fonctionnalités HTML et CSS prises en charge
ImageResponse
prend en charge les propriétés CSS courantes, y compris flexbox et le positionnement absolu, les polices personnalisées, le retour à la ligne du texte, le centrage et les images imbriquées.
Veuillez consulter la documentation de Satori pour une liste des fonctionnalités HTML et CSS prises en charge.
Comportement
ImageResponse
utilise @vercel/og, Satori et Resvg pour convertir HTML et CSS en PNG.- Seuls flexbox et un sous-ensemble de propriétés CSS sont pris en charge. Les mises en page avancées (par exemple
display: grid
) ne fonctionneront pas. - Taille maximale du bundle de
500KB
. La taille du bundle inclut votre JSX, CSS, polices, images et tout autre actif. Si vous dépassez la limite, envisagez de réduire la taille des actifs ou de les récupérer au moment de l'exécution. - Seuls les formats de police
ttf
,otf
etwoff
sont pris en charge. Pour maximiser la vitesse d'analyse des polices,ttf
ouotf
sont préférés àwoff
.
Exemples
Gestionnaires de route
ImageResponse
peut être utilisé dans les gestionnaires de route pour générer des images dynamiquement au moment de la requête.
Métadonnées basées sur des fichiers
Vous pouvez utiliser ImageResponse
dans un fichier opengraph-image.tsx
pour générer des images Open Graph au moment de la construction ou dynamiquement au moment de la requête.
Polices personnalisées
Vous pouvez utiliser des polices personnalisées dans votre ImageResponse
en fournissant un tableau fonts
dans les options.
Historique des versions
Version | Changements |
---|---|
v14.0.0 | ImageResponse déplacé de next/server vers next/og |
v13.3.0 | ImageResponse peut être importé depuis next/server . |
v13.0.0 | ImageResponse introduit via le package @vercel/og . |