You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vercel Edge部署的Next.js应用中@vercel/og接口无法显示图片

解决@vercel/og返回空白图片的问题

你的问题核心是ImageResponse生成的内容缺少可见样式,导致呈现为空白。以下是具体修复方案:

1. 给JSX内容添加基础样式

默认情况下,@vercel/og的JSX容器未设置背景色、文本颜色和布局规则,大概率出现文本与背景色一致(均为白色)的情况,导致内容不可见。修改你的/pages/api/og.js代码:

import { ImageResponse } from '@vercel/og'

export const config = {
  runtime: 'edge', // 建议使用稳定版edge runtime,替代experimental-edge
};

export const handler = (request) => {
  return new ImageResponse(
    (
      // 添加布局、背景色、文本样式
      <div 
        style={{ 
          width: '100%', 
          height: '100%', 
          display: 'flex', 
          alignItems: 'center', 
          justifyContent: 'center',
          backgroundColor: '#ffffff',
          color: '#000000',
          fontSize: 64,
          fontWeight: 'bold'
        }}
      >
        <p>test</p>
      </div>
    ),
    {
      width: 1200,
      height: 630
    }
  );
};

export default handler;

2. 直接验证接口可用性

先在浏览器中打开https://你的域名/api/og,确认图片是否正常显示。如果此时能看到内容,说明meta标签配置无问题,之前的空白是生成的图片本身无可见内容导致的。

3. 检查依赖版本

确保@vercel/og为最新版本,旧版本可能存在渲染bug。执行以下命令更新:

npm update @vercel/og

关于meta标签的补充

你的meta标签配置本身无问题,但可以在页面中打印baseUrl,确认process.env.NEXT_PUBLIC_HOST是否正确注入,避免出现URL拼接错误。

内容的提问来源于stack exchange,提问作者J. Whitehead

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:55:30