OG 图像 API 参考
OG 图像 API 参考涵盖使用 FastOG 生成动态 Open Graph 图像的端点、参数和模板目录。该 API 受订阅限制——需要有效的 Dynamic API 套餐,但渲染本身不计费:没有每月渲染配额,也没有超额计费。HMAC 签名的 URL 可确保每个请求的安全。请注册、选择 Dynamic API 套餐,然后在仪表板中创建您的 API 密钥和 HMAC 密钥;付费 API 渲染无额外费用。生成的 OpenAPI 契约 是参数、错误代码和模板 slug 的权威机器可读列表。
基础 URL
https://fastog.com/api/v1/og
身份验证
所有请求都需要 HMAC-SHA256 签名身份验证。公开的 key 和 s 签名是查询参数;目前不支持基于请求头的身份验证。详情请参阅 HMAC 文档。
端点
GET /api/v1/og
根据提供的参数生成动态 Open Graph 图像。
查询参数
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
template |
string | 否 | 模板名称(默认:default) |
title |
string | 是 | 主标题。必填——没有标题的封面无法作为有效的预览。 |
subtitle |
string | 否 | 副标题或描述文本 |
key |
string | 是 | 完整 API 密钥 |
s |
string | 是 | HMAC-SHA256 签名(64 个十六进制字符) |
模板专属参数
每个模板都接受下方的共享参数以及其模板专属参数(参见索引表)。template 查询参数用于选择使用哪种布局(默认:default)。
共享参数(所有模板)
| 参数 | 类型 | 描述 |
|---|---|---|
title |
string | 主标题文本 |
subtitle |
string | 辅助文本 |
tags |
list | 逗号分隔的标签 |
theme |
string | dark | light | glass | solid | midnight | vivid | paper | glass_light | custom |
gradient_preset |
string | 命名的渐变预设(例如 indigo、ocean、sunset、cosmic) |
gradient_direction |
number | 渐变角度(度)(默认 135) |
bg_color |
hex | 纯色背景色 |
pattern |
string | 背景图案(grid、dots、noise、none、…) |
pattern_color |
hex | 图案颜色 |
pattern_intensity |
number | 图案不透明度(1–30) |
font_family |
string | font-sans、font-jakarta、font-dm、font-outfit、font-space、font-playfair、font-merriweather、font-instrument、font-jetbrains、font-fira |
accent_color |
hex | 用于高亮的强调色 |
auto_text_color |
bool | 从背景推导文本颜色(默认 true) |
title_color |
hex | 覆盖标题颜色 |
subtitle_color |
hex | 覆盖副标题颜色 |
brand_name |
string | 品牌/徽标文本(默认 FastOG) |
brand_logo |
string | 品牌徽标图像 URL |
layout_mode |
string | split | centered | banner(适用模板专属变体) |
模板索引 — 67 个可渲染 slug,48 个可选择。下表记录了最常用的外观及其模板专属 props;完整且自动生成的列表(标签、分类、retired 标记以及所有接受的 slug)位于 /openapi.json 中的 x-template-catalogue 下,每个模板的编辑器字段(key、label、type、default、options 和 URL 格式)位于 x-template-fields 下。Retired slug 仍可渲染,因此已在外部使用的 URL 可以继续正常工作,但选择器不会提供它们。
template |
模板 | 分类 | 附加参数 |
|---|---|---|---|
default |
默认 | 品牌 | — |
blog |
博客文章 | 内容 | author, date, domain |
ecommerce |
电子商务 | 商务 | price, original_price, rating, rating_total, features, badge, cta, image, domain |
company |
公司 | 品牌 | domain, logo, tag |
launch |
产品发布 | 品牌 | kicker, version, tag, cta, domain |
saaslaunch |
SaaS 发布 | 品牌 | kicker, cta, domain |
devtool |
开发者工具 | 开发者 | version, badge, domain |
game |
游戏 | 内容 | price, rating, image, domain |
event |
活动 | 社交 | location, host, date, domain |
quote |
引言 | 社交 | quote, author_name, author_title |
job |
招聘信息 | 社交 | location, department, salary, job_type, domain |
stats |
统计数据 | 数据 | metric, metric_label, delta |
pricing |
定价 | 商务 | price, period, cta |
podcast |
播客 | 媒体 | episode_number, guest_name, guest_role, duration |
video |
视频 | 媒体 | duration, channel, views |
editorial |
社论 | 内容 | kicker, author, date, domain |
minimal |
极简 | 品牌 | domain |
changelog |
更新日志 | 开发者 | version, tag |
corporate |
企业 | 品牌 | kicker, tag, domain |
hero |
主视觉 | 品牌 | kicker, cta, status, domain |
imageright |
图片居右 | 商务 | kicker, price, original_price, rating, rating_total, badge, cta, image, domain |
specgrid |
规格网格 | 商务 | specs (`Label |
logos |
Logo 墙 | 品牌 | kicker, brand_logos, domain |
notice |
通知 | 社交 | notice_status, notice_icon, notice_text, date, domain |
testimonial |
客户评价 | 社交 | quote, author_name, author_title, company, author_avatar, rating, rating_total, quote_style |
logofocus |
Logo 聚焦 | 内容 | kicker, domain |
xheader |
X 页头 | 社交 | size, handle, followers, location, website, avatar |
bento |
Bento | 数据 | kicker, tiles, domain |
comparison |
对比 | 商务 | kicker, left_label, left_desc, left_points, right_label, right_desc, right_points, verdict |
timeline |
时间线 | 内容 | kicker, milestones, domain |
countdown |
倒计时 | 品牌 | kicker, target_date, cta, domain |
news |
新闻 | 内容 | headline, byline, author, date, source, image |
code |
代码 | 开发者 | code, language, terminal_title, author, domain |
testimonialpro |
客户评价 Pro | 社交 | quote, author_name, author_title, company, author_avatar, rating, rating_total, cta |
product |
产品 | 商务 | badge, title, price, original_price, rating, rating_total, features, cta, image, layout_mode |
promo |
促销 | 品牌 | brand_name, benefits, title, subtitle, domain, layout_mode |
devblog |
开发博客 | 内容 | category, title, subtitle, tags, author, author_title, date, read_time, views, likes, comments, code, language, file_path |
codepost |
代码文章 | 内容 | category, date, title, subtitle, author, read_time, code, file_path, language |
statsbar |
统计栏 | 数据 | kicker, metric, metric_label, delta, stats, domain |
changelogpro |
更新日志 Pro | 开发者 | version, tag, title, changes, features, domain |
quotecta |
引言 CTA | 社交 | quote, author_name, author_title, company, cta, domain |
appscreenshot |
应用截图 | 媒体 | badge, title, subtitle, app_name, rating, screenshot, domain |
realestate |
房地产 | 商务 | title, subtitle, price, beds, baths, sqft, cta_text, status, image_url, domain |
autorental |
汽车租赁 | 商务 | title, subtitle, rate_badge, cta_text, fleet_tag, image_url, domain |
restaurant |
餐厅 | 商务 | kicker, title, subtitle, price, cta_text, badge, image_url, domain |
hospitality |
酒店服务业 | 媒体 | kicker, title, subtitle, rate, cta_text, image_url, domain |
saasspend |
SaaS 支出 | 品牌 | status_pill, title, subtitle, cta_text, stat_callout, dashboard_image, domain |
brutalist |
粗野主义 | 品牌 | agency_tag, title, subtitle, cta_text, footer_note, domain |
training |
培训 | 社交 | track, dates, title, subtitle, cta_text, location, image_url, domain |
ecosystem |
生态系统 | 开发者 | kicker, title, subtitle, apps_list, dock_label, domain |
glassproduct 也接受 cta。ecommerce、product、glassproduct 和 imageright 模板默认显示“Shop now”;请将 cta 设置为空值以隐藏该视觉胶囊按钮。
结构化参数类型
| 类型 | 格式 | 示例 |
|---|---|---|
list |
逗号分隔的值 | features=Fast,Cheap,Secure |
tiles |
按行分隔的 label|value 键值对 |
tiles=Requests|12.4M\nUptime|99.99% |
milestones |
按行分隔的 date|title|description |
milestones=Q3 2026|Alpha|Invite-only |
changes |
按行分隔的 type|text(added、fixed、improved、removed) |
changes=added|Bento templates |
响应
- 200 OK — 返回 PNG 图像数据
- 401 Unauthorized — 认证无效或缺失
- 422 Unprocessable — 模板参数无效
错误响应
| 错误代码 | HTTP 状态码 | 描述 |
|---|---|---|
missing_signature |
401 | 缺少 key 或 s 参数 |
invalid_signature |
401 | 签名验证失败 |
示例请求
GET /api/v1/og?template=blog&title=Hello%20World&subtitle=A%20test%20post&key=sk_quick_123abc&s=a1b2c3...
示例 cURL
curl "https://fastog.com/api/v1/og?template=blog&title=Hello%20World&key=sk_quick_123abc&s=<signature>"
定价与限制
FastOG 采用订阅制门槛:需要有效的 Dynamic API 套餐。渲染不计量——没有每月渲染配额,也没有超额计费。套餐就是门槛,每个层级渲染都不计数。当前层级与价格请参阅定价。
缓存图片免费:由 Cloudflare 边缘缓存提供的请求(相同模板 + 参数,无论此前已缓存 URL 上的 s 签名如何)永远不会到达源站,因此相同的 URL 不会消耗另一次渲染。
默认无标识:每次渲染都是干净的——任何套餐都没有水印,免费 OG Image Tester、Studio 预览和 Studio 导出也都没有。对于明确要求“Made with FastOG”徽章的调用方,仍支持 fastog_watermark 渲染属性,但不会自动设置它。
相关
- 文档 — 所有 FastOG 指南和参考
- 免费 OG 图片测试工具— 无需账户即可预览
- 快速入门指南 — 包含架构流程(在渲染时签名)
- HMAC 签名指南
- HMAC 验证
- JavaScript 教程