API ドキュメント
URL を組み立てるだけで OGP 画像を生成できます。アカウント不要。
エンドポイント
GET /api/img
クエリパラメータで画像(PNG)を生成します。
GET /api/prefill?url=<記事URL>
記事ページの <title> / description / og: をサーバ側で取得し JSON {ok,title,description,siteName} を返します(SSRF防御あり)。
POST /api/sign
本番の署名URL発行(Turnstile+軽度モデレーション)。※現在はプレビュー段階のため /api/img は未署名で配信中です。
パラメータ(/api/img)
| パラメータ | 型 | 説明 |
|---|---|---|
template | enum | minimal(記事) grid(技術) band(告知) quote(引用) number(数字) versus(対比) photo(写真) serif(エッセイ) code(コード) changelog(更新) list(リスト) profile(名刺)。既定 minimal |
title | string | 各テンプレの主テキスト。最大48書記素、超過は「…」で省略 |
subtitle | string | 各テンプレの副テキスト(引用の出典・数字の説明・告知の帯など)。最大64書記素。任意 |
theme | enum | default(ライト)/ night(ダーク)。未知の値は既定にフォールバック |
font | enum | sans / serif。quote・serif は常に明朝 |
size | enum | og(1200×630) / x(1600×900) / square(1080×1080) |
bg, fg, accent | hex色 | カスタム配色。3つ揃うとスウォッチ配色より優先。任意 |
| 拡張パラメータ | string | UIは title/subtitle のみだが、各テンプレ固有の項目も同名クエリで上書き可: label badge date unit caption bandText attribution kicker issue author leftLabel leftValue rightLabel rightValue footer。任意 |
実例URL
https://og.onenorth.jp/api/img?template=minimal&title=デザインせずに、綺麗なシェア画像を。&subtitle=onenorth.jp
https://og.onenorth.jp/api/img?template=number&title=128&unit=%&subtitle=前月比の伸び
https://og.onenorth.jp/api/img?template=quote&title=良い道具は、手が先に動く。&subtitle=— 詠み人知らず&theme=night
キャッシュ
/api/img のレスポンスは現在 cache-control: public, max-age=60 です。将来はコンテンツアドレス方式(URLが同じなら不変・長期キャッシュ)に移行予定です。
署名(本番公開時)
一般公開時は Turnstile + 軽度モデレーションを通過した署名付きURLのみ有効になり、未署名リクエストは 403 になります。OGクローラは JS/Turnstile を実行できないため、モデレーションは画像生成(署名発行)時に一度だけ行い、以降クローラには署名済み=承認済みの画像を配信するだけ、という設計です。