opengraph.githubassets.com 生成的图片是什么格式和尺寸?

更新时间

opengraph.githubassets.com 返回的是 PNG 格式图片,常见尺寸为 1200 × 630 像素,这是 GitHub 为仓库、Issue、Pull Request 等页面自动生成的社交预览卡片(Open Graph 图)。它适合在 Twitter/X、Facebook、Slack、Discord 等平台展示链接预览,但不适合当作长期稳定的图床使用——图片由 GitHub 按页面信息动态生成,直接引用其地址会受服务策略和缓存影响。

这个域名到底是做什么的

当你在社交平台或聊天工具里粘贴一个 GitHub 链接时,对方抓取到的预览图通常就来自 opengraph.githubassets.com。GitHub 会读取该页面的标题、描述、作者、Star 数、语言等信息,实时合成一张卡片图返回。

关键点在于:

  • 它是动态生成的,不是某个用户上传后固定存放的静态文件。
  • 同一页面在不同时间抓取,图片内容可能变化(比如 Star 数、描述更新)。
  • URL 中带有哈希或参数,用于标识具体页面和版本,缓存策略由 GitHub 控制。

格式与尺寸

项目 说明
图片格式 PNG
常见尺寸 1200 × 630 像素
宽高比 约 1.91:1,符合主流社交平台的大图卡片规范
内容 由 GitHub 根据页面信息动态渲染,包含标题、描述、统计等

1200 × 630 是 Open Graph 协议里被广泛推荐的尺寸,几乎所有主流平台都会按这个比例裁剪或缩放,因此 GitHub 选择它作为默认输出。

能不能直接用到自己的项目里

可以临时引用,但要清楚限制:

  • 不要当图床。把 opengraph.githubassets.com/... 的地址硬编码进自己的网页或 App,一旦 GitHub 调整生成逻辑、缓存策略或访问限制,图片就可能失效或显示空白。
  • 缓存不可控。你无法主动刷新或固定某个版本,平台侧和 GitHub 侧的缓存都会影响最终显示。
  • 内容不由你决定。图片内容取决于对应 GitHub 页面的信息,你无法自定义文案或排版。

如果你的目标是给自己的网站配置社交预览图,正确做法是在页面 <head> 里设置 Open Graph 元标签,指向你自己托管的图片:

<meta property="og:image" content="https://your-site.com/preview.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />

这样图片地址、内容、缓存都由你自己掌控,也不会依赖 GitHub 的服务状态。

常见疑问

图片加载失败或显示空白怎么办? 先确认链接对应的 GitHub 页面是否公开可访问;私有仓库或已删除页面的预览图通常无法生成。其次检查网络是否能访问该域名,部分网络环境下可能被拦截。如果只是社交平台不显示,多半是平台缓存了旧的抓取结果,可尝试用平台的调试工具重新抓取。

为什么分享 GitHub 链接会出现这张图? 因为 GitHub 在页面里声明了 Open Graph 元标签,平台抓取时按标签指向的地址去取图,这个地址就是 opengraph.githubassets.com。这是标准行为,不是异常。

这个域名是独立网站吗? 不是。它是 GitHub 用于托管动态社交预览图的资源域名,本身不提供面向用户的页面或服务。