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 用于托管动态社交预览图的资源域名,本身不提供面向用户的页面或服务。