OG-Image-API-Referenz
Die OG-Image-API-Referenz beschreibt den Endpunkt, die Parameter und den Template-Katalog zum Generieren dynamischer Open-Graph-Bilder mit FastOG. Die API ist an ein Abonnement gebunden — ein aktiver Dynamic-API-Plan ist erforderlich, aber die Renders selbst werden nicht abgerechnet: Es gibt kein monatliches Render-Kontingent und keine Abrechnung für Überschreitungen. HMAC-signierte URLs sichern jede Anfrage ab. Registrieren Sie sich, wählen Sie einen Dynamic-API-Plan und erstellen Sie anschließend Ihren API-Schlüssel und Ihr HMAC-Secret im Dashboard; bezahlte API-Renders sind sauber. Der generierte OpenAPI-Vertrag ist die maßgebliche maschinenlesbare Liste der Parameter, Fehlercodes und Template-Slugs.
Basis-URL
https://fastog.com/api/v1/og
Authentifizierung
Alle Anfragen erfordern eine HMAC-SHA256-Signaturauthentifizierung. Der öffentliche key und die s-Signatur sind Query-Parameter; headerbasierte Authentifizierung wird derzeit nicht unterstützt. Details finden Sie in der HMAC-Dokumentation.
Endpoint
GET /api/v1/og
Erzeugt ein dynamisches OG-Bild (Open Graph) basierend auf den übergebenen Parametern.
Query-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
template |
string | Nein | Vorlagenname (Standard: default) |
title |
string | Ja | Hauptüberschrift. Erforderlich — eine Vorschau ohne Titel ist keine nützliche Vorschau. |
subtitle |
string | Nein | Untertitel oder Beschreibungstext |
key |
string | Ja | Vollständiger API-Schlüssel |
s |
string | Ja | HMAC-SHA256-Signatur (64 Hex-Zeichen) |
Vorlagenspezifische Parameter
Jede Vorlage akzeptiert die unten aufgeführten gemeinsamen Parameter plus ihre vorlagenspezifischen Parameter (siehe Übersichtstabelle). Der Query-Parameter template legt fest, welches Layout verwendet wird (Standard: default).
Gemeinsame Parameter (alle Vorlagen)
| Parameter | Typ | Beschreibung |
|---|---|---|
title |
string | Text der Hauptüberschrift |
subtitle |
string | Ergänzender Text |
tags |
list | Kommagetrennte Tag-Beschriftungen |
theme |
string | dark | light | glass | solid | midnight | vivid | paper | glass_light | custom |
gradient_preset |
string | Benanntes Gradient-Preset (z. B. indigo, ocean, sunset, cosmic) |
gradient_direction |
number | Gradient-Winkel in Grad (Standard 135) |
bg_color |
hex | Einfarbige Hintergrundfarbe |
pattern |
string | Hintergrundmuster (grid, dots, noise, none, …) |
pattern_color |
hex | Musterfarbe |
pattern_intensity |
number | Musterdeckkraft (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 | Akzentfarbe für Hervorhebungen |
auto_text_color |
bool | Textfarbe vom Hintergrund ableiten (Standard true) |
title_color |
hex | Titelfarbe überschreiben |
subtitle_color |
hex | Untertitelfarbe überschreiben |
brand_name |
string | Marken-/Logo-Text (Standard FastOG) |
brand_logo |
string | URL des Marken-Logos |
layout_mode |
string | split | centered | banner (vorlagenspezifische Varianten gelten) |
Template-Index — 67 renderbare Slugs, 48 auswählbar. Die folgende Tabelle dokumentiert die
meistgenutzten Looks und ihre templatespezifischen Props; die vollständige, generierte Liste (Label, Kategorie,
Retired-Flag und jeder akzeptierte Slug) finden Sie in /openapi.json unter
x-template-catalogue, und die Editor-Felder jedes Templates (Key, Label, Typ, Default, Optionen und
URL-Format) stehen unter x-template-fields. Retired Slugs bleiben renderbar, damit bereits im Umlauf befindliche URLs
weiterhin funktionieren, aber sie werden von den Pickern nicht angeboten.
template |
Vorlage | Kategorie | Zusätzliche Parameter |
|---|---|---|---|
default |
Standard | Marke | — |
blog |
Blogbeitrag | Inhalt | author, date, domain |
ecommerce |
E-Commerce | Handel | price, original_price, rating, rating_total, features, badge, cta, image, domain |
company |
Unternehmen | Marke | domain, logo, tag |
launch |
Produkteinführung | Marke | kicker, version, tag, cta, domain |
saaslaunch |
SaaS-Einführung | Marke | kicker, cta, domain |
devtool |
Entwickler-Tool | Entwickler | version, badge, domain |
game |
Spiel | Inhalt | price, rating, image, domain |
event |
Veranstaltung | Social | location, host, date, domain |
quote |
Zitat | Social | quote, author_name, author_title |
job |
Stellenanzeige | Social | location, department, salary, job_type, domain |
stats |
Statistiken | Daten | metric, metric_label, delta |
pricing |
Preisgestaltung | Handel | price, period, cta |
podcast |
Podcast | Medien | episode_number, guest_name, guest_role, duration |
video |
Video | Medien | duration, channel, views |
editorial |
Redaktionell | Inhalt | kicker, author, date, domain |
minimal |
Minimal | Marke | domain |
changelog |
Changelog | Entwickler | version, tag |
corporate |
Corporate | Marke | kicker, tag, domain |
hero |
Hero | Marke | kicker, cta, status, domain |
imageright |
Bild rechts | Handel | kicker, price, original_price, rating, rating_total, badge, cta, image, domain |
specgrid |
Spec-Raster | Handel | specs (Liste von `Label |
logos |
Logo-Wand | Marke | kicker, brand_logos, domain |
notice |
Hinweis | Social | notice_status, notice_icon, notice_text, date, domain |
testimonial |
Referenz | Social | quote, author_name, author_title, company, author_avatar, rating, rating_total, quote_style |
logofocus |
Logo-Fokus | Inhalt | kicker, domain |
xheader |
X-Header | Social | size, handle, followers, location, website, avatar |
bento |
Bento | Daten | kicker, tiles, domain |
comparison |
Vergleich | Handel | kicker, left_label, left_desc, left_points, right_label, right_desc, right_points, verdict |
timeline |
Zeitleiste | Inhalt | kicker, milestones, domain |
countdown |
Countdown | Marke | kicker, target_date, cta, domain |
news |
Nachrichten | Inhalt | headline, byline, author, date, source, image |
code |
Code | Entwickler | code, language, terminal_title, author, domain |
testimonialpro |
Referenz Pro | Social | quote, author_name, author_title, company, author_avatar, rating, rating_total, cta |
product |
Produkt | Handel | badge, title, price, original_price, rating, rating_total, features, cta, image, layout_mode |
promo |
Promo | Marke | brand_name, benefits, title, subtitle, domain, layout_mode |
devblog |
Dev-Blog | Inhalt | category, title, subtitle, tags, author, author_title, date, read_time, views, likes, comments, code, language, file_path |
codepost |
Code-Beitrag | Inhalt | category, date, title, subtitle, author, read_time, code, file_path, language |
statsbar |
Statistikleiste | Daten | kicker, metric, metric_label, delta, stats, domain |
changelogpro |
Changelog Pro | Entwickler | version, tag, title, changes, features, domain |
quotecta |
Zitat-CTA | Social | quote, author_name, author_title, company, cta, domain |
appscreenshot |
App-Screenshot | Medien | badge, title, subtitle, app_name, rating, screenshot, domain |
realestate |
Immobilien | Handel | title, subtitle, price, beds, baths, sqft, cta_text, status, image_url, domain |
autorental |
Autovermietung | Handel | title, subtitle, rate_badge, cta_text, fleet_tag, image_url, domain |
restaurant |
Restaurant | Handel | kicker, title, subtitle, price, cta_text, badge, image_url, domain |
hospitality |
Gastgewerbe | Medien | kicker, title, subtitle, rate, cta_text, image_url, domain |
saasspend |
SaaS-Ausgaben | Marke | status_pill, title, subtitle, cta_text, stat_callout, dashboard_image, domain |
brutalist |
Brutalistisch | Marke | agency_tag, title, subtitle, cta_text, footer_note, domain |
training |
Schulung | Social | track, dates, title, subtitle, cta_text, location, image_url, domain |
ecosystem |
Ökosystem | Entwickler | kicker, title, subtitle, apps_list, dock_label, domain |
glassproduct akzeptiert auch cta. Die Vorlagen ecommerce, product, glassproduct und imageright
zeigen standardmäßig „Shop now“ an; setzen Sie cta auf einen leeren Wert, um die visuelle Pille auszublenden.
Strukturierte Parametertypen
| Typ | Format | Beispiel |
|---|---|---|
list |
Kommagetrennte Werte | features=Fast,Cheap,Secure |
tiles |
Zeilengetrennte label|value-Paare |
tiles=Requests|12.4M\nUptime|99.99% |
milestones |
Zeilengetrennte date|title|description |
milestones=Q3 2026|Alpha|Invite-only |
changes |
Zeilengetrennte type|text (added,fixed,improved,removed) |
changes=added|Bento templates |
Antwort
- 200 OK — Gibt PNG-Bilddaten zurück
- 401 Unauthorized — Ungültige oder fehlende Authentifizierung
- 422 Unprocessable — Ungültige Vorlagenparameter
Fehlerantworten
| Fehlercode | HTTP-Status | Beschreibung |
|---|---|---|
missing_signature |
401 | Fehlender Parameter key oder s |
invalid_signature |
401 | Signaturprüfung fehlgeschlagen |
Beispielanfrage
GET /api/v1/og?template=blog&title=Hello%20World&subtitle=A%20test%20post&key=sk_quick_123abc&s=a1b2c3...
Beispiel-cURL
curl "https://fastog.com/api/v1/og?template=blog&title=Hello%20World&key=sk_quick_123abc&s=<signature>"
Preise & Limits
FastOG ist abonnementgebunden: Ein aktives Dynamic-API-Abo ist erforderlich. Renderings werden nicht abgerechnet — es gibt kein monatliches Rendering-Kontingent und keine Abrechnung für Überschreitungen. Das Abo ist die Zugangsvoraussetzung, und jede Stufe rendert ohne Zähler. Die aktuellen Stufen und Preise finden Sie unter Pricing.
Zwischengespeicherte Bilder sind kostenlos: Anfragen, die aus dem Cloudflare-Edge-Cache bedient werden (gleiches Template + gleiche Parameter,
unabhängig von der s-Signatur einer zuvor zwischengespeicherten URL), erreichen nie den Origin, sodass eine identische
URL kein weiteres Rendering verbraucht.
Standardmäßig sauber: Jedes Rendering ist sauber — kein Wasserzeichen in irgendeinem Abo und keines im kostenlosen OG
Image Tester, in Studio-Vorschauen oder Studio-Exporten. Eine Render-Prop fastog_watermark wird weiterhin
unterstützt für Aufrufer, die ausdrücklich ein "Made with FastOG"-Badge anfordern, aber nichts setzt sie
automatisch.
Verwandtes
- Dokumentation — Alle FastOG-Anleitungen und Referenzen
- Kostenloser OG-Bild-Tester— Vorschau ohne Konto
- Schnellstartanleitung — enthält den Architektur-Ablauf (Signieren zur Renderzeit)
- HMAC-Signatur-Anleitung
- HMAC-Validierung
- JavaScript-Tutorial