OG Görsel API Referansı
OG görsel API referansı, FastOG ile dinamik Open Graph görselleri oluşturmaya yönelik uç noktayı, parametreleri ve şablon kataloğunu kapsar. API aboneliğe bağlıdır — etkin bir Dynamic API planı gerekir, ancak render işlemlerinin kendisi ölçülmez: aylık render kotası ve aşım faturalandırması yoktur. HMAC ile imzalanmış URL'ler her isteği güvende tutar. Kaydolun, bir Dynamic API planı seçin, ardından dashboard üzerinden API anahtarınızı ve HMAC gizli anahtarınızı oluşturun; ücretli API render'ları temizdir. Oluşturulan OpenAPI sözleşmesi, parametrelerin, hata kodlarının ve şablon slug'larının yetkili makine tarafından okunabilir listesidir.
Temel URL
https://fastog.com/api/v1/og
Kimlik Doğrulama
Tüm istekler HMAC-SHA256 imza kimlik doğrulaması gerektirir. Genel key ve s imzası sorgu parametreleridir; başlık tabanlı kimlik doğrulama şu anda desteklenmemektedir. Ayrıntılar için HMAC Belgeleri sayfasına bakın.
Endpoint
GET /api/v1/og
Sağlanan parametrelere göre dinamik bir Open Graph görseli oluşturur.
Sorgu Parametreleri
| Parametre | Tür | Zorunlu | Açıklama |
|---|---|---|---|
template |
string | Hayır | Şablon adı (varsayılan: default) |
title |
string | Evet | Ana başlık. Zorunlu — başlığı olmayan bir kapak kullanışlı bir önizleme değildir. |
subtitle |
string | Hayır | Alt başlık veya açıklama metni |
key |
string | Evet | Tam API anahtarı |
s |
string | Evet | HMAC-SHA256 imzası (64 hex karakter) |
Şablona Özgü Parametreler
Her şablon, aşağıdaki ortak parametreleri artı kendine özgü parametrelerini kabul eder (dizin tablosuna bakın). template sorgu parametresi hangi düzenin kullanılacağını seçer (varsayılan: default).
Ortak parametreler (tüm şablonlar)
| Parametre | Tür | Açıklama |
|---|---|---|
title |
string | Ana başlık metni |
subtitle |
string | Destekleyici metin |
tags |
list | Virgülle ayrılmış etiket adları |
theme |
string | dark | light | glass | solid | midnight | vivid | paper | glass_light | custom |
gradient_preset |
string | Adlandırılmış gradyan ön ayarı (ör. indigo, ocean, sunset, cosmic) |
gradient_direction |
number | Gradyan açısı, derece cinsinden (varsayılan 135) |
bg_color |
hex | Düz arka plan rengi |
pattern |
string | Arka plan deseni (grid, dots, noise, none, …) |
pattern_color |
hex | Desen rengi |
pattern_intensity |
number | Desen opaklığı (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 | Vurgular için aksan rengi |
auto_text_color |
bool | Metin rengini arka plandan türet (varsayılan true) |
title_color |
hex | Başlık rengini geçersiz kıl |
subtitle_color |
hex | Alt başlık rengini geçersiz kıl |
brand_name |
string | Marka/logo metni (varsayılan FastOG) |
brand_logo |
string | Marka logo görseli URL'si |
layout_mode |
string | split | centered | banner (şablona özgü varyantlar geçerlidir) |
Şablon dizini — 67 işlenebilir slug, 48 seçilebilir. Aşağıdaki tablo en çok kullanılan görünümleri ve bunlara özgü şablon prop'larını belgeler; eksiksiz, üretilmiş liste (etiket, kategori, kullanımdan kaldırılmış işareti ve kabul edilen her slug) x-template-catalogue altındaki /openapi.json içinde ve her şablonun editör alanları (anahtar, etiket, tür, varsayılan, seçenekler ve URL biçimi) x-template-fields altında yer alır. Kullanımdan kaldırılmış slug'lar işlenebilir kalır, böylece hâlihazırda dolaşımdaki URL'ler çalışmaya devam eder, ancak seçiciler tarafından sunulmazlar.
template |
Şablon | Kategori | Ek parametreler |
|---|---|---|---|
default |
Varsayılan | Marka | — |
blog |
Blog Yazısı | İçerik | author, date, domain |
ecommerce |
E-ticaret | Ticaret | price, original_price, rating, rating_total, features, badge, cta, image, domain |
company |
Şirket | Marka | domain, logo, tag |
launch |
Ürün Lansmanı | Marka | kicker, version, tag, cta, domain |
saaslaunch |
SaaS Lansmanı | Marka | kicker, cta, domain |
devtool |
Geliştirici Aracı | Geliştirici | version, badge, domain |
game |
Oyun | İçerik | price, rating, image, domain |
event |
Etkinlik | Sosyal | location, host, date, domain |
quote |
Alıntı | Sosyal | quote, author_name, author_title |
job |
İş İlanı | Sosyal | location, department, salary, job_type, domain |
stats |
İstatistikler | Veri | metric, metric_label, delta |
pricing |
Fiyatlandırma | Ticaret | price, period, cta |
podcast |
Podcast | Medya | episode_number, guest_name, guest_role, duration |
video |
Video | Medya | duration, channel, views |
editorial |
Editoryal | İçerik | kicker, author, date, domain |
minimal |
Minimal | Marka | domain |
changelog |
Değişiklik Günlüğü | Geliştirici | version, tag |
corporate |
Kurumsal | Marka | kicker, tag, domain |
hero |
Hero | Marka | kicker, cta, status, domain |
imageright |
Görsel Sağda | Ticaret | kicker, price, original_price, rating, rating_total, badge, cta, image, domain |
specgrid |
Özellik Izgarası | Ticaret | specs (`Label |
logos |
Logo Duvarı | Marka | kicker, brand_logos, domain |
notice |
Bildirim | Sosyal | notice_status, notice_icon, notice_text, date, domain |
testimonial |
Referans | Sosyal | quote, author_name, author_title, company, author_avatar, rating, rating_total, quote_style |
logofocus |
Logo Odaklı | İçerik | kicker, domain |
xheader |
X Başlığı | Sosyal | size, handle, followers, location, website, avatar |
bento |
Bento | Veri | kicker, tiles, domain |
comparison |
Karşılaştırma | Ticaret | kicker, left_label, left_desc, left_points, right_label, right_desc, right_points, verdict |
timeline |
Zaman Çizelgesi | İçerik | kicker, milestones, domain |
countdown |
Geri Sayım | Marka | kicker, target_date, cta, domain |
news |
Haberler | İçerik | headline, byline, author, date, source, image |
code |
Kod | Geliştirici | code, language, terminal_title, author, domain |
testimonialpro |
Referans Pro | Sosyal | quote, author_name, author_title, company, author_avatar, rating, rating_total, cta |
product |
Ürün | Ticaret | badge, title, price, original_price, rating, rating_total, features, cta, image, layout_mode |
promo |
Promosyon | Marka | brand_name, benefits, title, subtitle, domain, layout_mode |
devblog |
Geliştirici Blogu | İçerik | category, title, subtitle, tags, author, author_title, date, read_time, views, likes, comments, code, language, file_path |
codepost |
Kod Yazısı | İçerik | category, date, title, subtitle, author, read_time, code, file_path, language |
statsbar |
İstatistik Çubuğu | Veri | kicker, metric, metric_label, delta, stats, domain |
changelogpro |
Değişiklik Günlüğü Pro | Geliştirici | version, tag, title, changes, features, domain |
quotecta |
Alıntı CTA | Sosyal | quote, author_name, author_title, company, cta, domain |
appscreenshot |
Uygulama Ekran Görüntüsü | Medya | badge, title, subtitle, app_name, rating, screenshot, domain |
realestate |
Emlak | Ticaret | title, subtitle, price, beds, baths, sqft, cta_text, status, image_url, domain |
autorental |
Araç Kiralama | Ticaret | title, subtitle, rate_badge, cta_text, fleet_tag, image_url, domain |
restaurant |
Restoran | Ticaret | kicker, title, subtitle, price, cta_text, badge, image_url, domain |
hospitality |
Konaklama | Medya | kicker, title, subtitle, rate, cta_text, image_url, domain |
saasspend |
SaaS Harcaması | Marka | status_pill, title, subtitle, cta_text, stat_callout, dashboard_image, domain |
brutalist |
Brütalist | Marka | agency_tag, title, subtitle, cta_text, footer_note, domain |
training |
Eğitim | Sosyal | track, dates, title, subtitle, cta_text, location, image_url, domain |
ecosystem |
Ekosistem | Geliştirici | kicker, title, subtitle, apps_list, dock_label, domain |
glassproduct ayrıca cta kabul eder. ecommerce, product, glassproduct ve imageright
şablonları varsayılan olarak "Shop now" gösterir; görsel pill'i gizlemek için cta değerini boş bir değere ayarlayın.
Yapılandırılmış parametre türleri
| Tür | Biçim | Örnek |
|---|---|---|
list |
Virgülle ayrılmış değerler | features=Fast,Cheap,Secure |
tiles |
Satırla ayrılmış label|value çiftleri |
tiles=Requests|12.4M\nUptime|99.99% |
milestones |
Satırla ayrılmış date|title|description |
milestones=Q3 2026|Alpha|Invite-only |
changes |
Satırla ayrılmış type|text (added,fixed,improved,removed) |
changes=added|Bento templates |
Yanıt
- 200 OK — PNG görüntü verisi döndürür
- 401 Unauthorized — Geçersiz veya eksik kimlik doğrulama
- 422 Unprocessable — Geçersiz şablon parametreleri
Hata Yanıtları
| Hata Kodu | HTTP Durumu | Açıklama |
|---|---|---|
missing_signature |
401 | Eksik key veya s parametresi |
invalid_signature |
401 | İmza doğrulaması başarısız oldu |
Örnek İstek
GET /api/v1/og?template=blog&title=Hello%20World&subtitle=A%20test%20post&key=sk_quick_123abc&s=a1b2c3...
Örnek cURL
curl "https://fastog.com/api/v1/og?template=blog&title=Hello%20World&key=sk_quick_123abc&s=<signature>"
Fiyatlandırma ve Limitler
FastOG abonelikle kullanılabilir: etkin bir Dynamic API planı gereklidir. Render işlemleri ölçülmez — aylık render kotası ve aşım faturalandırması yoktur. Plan bir geçiş kapısıdır ve her katman sayaç olmadan render yapar. Güncel katmanlar ve fiyatlar için Fiyatlandırma sayfasına bakın.
Önbelleğe alınmış görseller ücretsizdir: Cloudflare edge önbelleğinden sunulan istekler (aynı şablon + parametreler,
daha önce önbelleğe alınmış bir URL'deki s imzasından bağımsız olarak) origin'e hiç ulaşmaz, bu nedenle aynı
URL başka bir render harcamaz.
Varsayılan olarak temiz: her render temizdir — hiçbir planda filigran yoktur; ücretsiz OG
Image Tester, Studio önizlemeleri ve Studio dışa aktarımlarında da yoktur. Açıkça "Made with FastOG" rozeti
isteyen çağıranlar için bir fastog_watermark render prop'u hâlâ
desteklenmektedir, ancak bunu otomatik olarak ayarlayan hiçbir şey yoktur.
İlgili
- Dokümantasyon — Tüm FastOG kılavuzları ve referansları
- Ücretsiz OG Görsel Test Aracı— Hesap olmadan önizleme
- Hızlı Başlangıç Kılavuzu — mimari akışını içerir (render sırasında imzalama)
- HMAC İmza Kılavuzu
- HMAC Doğrulama
- JavaScript Eğitimi