ImageResponse
ImageResponse
构造函数允许您使用 JSX 和 CSS 生成动态图像。这对于生成社交媒体图像(如 Open Graph 图像、Twitter 卡片等)非常有用。
参考
参数
ImageResponse
可使用以下参数:
示例可在 Vercel OG Playground 中查看。
支持的 HTML 和 CSS 功能
ImageResponse
支持常见的 CSS 属性,包括 flexbox 和绝对定位、自定义字体、文本换行、居中和嵌套图像。
有关支持的 HTML 和 CSS 功能列表,请参阅 Satori 文档。
行为
ImageResponse
使用 @vercel/og、Satori 和 Resvg 将 HTML 和 CSS 转换为 PNG。- 仅支持 flexbox 和部分 CSS 属性。高级布局(如
display: grid
)将无法使用。 - 最大包大小为
500KB
。包大小包括您的 JSX、CSS、字体、图像和其他资源。如果超出限制,请考虑减少资源大小或在运行时获取。 - 仅支持
ttf
、otf
和woff
字体格式。为了最大化字体解析速度,ttf
或otf
比woff
更推荐。
示例
路由处理器
ImageResponse
可在路由处理器中使用,以在请求时动态生成图像。
基于文件的元数据
您可以在 opengraph-image.tsx
文件中使用 ImageResponse
,以在构建时或请求时动态生成 Open Graph 图像。
自定义字体
您可以通过在选项中提供 fonts
数组,在 ImageResponse
中使用自定义字体。
版本历史
版本 | 变更内容 |
---|---|
v14.0.0 | ImageResponse 从 next/server 移至 next/og |
v13.3.0 | ImageResponse 可从 next/server 导入。 |
v13.0.0 | 通过 @vercel/og 包引入 ImageResponse 。 |