OG-kuva-API:n referenssi
OG-kuva-API:n referenssi kattaa päätepisteen, parametrit ja malliluettelon dynaamisten Open Graph -kuvien luomiseen FastOG:lla. API on tilauspohjainen — aktiivinen Dynamic API -paketti vaaditaan, mutta itse renderöintejä ei laskuteta: kuukausittaista renderöintikiintiötä ei ole eikä ylityslaskutusta. HMAC-allekirjoitetut URL-osoitteet pitävät jokaisen pyynnön turvallisena. Rekisteröidy, valitse Dynamic API -paketti ja luo sitten API-avaimesi ja HMAC-salaisuutesi hallintapaneelissa; maksulliset API-renderöinnit ovat selkeitä. Luotu OpenAPI-sopimus on auktoritatiivinen, koneellisesti luettava luettelo parametreista, virhekoodeista ja mallitunnisteista.
Perus-URL
https://fastog.com/api/v1/og
Todennus
Kaikki pyynnöt edellyttävät HMAC-SHA256-allekirjoituksella tehtävää todennusta. Julkinen key ja s-allekirjoitus ovat kyselyparametreja; otsakepohjaista todennusta ei tällä hetkellä tueta. Katso lisätietoja HMAC-dokumentaatiosta.
Endpoint
GET /api/v1/og
Luo dynaamisen Open Graph -kuvan annettujen parametrien perusteella.
Kyselyparametrit
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
template |
string | Ei | Mallin nimi (oletus: default) |
title |
string | Kyllä | Pääotsikko. Pakollinen — kansi ilman otsikkoa ei ole hyödyllinen esikatselu. |
subtitle |
string | Ei | Alaotsikko tai kuvaus |
key |
string | Kyllä | Koko API-avain |
s |
string | Kyllä | HMAC-SHA256-allekirjoitus (64 hex-merkkiä) |
Mallikohtaiset parametrit
Jokainen malli hyväksyy alla olevat yhteiset parametrit sekä omat mallikohtaiset parametrinsa (katso hakemistotaulukko). template-kyselyparametri valitsee, mitä asettelua käytetään (oletus: default).
Yhteiset parametrit (kaikki mallit)
| Parametri | Tyyppi | Kuvaus |
|---|---|---|
title |
string | Pääotsikon teksti |
subtitle |
string | Tukeva teksti |
tags |
list | Pilkulla erotetut tagien nimet |
theme |
string | dark | light | glass | solid | midnight | vivid | paper | glass_light | custom |
gradient_preset |
string | Nimetty liukuväriesiasetus (esim. indigo, ocean, sunset, cosmic) |
gradient_direction |
number | Liukuvärin kulma asteina (oletus 135) |
bg_color |
hex | Yksivärinen taustaväri |
pattern |
string | Taustakuvio (grid, dots, noise, none, …) |
pattern_color |
hex | Kuvion väri |
pattern_intensity |
number | Kuvion peittävyys (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 | Korostusväri korostuksille |
auto_text_color |
bool | Johda tekstin väri taustasta (oletus true) |
title_color |
hex | Ohita otsikon väri |
subtitle_color |
hex | Ohita alaotsikon väri |
brand_name |
string | Brändin/logo teksti (oletus FastOG) |
brand_logo |
string | Brändin logokuvan URL |
layout_mode |
string | split | centered | banner (mallikohtaiset variantit pätevät) |
Malliluettelo — 67 renderöitävää slugia, 48 valittavaa. Alla oleva taulukko kuvaa
käytetyimmät ulkoasut ja niiden mallikohtaiset propsit; täydellinen, generoitu luettelo (label,
category, retired-flag ja kaikki hyväksytyt slugit) on tiedostossa /openapi.json kohdassa
x-template-catalogue, ja jokaisen mallin editorikentät (key, label, type, default, options ja
URL-muoto) ovat kohdassa x-template-fields. Käytöstä poistetut slugit ovat edelleen renderöitäviä, jotta jo
liikkeellä olevat URL-osoitteet toimivat edelleen, mutta valitsimet eivät tarjoa niitä.
template |
Malli | Kategoria | Lisäparametrit |
|---|---|---|---|
default |
Default | Brändi | — |
blog |
Blog Post | Sisältö | author, date, domain |
ecommerce |
E-commerce | Kauppa | price, original_price, rating, rating_total, features, badge, cta, image, domain |
company |
Company | Brändi | domain, logo, tag |
launch |
Product Launch | Brändi | kicker, version, tag, cta, domain |
saaslaunch |
SaaS Launch | Brändi | kicker, cta, domain |
devtool |
Developer Tool | Kehittäjä | version, badge, domain |
game |
Game | Sisältö | price, rating, image, domain |
event |
Event | Some | location, host, date, domain |
quote |
Quote | Some | quote, author_name, author_title |
job |
Job Posting | Some | location, department, salary, job_type, domain |
stats |
Stats | Data | metric, metric_label, delta |
pricing |
Pricing | Kauppa | price, period, cta |
podcast |
Podcast | Media | episode_number, guest_name, guest_role, duration |
video |
Video | Media | duration, channel, views |
editorial |
Editorial | Sisältö | kicker, author, date, domain |
minimal |
Minimal | Brändi | domain |
changelog |
Changelog | Kehittäjä | version, tag |
corporate |
Corporate | Brändi | kicker, tag, domain |
hero |
Hero | Brändi | kicker, cta, status, domain |
imageright |
Image Right | Kauppa | kicker, price, original_price, rating, rating_total, badge, cta, image, domain |
specgrid |
Spec Grid | Kauppa | specs (lista `Label |
logos |
Logo Wall | Brändi | kicker, brand_logos, domain |
notice |
Notice | Some | notice_status, notice_icon, notice_text, date, domain |
testimonial |
Testimonial | Some | quote, author_name, author_title, company, author_avatar, rating, rating_total, quote_style |
logofocus |
Logo Focus | Sisältö | kicker, domain |
xheader |
X Header | Some | size, handle, followers, location, website, avatar |
bento |
Bento | Data | kicker, tiles, domain |
comparison |
Comparison | Kauppa | kicker, left_label, left_desc, left_points, right_label, right_desc, right_points, verdict |
timeline |
Timeline | Sisältö | kicker, milestones, domain |
countdown |
Countdown | Brändi | kicker, target_date, cta, domain |
news |
News | Sisältö | headline, byline, author, date, source, image |
code |
Code | Kehittäjä | code, language, terminal_title, author, domain |
testimonialpro |
Testimonial Pro | Some | quote, author_name, author_title, company, author_avatar, rating, rating_total, cta |
product |
Product | Kauppa | badge, title, price, original_price, rating, rating_total, features, cta, image, layout_mode |
promo |
Promo | Brändi | brand_name, benefits, title, subtitle, domain, layout_mode |
devblog |
Dev Blog | Sisältö | category, title, subtitle, tags, author, author_title, date, read_time, views, likes, comments, code, language, file_path |
codepost |
Code Post | Sisältö | category, date, title, subtitle, author, read_time, code, file_path, language |
statsbar |
Stats Bar | Data | kicker, metric, metric_label, delta, stats, domain |
changelogpro |
Changelog Pro | Kehittäjä | version, tag, title, changes, features, domain |
quotecta |
Quote CTA | Some | quote, author_name, author_title, company, cta, domain |
appscreenshot |
App Screenshot | Media | badge, title, subtitle, app_name, rating, screenshot, domain |
realestate |
Real Estate | Kauppa | title, subtitle, price, beds, baths, sqft, cta_text, status, image_url, domain |
autorental |
Auto Rental | Kauppa | title, subtitle, rate_badge, cta_text, fleet_tag, image_url, domain |
restaurant |
Restaurant | Kauppa | kicker, title, subtitle, price, cta_text, badge, image_url, domain |
hospitality |
Hospitality | Media | kicker, title, subtitle, rate, cta_text, image_url, domain |
saasspend |
SaaS Spend | Brändi | status_pill, title, subtitle, cta_text, stat_callout, dashboard_image, domain |
brutalist |
Brutalist | Brändi | agency_tag, title, subtitle, cta_text, footer_note, domain |
training |
Training | Some | track, dates, title, subtitle, cta_text, location, image_url, domain |
ecosystem |
Ecosystem | Kehittäjä | kicker, title, subtitle, apps_list, dock_label, domain |
glassproduct hyväksyy myös cta. Mallit ecommerce, product, glassproduct ja imageright
näyttävät oletuksena tekstin “Shop now”; aseta cta tyhjäksi, jos haluat piilottaa visuaalisen pillin.
Jäsennellyt parametrityypit
| Tyyppi | Muoto | Esimerkki |
|---|---|---|
list |
Pilkuilla erotetut arvot | features=Fast,Cheap,Secure |
tiles |
Rivinvaihdoilla erotetut label|value-parit |
tiles=Requests|12.4M\nUptime|99.99% |
milestones |
Rivinvaihdoilla erotetut date|title|description |
milestones=Q3 2026|Alpha|Invite-only |
changes |
Rivinvaihdoilla erotetut type|text (added,fixed,improved,removed) |
changes=added|Bento templates |
Vastaus
- 200 OK — Palauttaa PNG-kuvadatan
- 401 Unauthorized — Virheellinen tai puuttuva todennus
- 422 Unprocessable — Virheelliset mallin parametrit
Virhevastaukset
| Virhekoodi | HTTP-tila | Kuvaus |
|---|---|---|
missing_signature |
401 | Puuttuva key- tai s-parametri |
invalid_signature |
401 | Allekirjoituksen vahvistus epäonnistui |
Esimerkkipyyntö
GET /api/v1/og?template=blog&title=Hello%20World&subtitle=A%20test%20post&key=sk_quick_123abc&s=a1b2c3...
Esimerkki cURL-komennolla
curl "https://fastog.com/api/v1/og?template=blog&title=Hello%20World&key=sk_quick_123abc&s=<signature>"
Hinnoittelu ja rajoitukset
FastOG on tilauspohjainen: aktiivinen Dynamic API -paketti vaaditaan. Renderöintejä ei laskuteta — kuukausittaista renderöintikiintiötä ei ole eikä ylimääräisistä renderöinneistä veloiteta. Paketti on portinvartija, ja jokainen taso renderöi ilman laskuria. Katso Hinnoittelu ajantasaiset tasot ja hinnat.
Välimuistiin tallennetut kuvat ovat ilmaisia: Cloudflare-reunavälimuistista tarjoillut pyynnöt
(sama malline + parametrit riippumatta aiemmin välimuistiin tallennetun URL:n s-allekirjoituksesta)
eivät koskaan saavuta originiä, joten identtinen URL ei kuluta uutta renderöintiä.
Oletuksena puhdas: jokainen renderöinti on puhdas — ei vesileimaa millään paketilla eikä
myöskään ilmaisessa OG Image Testerissä, Studion esikatseluissa tai Studion vientitiedostoissa.
fastog_watermark-renderöintiprop on edelleen tuettu niille kutsujille, jotka nimenomaisesti pyytävät
"Made with FastOG" -merkin, mutta mikään ei aseta sitä automaattisesti.
Aiheeseen liittyvät
- Dokumentaatio — Kaikki FastOG-oppaat ja -viitteet
- Ilmainen OG-kuvan testaaja — Esikatsele ilman tiliä
- Pika-aloitusopas — sisältää arkkitehtuurivirran (allekirjoitus renderöintiajassa)
- HMAC-allekirjoituksen opas
- HMAC-vahvistus
- JavaScript-opas