ImageResponse
ImageResponse
コンストラクタを使用すると、JSX と CSS を使って動的な画像を生成できます。Open Graph 画像や Twitter カードなどのソーシャルメディア向け画像を生成するのに便利です。
リファレンス
パラメータ
ImageResponse
で利用可能なパラメータは以下の通りです:
使用例は Vercel OG Playground で確認できます。
サポートされる HTML と CSS 機能
ImageResponse
は、flexbox や絶対位置指定、カスタムフォント、テキスト折り返し、中央揃え、ネストされた画像など、一般的な CSS プロパティをサポートしています。
サポートされる HTML と CSS 機能の詳細については、Satori のドキュメントを参照してください。
動作
ImageResponse
は @vercel/og、Satori、Resvg を使用して HTML と CSS を PNG に変換します。- flexbox と CSS プロパティの一部のみがサポートされています。高度なレイアウト(例:
display: grid
)は動作しません。 - 最大バンドルサイズは
500KB
です。バンドルサイズには JSX、CSS、フォント、画像、その他のアセットが含まれます。制限を超える場合は、アセットのサイズを削減するか、実行時にフェッチすることを検討してください。 - フォント形式は
ttf
、otf
、woff
のみがサポートされています。フォント解析速度を最大化するため、woff
よりもttf
またはotf
が推奨されます。
使用例
ルートハンドラー
ImageResponse
はルートハンドラーで使用でき、リクエスト時に動的に画像を生成できます。
ファイルベースのメタデータ
opengraph-image.tsx
ファイルで ImageResponse
を使用すると、ビルド時またはリクエスト時に動的に Open Graph 画像を生成できます。
カスタムフォント
オプションで fonts
配列を指定することで、ImageResponse
でカスタムフォントを使用できます。
バージョン履歴
バージョン | 変更内容 |
---|---|
v14.0.0 | ImageResponse が next/server から next/og に移動 |
v13.3.0 | next/server から ImageResponse をインポート可能に |
v13.0.0 | @vercel/og パッケージ経由で ImageResponse 導入 |