og.onenorth.jp

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)

パラメータ型説明
templateenumminimal(記事) grid(技術) band(告知) quote(引用) number(数字) versus(対比) photo(写真) serif(エッセイ) code(コード) changelog(更新) list(リスト) profile(名刺)。既定 minimal
titlestring各テンプレの主テキスト。最大48書記素、超過は「…」で省略
subtitlestring各テンプレの副テキスト(引用の出典・数字の説明・告知の帯など)。最大64書記素。任意
themeenumdefault(ライト)/ night(ダーク)。未知の値は既定にフォールバック
fontenumsans / serif。quote・serif は常に明朝
sizeenumog(1200×630) / x(1600×900) / square(1080×1080)
bg, fg, accenthex色カスタム配色。3つ揃うとスウォッチ配色より優先。任意
拡張パラメータstringUIは 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 を実行できないため、モデレーションは画像生成(署名発行)時に一度だけ行い、以降クローラには署名済み=承認済みの画像を配信するだけ、という設計です。