API-referens för OG-bilder
API-referensen för OG-bilder omfattar endpointen, parametrarna och mallkatalogen för att generera dynamiska Open Graph-bilder med FastOG. API:et kräver en prenumeration — en aktiv Dynamic API-plan krävs, men själva renderingarna mäts inte: det finns ingen månatlig renderingskvot och ingen överbetalning. HMAC-signerade URL:er håller varje förfrågan säker. Registrera dig, välj en Dynamic API-plan och skapa sedan din API-nyckel och ditt HMAC-hemlighet i instrumentpanelen (dashboard); betalda API-renderingar är rena. Den genererade OpenAPI-kontraktet är den auktoritativa maskinläsbara listan över parametrar, felkoder och mall-slugs.
Bas-URL
https://fastog.com/api/v1/og
Autentisering
Alla förfrågningar kräver autentisering med HMAC-SHA256-signatur. Den publika key och signaturen s är query-parametrar; autentisering via header stöds inte för närvarande. Se HMAC-dokumentationen för detaljer.
Endpoint
GET /api/v1/og
Genererar en dynamisk OG-bild (Open Graph-bild) baserat på de angivna parametrarna.
Query-parametrar
| Parameter | Typ | Krävs | Beskrivning |
|---|---|---|---|
template |
string | Nej | Mallnamn (standard: default) |
title |
string | Ja | Huvudrubrik. Krävs — en cover utan titel är inte en användbar förhandsvisning. |
subtitle |
string | Nej | Underrubrik eller beskrivningstext |
key |
string | Ja | Fullständig API-nyckel |
s |
string | Ja | HMAC-SHA256-signatur (64 hextecken) |
Mallspecifika parametrar
Varje mall accepterar de gemensamma parametrarna nedan plus sina mallspecifika parametrar (se indextabellen). Query-parametern template väljer vilken layout som används (standard: default).
Gemensamma parametrar (alla mallar)
| Parameter | Typ | Beskrivning |
|---|---|---|
title |
string | Huvudrubriktext |
subtitle |
string | Stödtext |
tags |
list | Kommaseparerade taggetiketter |
theme |
string | dark | light | glass | solid | midnight | vivid | paper | glass_light | custom |
gradient_preset |
string | Namngiven gradientförinställning (t.ex. indigo, ocean, sunset, cosmic) |
gradient_direction |
number | Gradientvinkel i grader (standard 135) |
bg_color |
hex | Heltäckande bakgrundsfärg |
pattern |
string | Bakgrundsmönster (grid, dots, noise, none, …) |
pattern_color |
hex | Mönsterfärg |
pattern_intensity |
number | Mönstrets opacitet (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 | Accentfärg för markeringar |
auto_text_color |
bool | Härled textfärg från bakgrunden (standard true) |
title_color |
hex | Åsidosätt titelfärg |
subtitle_color |
hex | Åsidosätt underrubriksfärg |
brand_name |
string | Varumärkes-/logotext (standard FastOG) |
brand_logo |
string | URL till varumärkeslogotyp |
layout_mode |
string | split | centered | banner (mallspecifika varianter gäller) |
Mallindex — 67 renderbara slugs, 48 valbara. Tabellen nedan dokumenterar de
mest använda utseendena och deras mallspecifika props; den uttömmande, genererade listan (label, kategori,
retired-flagga och varje accepterad slug) finns i /openapi.json under
x-template-catalogue, och varje malls editorfält (key, label, type, default, options och
URL-format) finns under x-template-fields. Retired slugs förblir renderbara så att URL:er som redan finns
i omlopp fortsätter att fungera, men de erbjuds inte av väljarna.
template |
Mall | Kategori | Ytterligare parametrar |
|---|---|---|---|
default |
Standard | Varumärke | — |
blog |
Blogginlägg | Innehåll | author, date, domain |
ecommerce |
E-handel | Handel | price, original_price, rating, rating_total, features, badge, cta, image, domain |
company |
Företag | Varumärke | domain, logo, tag |
launch |
Produktlansering | Varumärke | kicker, version, tag, cta, domain |
saaslaunch |
SaaS-lansering | Varumärke | kicker, cta, domain |
devtool |
Utvecklarverktyg | Utvecklare | version, badge, domain |
game |
Spel | Innehåll | price, rating, image, domain |
event |
Evenemang | Socialt | location, host, date, domain |
quote |
Citat | Socialt | quote, author_name, author_title |
job |
Jobbannons | Socialt | location, department, salary, job_type, domain |
stats |
Statistik | Data | metric, metric_label, delta |
pricing |
Prissättning | Handel | price, period, cta |
podcast |
Podcast | Media | episode_number, guest_name, guest_role, duration |
video |
Video | Media | duration, channel, views |
editorial |
Redaktionell | Innehåll | kicker, author, date, domain |
minimal |
Minimal | Varumärke | domain |
changelog |
Ändringslogg | Utvecklare | version, tag |
corporate |
Företagsprofil | Varumärke | kicker, tag, domain |
hero |
Hero | Varumärke | kicker, cta, status, domain |
imageright |
Bild till höger | Handel | kicker, price, original_price, rating, rating_total, badge, cta, image, domain |
specgrid |
Specifikationsrutnät | Handel | specs (lista med `Label |
logos |
Logotypvägg | Varumärke | kicker, brand_logos, domain |
notice |
Meddelande | Socialt | notice_status, notice_icon, notice_text, date, domain |
testimonial |
Omdöme | Socialt | quote, author_name, author_title, company, author_avatar, rating, rating_total, quote_style |
logofocus |
Logotypfokus | Innehåll | kicker, domain |
xheader |
X-rubrik | Socialt | size, handle, followers, location, website, avatar |
bento |
Bento | Data | kicker, tiles, domain |
comparison |
Jämförelse | Handel | kicker, left_label, left_desc, left_points, right_label, right_desc, right_points, verdict |
timeline |
Tidslinje | Innehåll | kicker, milestones, domain |
countdown |
Nedräkning | Varumärke | kicker, target_date, cta, domain |
news |
Nyheter | Innehåll | headline, byline, author, date, source, image |
code |
Kod | Utvecklare | code, language, terminal_title, author, domain |
testimonialpro |
Omdöme Pro | Socialt | 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 |
Kampanj | Varumärke | brand_name, benefits, title, subtitle, domain, layout_mode |
devblog |
Utvecklarblogg | Innehåll | category, title, subtitle, tags, author, author_title, date, read_time, views, likes, comments, code, language, file_path |
codepost |
Kodinlägg | Innehåll | category, date, title, subtitle, author, read_time, code, file_path, language |
statsbar |
Statistikrad | Data | kicker, metric, metric_label, delta, stats, domain |
changelogpro |
Ändringslogg Pro | Utvecklare | version, tag, title, changes, features, domain |
quotecta |
Citat-CTA | Socialt | quote, author_name, author_title, company, cta, domain |
appscreenshot |
Appskärmbild | Media | badge, title, subtitle, app_name, rating, screenshot, domain |
realestate |
Fastigheter | Handel | title, subtitle, price, beds, baths, sqft, cta_text, status, image_url, domain |
autorental |
Biluthyrning | Handel | title, subtitle, rate_badge, cta_text, fleet_tag, image_url, domain |
restaurant |
Restaurang | Handel | kicker, title, subtitle, price, cta_text, badge, image_url, domain |
hospitality |
Hotell & restaurang | Media | kicker, title, subtitle, rate, cta_text, image_url, domain |
saasspend |
SaaS-kostnad | Varumärke | status_pill, title, subtitle, cta_text, stat_callout, dashboard_image, domain |
brutalist |
Brutalistisk | Varumärke | agency_tag, title, subtitle, cta_text, footer_note, domain |
training |
Utbildning | Socialt | track, dates, title, subtitle, cta_text, location, image_url, domain |
ecosystem |
Ekosystem | Utvecklare | kicker, title, subtitle, apps_list, dock_label, domain |
glassproduct accepterar även cta. Mallarna ecommerce, product, glassproduct och imageright
visar "Shop now" som standard; sätt cta till ett tomt värde för att dölja den visuella pilen.
Strukturerade parametertyper
| Typ | Format | Exempel |
|---|---|---|
list |
Kommaseparerade värden | features=Fast,Cheap,Secure |
tiles |
Radseparerade label|value-par |
tiles=Requests|12.4M\nUptime|99.99% |
milestones |
Radseparerade date|title|description |
milestones=Q3 2026|Alpha|Invite-only |
changes |
Radseparerade type|text (added,fixed,improved,removed) |
changes=added|Bento templates |
Svar
- 200 OK — Returnerar PNG-bilddata
- 401 Unauthorized — Ogiltig eller saknad autentisering
- 422 Unprocessable — Ogiltiga mallparametrar
Felsvar
| Felkod | HTTP-status | Beskrivning |
|---|---|---|
missing_signature |
401 | Saknar parametern key eller s |
invalid_signature |
401 | Signaturverifiering misslyckades |
Exempel på förfrågan
GET /api/v1/og?template=blog&title=Hello%20World&subtitle=A%20test%20post&key=sk_quick_123abc&s=a1b2c3...
Exempel med cURL
curl "https://fastog.com/api/v1/og?template=blog&title=Hello%20World&key=sk_quick_123abc&s=<signature>"
Priser och gränser
FastOG är prenumerationsstyrt: en aktiv Dynamic API-plan krävs. Renderingar mäts inte — det finns ingen månatlig renderingskvot och ingen överskottsfakturering. Planen är spärren, och varje nivå renderar utan en räknare. Se Priser för aktuella nivåer och priser.
Cachade bilder är gratis: förfrågningar som serveras från Cloudflare-edge-cachen (samma mall + parametrar, oavsett s-signaturen på en tidigare cachad URL) når aldrig origin, så en identisk URL förbrukar inte ytterligare en rendering.
Rent som standard: varje rendering är ren — ingen vattenstämpel på någon plan, och ingen på den kostnadsfria OG Image Tester, Studio-förhandsvisningar eller Studio-exporter. En render-prop fastog_watermark stöds fortfarande för anropare som uttryckligen begär en "Made with FastOG"-badge, men inget sätter den automatiskt.
Relaterat
- Dokumentation — Alla FastOG-guider och referenser
- Kostnadsfri OG-Bild-testare— Förhandsgranska utan ett konto
- Snabbstartsguide — inkluderar arkitekturflödet (signera vid rendering)
- Guide för HMAC-signatur
- HMAC-validering
- JavaScript-handledning