详细分析 ▾
运行时依赖
版本
Initial release
安装命令
点击复制技能文档
# SnapOG — 社交媒体图片生成 基于专业模板,通过 SnapOG API 生成 OG 图片、社交卡片和营销视觉素材。返回完美像素的 PNG,耗时低于 100 毫秒。 API 根地址: https://api.snapog.dev ## 认证 所有生成请求都需要 Bearer 令牌。API 密钥从 SNAPOG_API_KEY 环境变量读取。 `` Authorization: Bearer $SNAPOG_API_KEY ` 预览和模板列表端点无需认证即可访问。 ## 可用模板 | 模板 | ID | 适用场景 | |----------|----|----------| | 博客文章 | blog-post | 博客文章、教程、文档 | | 公告 | announcement | 产品发布、更新、上线 | | 数据卡片 | stats | 指标仪表板、季度结果 | | 引语 | quote | 客户评价、引用、社媒分享 | | 产品卡片 | product | SaaS 产品、定价、功能 | | GitHub 仓库 | github-repo | 开源项目、仓库卡片 | | 活动 | event | 会议、聚会、网络研讨会 | | 更新日志 | changelog | 发布说明、版本更新 | | 品牌卡片 | brand-card | 公司页面、文档、营销 | | 照片头图 | photo-hero | 博客头图、新闻、作品集 | ## 核心工作流 ### 1. 列出模板并发现参数 `bash curl https://api.snapog.dev/v1/templates ` 返回所有模板及其 paramSchema(参数名称、类型、必填字段、默认值)。如果用户未指定模板,务必先调用此接口。 ### 2. 生成图片(POST) 用于下载图片或使用高级选项: `bash curl -X POST https://api.snapog.dev/v1/generate \ -H "Authorization: Bearer $SNAPOG_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "template": "blog-post", "params": { "title": "Building with MCP", "author": "Taylor", "tags": ["AI", "Tools"], "accentColor": "#6366f1" } }' \ --output og-image.png ` POST 请求体字段: - template(字符串,必填)——模板 ID - params(对象,必填)——模板参数 - width(数字)——图片宽度,单位像素(默认:1200) - height(数字)——图片高度,单位像素(默认:630) - format("png" | "svg" | "pdf")——输出格式(默认:png) - fontFamily(字符串)——任意 Google 字体名称 - webhook_url(字符串)——生成完成后回调的 URL 直接将响应体保存为 .png 文件。响应的 Content-Type 为 image/png。 ### 3. 通过 URL 生成(GET) 当用户需要在 HTML meta 标签、Markdown 或任何需要图片 URL 的场景使用时: ` https://api.snapog.dev/v1/og/blog-post?title=Building+with+MCP&author=Taylor&tags=AI,Tools ` 该 URL 本身即返回图片。参数通过 query string 传递。需要 Authorization 头或签名 URL。 ### 4. 预览模板(无需认证) `bash curl https://api.snapog.dev/v1/preview/blog-post --output preview.png ` 使用默认参数渲染模板。便于在用户自定义前展示模板效果。 ### 5. 创建签名 URL(用于 meta 标签) 签名 URL 允许你在 标签中嵌入图片,而无需暴露 API 密钥: `bash curl -X POST https://api.snapog.dev/v1/sign \ -H "Authorization: Bearer $SNAPOG_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "template": "blog-post", "params": { "title": "My Post" }, "expiresIn": 86400 }' ` 返回 { "url": "https://api.snapog.dev/v1/og/blog-post?title=...&token=..." }。该 URL 无需认证,可直接写入 HTML: `html ` ### 6. 批量生成(多尺寸) 一次性生成同一张图片的多个尺寸: `bash curl -X POST https://api.snapog.dev/v1/batch \ -H "Authorization: Bearer $SNAPOG_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "template": "blog-post", "params": { "title": "My Post" }, "sizes": ["og", "twitter", "farcaster", "instagram-square"] }' ` 尺寸预设: og (1200x630)、twitter (1200x628)、farcaster (1200x800)、instagram-square (1080x1080)、instagram-story (1080x1920)、linkedin (1200x627)、facebook (1200x630)、pinterest (1000x1500)。 ## 通用参数 大多数模板支持以下共享参数: - title(字符串,必填)——主标题 - accentColor(颜色)——主题色,如 #6366f1 - logo(url)——Logo 图片地址 - fontFamily(字符串)——任意 Google 字体,如 "Space Grotesk" 每个模板还有额外专属参数。调用 /v1/templates 查看任意模板的完整 schema。 ## 使用提示 - 选择模板: 按内容类型匹配——文章用 blog-post,发布用 announcement,开源项目用 github-repo,数据用 stats,评价用 quote。 - 颜色: 传入 hex 色值,如 #6366f1。大多数模板支持 accentColor 自定义主题色。 - 数组: tags 和 changes 等字段需用 JSON 数组:["tag1", "tag2"]。 - 数据: stats 模板期望 JSON 数组:[{"label": "Users", "value": "10K"}]。 - 图片: logo、image、authorImage 等需传入公开可访问的 URL。 - 输出: 默认 1200x630 PNG(标准 OG 尺寸)。使用 width/height 自定义。 - 格式: "svg" 用于矢量输出,"pdf" 用于打印就绪文档。 ## 完整 API 文档 获取完整 API 参考(Markdown 格式,便于深度集成): `bash curl https://api.snapog.dev/v1/docs ``