Referință API pentru imaginile OG
Referința API pentru imaginile OG acoperă endpoint-ul, parametrii și catalogul de șabloane pentru generarea de imagini Open Graph dinamice cu FastOG. API-ul este restricționat pe bază de abonament — este necesar un plan Dynamic API activ, dar randările în sine nu sunt contorizate: nu există o cotă lunară de randări și nici facturare pentru depășire. URL-urile semnate cu HMAC mențin fiecare cerere securizată. Înregistrează-te, alege un plan Dynamic API, apoi creează-ți cheia API și secretul HMAC în dashboard; randările API plătite sunt curate. Contractul OpenAPI generat este lista autoritativă, citibilă de mașină, de parametri, coduri de eroare și identificatori de șabloane.
URL de bază
https://fastog.com/api/v1/og
Autentificare
Toate cererile necesită autentificare prin semnătură HMAC-SHA256. Cheia publică key și semnătura s sunt parametri de query; autentificarea bazată pe header nu este momentan acceptată. Vezi Documentația HMAC pentru detalii.
Endpoint
GET /api/v1/og
Generează o imagine Open Graph dinamică pe baza parametrilor furnizați.
Parametri de interogare
| Parametru | Tip | Obligatoriu | Descriere |
|---|---|---|---|
template |
string | Nu | Numele șablonului (implicit: default) |
title |
string | Da | Titlul principal. Obligatoriu — o copertă fără titlu nu este o previzualizare utilă. |
subtitle |
string | Nu | Subtitlu sau text descriptiv |
key |
string | Da | Cheia API completă |
s |
string | Da | Semnătura HMAC-SHA256 (64 caractere hex) |
Parametri specifici șablonului
Fiecare șablon acceptă parametrii comuni de mai jos plus parametrii săi specifici (vezi tabelul index). Parametrul de interogare template selectează ce layout este folosit (implicit: default).
Parametri comuni (toate șabloanele)
| Parametru | Tip | Descriere |
|---|---|---|
title |
string | Textul titlului principal |
subtitle |
string | Text de suport |
tags |
list | Etichete separate prin virgulă |
theme |
string | dark | light | glass | solid | midnight | vivid | paper | glass_light | custom |
gradient_preset |
string | Preset de gradient denumit (de ex. indigo, ocean, sunset, cosmic) |
gradient_direction |
number | Unghiul gradientului în grade (implicit 135) |
bg_color |
hex | Culoare de fundal solidă |
pattern |
string | Model de fundal (grid, dots, noise, none, …) |
pattern_color |
hex | Culoarea modelului |
pattern_intensity |
number | Opacitatea modelului (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 | Culoare de accent pentru evidențieri |
auto_text_color |
bool | Derivă culoarea textului din fundal (implicit true) |
title_color |
hex | Suprascrie culoarea titlului |
subtitle_color |
hex | Suprascrie culoarea subtitlului |
brand_name |
string | Text brand/logo (implicit FastOG) |
brand_logo |
string | URL-ul imaginii logo-ului de brand |
layout_mode |
string | split | centered | banner (se aplică variante specifice șablonului) |
Index de șabloane — 67 de slug-uri randabile, 48 selectabile. Tabelul de mai jos documentează
cele mai utilizate aspecte și prop-urile specifice fiecărui șablon; lista exhaustivă, generată (etichetă, categorie,
flag de retragere și fiecare slug acceptat) se află în /openapi.json la
x-template-catalogue, iar câmpurile din editor ale fiecărui șablon (cheie, etichetă, tip, valoare implicită, opțiuni și
format URL) se află la x-template-fields. Slug-urile retrase rămân randabile, astfel încât URL-urile deja existente în
circulație să continue să funcționeze, dar nu sunt oferite de selectoare.
template |
Șablon | Categorie | Parametri suplimentari |
|---|---|---|---|
default |
Implicit | Brand | — |
blog |
Postare de blog | Conținut | author, date, domain |
ecommerce |
E-commerce | Comerț | price, original_price, rating, rating_total, features, badge, cta, image, domain |
company |
Companie | Brand | domain, logo, tag |
launch |
Lansare de produs | Brand | kicker, version, tag, cta, domain |
saaslaunch |
Lansare SaaS | Brand | kicker, cta, domain |
devtool |
Instrument pentru dezvoltatori | Dezvoltator | version, badge, domain |
game |
Joc | Conținut | price, rating, image, domain |
event |
Eveniment | Social | location, host, date, domain |
quote |
Citat | Social | quote, author_name, author_title |
job |
Anunț de angajare | Social | location, department, salary, job_type, domain |
stats |
Statistici | Date | metric, metric_label, delta |
pricing |
Prețuri | Comerț | price, period, cta |
podcast |
Podcast | Media | episode_number, guest_name, guest_role, duration |
video |
Video | Media | duration, channel, views |
editorial |
Editorial | Conținut | kicker, author, date, domain |
minimal |
Minimal | Brand | domain |
changelog |
Changelog | Dezvoltator | version, tag |
corporate |
Corporate | Brand | kicker, tag, domain |
hero |
Hero | Brand | kicker, cta, status, domain |
imageright |
Imagine la dreapta | Comerț | kicker, price, original_price, rating, rating_total, badge, cta, image, domain |
specgrid |
Grilă de specificații | Comerț | specs (listă de `Label |
logos |
Perete de logo-uri | Brand | kicker, brand_logos, domain |
notice |
Notificare | Social | notice_status, notice_icon, notice_text, date, domain |
testimonial |
Testimonial | Social | quote, author_name, author_title, company, author_avatar, rating, rating_total, quote_style |
logofocus |
Focus pe logo | Conținut | kicker, domain |
xheader |
Antet X | Social | size, handle, followers, location, website, avatar |
bento |
Bento | Date | kicker, tiles, domain |
comparison |
Comparație | Comerț | kicker, left_label, left_desc, left_points, right_label, right_desc, right_points, verdict |
timeline |
Cronologie | Conținut | kicker, milestones, domain |
countdown |
Numărătoare inversă | Brand | kicker, target_date, cta, domain |
news |
Știri | Conținut | headline, byline, author, date, source, image |
code |
Cod | Dezvoltator | code, language, terminal_title, author, domain |
testimonialpro |
Testimonial Pro | Social | quote, author_name, author_title, company, author_avatar, rating, rating_total, cta |
product |
Produs | Comerț | badge, title, price, original_price, rating, rating_total, features, cta, image, layout_mode |
promo |
Promo | Brand | brand_name, benefits, title, subtitle, domain, layout_mode |
devblog |
Blog pentru dezvoltatori | Conținut | category, title, subtitle, tags, author, author_title, date, read_time, views, likes, comments, code, language, file_path |
codepost |
Postare de cod | Conținut | category, date, title, subtitle, author, read_time, code, file_path, language |
statsbar |
Bară de statistici | Date | kicker, metric, metric_label, delta, stats, domain |
changelogpro |
Changelog Pro | Dezvoltator | version, tag, title, changes, features, domain |
quotecta |
Citat CTA | Social | quote, author_name, author_title, company, cta, domain |
appscreenshot |
Captură de ecran a aplicației | Media | badge, title, subtitle, app_name, rating, screenshot, domain |
realestate |
Imobiliare | Comerț | title, subtitle, price, beds, baths, sqft, cta_text, status, image_url, domain |
autorental |
Închiriere auto | Comerț | title, subtitle, rate_badge, cta_text, fleet_tag, image_url, domain |
restaurant |
Restaurant | Comerț | kicker, title, subtitle, price, cta_text, badge, image_url, domain |
hospitality |
Ospitalitate | Media | kicker, title, subtitle, rate, cta_text, image_url, domain |
saasspend |
Cheltuieli SaaS | Brand | status_pill, title, subtitle, cta_text, stat_callout, dashboard_image, domain |
brutalist |
Brutalist | Brand | agency_tag, title, subtitle, cta_text, footer_note, domain |
training |
Instruire | Social | track, dates, title, subtitle, cta_text, location, image_url, domain |
ecosystem |
Ecosistem | Dezvoltator | kicker, title, subtitle, apps_list, dock_label, domain |
glassproduct acceptă și cta. Șabloanele ecommerce, product, glassproduct și imageright
afișează „Shop now” în mod implicit; setează cta la o valoare goală pentru a ascunde pastila vizuală.
Tipuri de parametri structurați
| Tip | Format | Exemplu |
|---|---|---|
list |
Valori separate prin virgulă | features=Fast,Cheap,Secure |
tiles |
Perechi label|value separate pe linii |
tiles=Requests|12.4M\nUptime|99.99% |
milestones |
date|title|description separate pe linii |
milestones=Q3 2026|Alpha|Invite-only |
changes |
type|text separate pe linii (added,fixed,improved,removed) |
changes=added|Bento templates |
Răspuns
- 200 OK — Returnează date de imagine PNG
- 401 Unauthorized — Autentificare invalidă sau lipsă
- 422 Unprocessable — Parametri de șablon invalizi
Răspunsuri de eroare
| Cod de eroare | Stare HTTP | Descriere |
|---|---|---|
missing_signature |
401 | Lipsește parametrul key sau s |
invalid_signature |
401 | Verificarea semnăturii a eșuat |
Exemplu de cerere
GET /api/v1/og?template=blog&title=Hello%20World&subtitle=A%20test%20post&key=sk_quick_123abc&s=a1b2c3...
Exemplu cURL
curl "https://fastog.com/api/v1/og?template=blog&title=Hello%20World&key=sk_quick_123abc&s=<signature>"
Prețuri și limite
FastOG este condiționat de abonament: este necesar un plan Dynamic API activ. Randările nu sunt contorizate — nu există o cotă lunară de randări și nici facturare pentru depășire. Planul este condiția, iar fiecare nivel randează fără un contor. Vezi Prețuri pentru nivelurile și prețurile actuale.
Imaginile din cache sunt gratuite: cererile servite din cache-ul edge Cloudflare (același
șablon + parametri, indiferent de semnătura s de pe un URL cache-uit anterior) nu ajung niciodată
la origine, așa că un URL identic nu consumă încă o randare.
Curat implicit: fiecare randare este curată — fără watermark pe niciun plan și nici pe testerul
gratuit de imagini OG, pe previzualizările din Studio sau pe exporturile din Studio. O proprietate
de randare fastog_watermark este încă acceptată pentru cei care solicită explicit o insignă „Made with FastOG”,
dar nimic nu o setează automat.
Resurse conexe
- Documentație — Toate ghidurile și referințele FastOG
- Tester OG Image gratuit— Previzualizează fără cont
- Ghid de pornire rapidă — include fluxul arhitectural (semnează la momentul randării)
- Ghid pentru semnătura HMAC
- Validare HMAC
- Tutorial JavaScript