Referensi API Gambar OG
Referensi API gambar OG mencakup endpoint, parameter, dan katalog template untuk menghasilkan gambar Open Graph dinamis dengan FastOG. API ini dibatasi oleh langganan — diperlukan paket Dynamic API yang aktif, tetapi render itu sendiri tidak dihitung: tidak ada kuota render bulanan dan tidak ada tagihan kelebihan pemakaian. URL bertanda tangan HMAC menjaga setiap permintaan tetap aman. Daftar, pilih paket Dynamic API, lalu buat API key dan HMAC secret Anda di dashboard; render API berbayar bersih. Kontrak OpenAPI yang dihasilkan adalah daftar parameter, kode error, dan slug template yang otoritatif dan dapat dibaca mesin.
URL Dasar
https://fastog.com/api/v1/og
Autentikasi
Semua permintaan memerlukan autentikasi tanda tangan HMAC-SHA256. key publik dan tanda tangan s adalah parameter kueri; autentikasi berbasis header saat ini tidak didukung. Lihat Dokumentasi HMAC untuk detailnya.
Endpoint
GET /api/v1/og
Menghasilkan gambar Open Graph dinamis berdasarkan parameter yang diberikan.
Parameter Query
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
template |
string | Tidak | Nama template (default: default) |
title |
string | Ya | Judul utama. Wajib — cover tanpa judul bukan pratinjau yang berguna. |
subtitle |
string | Tidak | Teks subjudul atau deskripsi |
key |
string | Ya | API key lengkap |
s |
string | Ya | Tanda tangan HMAC-SHA256 (64 karakter hex) |
Parameter Khusus Template
Setiap template menerima parameter bersama di bawah ini ditambah parameter khusus template-nya (lihat tabel indeks). Parameter query template memilih tata letak yang digunakan (default: default).
Parameter bersama (semua template)
| Parameter | Tipe | Deskripsi |
|---|---|---|
title |
string | Teks judul utama |
subtitle |
string | Teks pendukung |
tags |
list | Label tag dipisahkan koma |
theme |
string | dark | light | glass | solid | midnight | vivid | paper | glass_light | custom |
gradient_preset |
string | Preset gradien bernama (mis. indigo, ocean, sunset, cosmic) |
gradient_direction |
number | Sudut gradien dalam derajat (default 135) |
bg_color |
hex | Warna latar solid |
pattern |
string | Pola latar (grid, dots, noise, none, …) |
pattern_color |
hex | Warna pola |
pattern_intensity |
number | Opasitas pola (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 | Warna aksen untuk sorotan |
auto_text_color |
bool | Turunkan warna teks dari latar belakang (default true) |
title_color |
hex | Timpa warna judul |
subtitle_color |
hex | Timpa warna subjudul |
brand_name |
string | Teks merek/logo (default FastOG) |
brand_logo |
string | URL gambar logo merek |
layout_mode |
string | split | centered | banner (varian khusus template berlaku) |
Indeks template — 67 slug yang dapat dirender, 48 yang dapat dipilih. Tabel di bawah ini mendokumentasikan tampilan yang paling sering digunakan dan prop khusus template tersebut; daftar lengkap yang dihasilkan (label, kategori, tanda retired, dan setiap slug yang diterima) ada di /openapi.json pada
x-template-catalogue, dan setiap field editor template (key, label, type, default, options, dan
format URL) ada pada x-template-fields. Slug yang retired tetap dapat dirender agar URL yang sudah
beredar tetap berfungsi, tetapi tidak ditawarkan oleh pemilih.
template |
Template | Kategori | Parameter tambahan |
|---|---|---|---|
default |
Default | Brand | — |
blog |
Blog Post | Konten | author, date, domain |
ecommerce |
E-commerce | Commerce | price, original_price, rating, rating_total, features, badge, cta, image, domain |
company |
Company | Brand | domain, logo, tag |
launch |
Product Launch | Brand | kicker, version, tag, cta, domain |
saaslaunch |
SaaS Launch | Brand | kicker, cta, domain |
devtool |
Developer Tool | Developer | version, badge, domain |
game |
Game | Konten | price, rating, image, domain |
event |
Event | Sosial | location, host, date, domain |
quote |
Quote | Sosial | quote, author_name, author_title |
job |
Job Posting | Sosial | location, department, salary, job_type, domain |
stats |
Stats | Data | metric, metric_label, delta |
pricing |
Pricing | Commerce | price, period, cta |
podcast |
Podcast | Media | episode_number, guest_name, guest_role, duration |
video |
Video | Media | duration, channel, views |
editorial |
Editorial | Konten | kicker, author, date, domain |
minimal |
Minimal | Brand | domain |
changelog |
Changelog | Developer | version, tag |
corporate |
Corporate | Brand | kicker, tag, domain |
hero |
Hero | Brand | kicker, cta, status, domain |
imageright |
Image Right | Commerce | kicker, price, original_price, rating, rating_total, badge, cta, image, domain |
specgrid |
Spec Grid | Commerce | specs (daftar `Label |
logos |
Logo Wall | Brand | kicker, brand_logos, domain |
notice |
Notice | Sosial | notice_status, notice_icon, notice_text, date, domain |
testimonial |
Testimonial | Sosial | quote, author_name, author_title, company, author_avatar, rating, rating_total, quote_style |
logofocus |
Logo Focus | Konten | kicker, domain |
xheader |
X Header | Sosial | size, handle, followers, location, website, avatar |
bento |
Bento | Data | kicker, tiles, domain |
comparison |
Comparison | Commerce | kicker, left_label, left_desc, left_points, right_label, right_desc, right_points, verdict |
timeline |
Timeline | Konten | kicker, milestones, domain |
countdown |
Countdown | Brand | kicker, target_date, cta, domain |
news |
News | Konten | headline, byline, author, date, source, image |
code |
Code | Developer | code, language, terminal_title, author, domain |
testimonialpro |
Testimonial Pro | Sosial | quote, author_name, author_title, company, author_avatar, rating, rating_total, cta |
product |
Product | Commerce | 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 |
Dev Blog | Konten | category, title, subtitle, tags, author, author_title, date, read_time, views, likes, comments, code, language, file_path |
codepost |
Code Post | Konten | 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 | Developer | version, tag, title, changes, features, domain |
quotecta |
Quote CTA | Sosial | quote, author_name, author_title, company, cta, domain |
appscreenshot |
App Screenshot | Media | badge, title, subtitle, app_name, rating, screenshot, domain |
realestate |
Real Estate | Commerce | title, subtitle, price, beds, baths, sqft, cta_text, status, image_url, domain |
autorental |
Auto Rental | Commerce | title, subtitle, rate_badge, cta_text, fleet_tag, image_url, domain |
restaurant |
Restaurant | Commerce | 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 | 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 |
Training | Sosial | track, dates, title, subtitle, cta_text, location, image_url, domain |
ecosystem |
Ecosystem | Developer | kicker, title, subtitle, apps_list, dock_label, domain |
glassproduct juga menerima cta. Template ecommerce, product, glassproduct, dan imageright
menampilkan "Shop now" secara default; setel cta ke nilai kosong untuk menyembunyikan pil visual.
Tipe parameter terstruktur
| Tipe | Format | Contoh |
|---|---|---|
list |
Nilai dipisahkan koma | features=Fast,Cheap,Secure |
tiles |
Pasangan label|value dipisahkan baris |
tiles=Requests|12.4M\nUptime|99.99% |
milestones |
date|title|description dipisahkan baris |
milestones=Q3 2026|Alpha|Invite-only |
changes |
type|text dipisahkan baris (added,fixed,improved,removed) |
changes=added|Bento templates |
Respons
- 200 OK — Mengembalikan data gambar PNG
- 401 Unauthorized — Autentikasi tidak valid atau tidak ada
- 422 Unprocessable — Parameter template tidak valid
Respons Error
| Kode Error | Status HTTP | Deskripsi |
|---|---|---|
missing_signature |
401 | Parameter key atau s tidak ada |
invalid_signature |
401 | Verifikasi tanda tangan gagal |
Contoh Permintaan
GET /api/v1/og?template=blog&title=Hello%20World&subtitle=A%20test%20post&key=sk_quick_123abc&s=a1b2c3...
Contoh cURL
curl "https://fastog.com/api/v1/og?template=blog&title=Hello%20World&key=sk_quick_123abc&s=<signature>"
Harga & Batasan
FastOG berbasis langganan: diperlukan paket Dynamic API yang aktif. Render tidak dihitung kuotanya — tidak ada kuota render bulanan dan tidak ada tagihan kelebihan pemakaian. Paket adalah gerbangnya, dan setiap tier melakukan render tanpa penghitung. Lihat Harga untuk tier dan harga terkini.
Gambar yang di-cache gratis: permintaan yang dilayani dari cache edge Cloudflare (template + params yang sama,
terlepas dari signature s pada URL yang sebelumnya di-cache) tidak pernah mencapai origin, sehingga URL yang identik
tidak menghabiskan render tambahan.
Bersih secara default: setiap render bersih — tanpa watermark di paket mana pun, dan tidak ada pada OG
Image Tester gratis, pratinjau Studio, maupun ekspor Studio. Prop render fastog_watermark masih
didukung untuk pemanggil yang secara eksplisit meminta badge "Made with FastOG", tetapi tidak ada yang menyetelnya
secara otomatis.
Terkait
- Dokumentasi — Semua panduan dan referensi FastOG
- Penguji Gambar OG Gratis— Pratinjau tanpa akun
- Panduan Mulai Cepat — mencakup alur arsitektur (tanda tangan saat render)
- Panduan Tanda Tangan HMAC
- Validasi HMAC
- Tutorial JavaScript