Довідник з API для OG-зображень
Довідник з API для OG-зображень охоплює кінцеву точку, параметри та каталог шаблонів для генерації динамічних зображень Open Graph за допомогою FastOG. API доступний за підпискою — потрібен активний план Dynamic API, але самі рендери не тарифікуються: немає місячної квоти на рендери й немає оплати за перевищення. URL-адреси з підписом HMAC (HMAC-signed URLs) забезпечують безпеку кожного запиту. Зареєструйтеся, виберіть план Dynamic API, потім створіть свій ключ API та HMAC-секрет у панелі керування; платні рендери через API є чистими. Згенерований контракт OpenAPI — це авторитетний машиночитний перелік параметрів, кодів помилок і ідентифікаторів шаблонів.
Базова URL-адреса
https://fastog.com/api/v1/og
Автентифікація
Усі запити потребують автентифікації за допомогою підпису HMAC-SHA256. Публічний key і підпис s є параметрами запиту; автентифікація через заголовки наразі не підтримується. Докладніше див. у документації HMAC.
Endpoint
GET /api/v1/og
Генерує динамічне зображення Open Graph на основі наданих параметрів.
Параметри запиту
| Параметр | Тип | Обов'язковий | Опис |
|---|---|---|---|
template |
string | Ні | Назва шаблону (типово: default) |
title |
string | Так | Головний заголовок. Обов'язковий — обкладинка без заголовка не є корисним попереднім переглядом. |
subtitle |
string | Ні | Підзаголовок або текст опису |
key |
string | Так | Повний API-ключ |
s |
string | Так | Підпис HMAC-SHA256 (64 hex-символи) |
Параметри, специфічні для шаблону
Кожен шаблон приймає спільні параметри, наведені нижче, а також свої специфічні для шаблону параметри (див. таблицю індексу). Параметр запиту template визначає, який макет використовується (типово: default).
Спільні параметри (усі шаблони)
| Параметр | Тип | Опис |
|---|---|---|
title |
string | Текст головного заголовка |
subtitle |
string | Додатковий текст |
tags |
list | Мітки тегів, розділені комами |
theme |
string | dark | light | glass | solid | midnight | vivid | paper | glass_light | custom |
gradient_preset |
string | Іменований пресет градієнта (наприклад, indigo, ocean, sunset, cosmic) |
gradient_direction |
number | Кут градієнта в градусах (типово 135) |
bg_color |
hex | Суцільний колір фону |
pattern |
string | Фоновий візерунок (grid, dots, noise, none, …) |
pattern_color |
hex | Колір візерунка |
pattern_intensity |
number | Непрозорість візерунка (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 | Акцентний колір для виділень |
auto_text_color |
bool | Виводити колір тексту з фону (типово true) |
title_color |
hex | Перевизначити колір заголовка |
subtitle_color |
hex | Перевизначити колір підзаголовка |
brand_name |
string | Текст бренду/логотипа (типово FastOG) |
brand_logo |
string | URL зображення логотипа бренду |
layout_mode |
string | split | centered | banner (застосовуються варіанти, специфічні для шаблону) |
Індекс шаблонів — 67 відтворюваних slug, 48 доступних для вибору. У таблиці нижче описано найуживаніші варіанти оформлення та їхні специфічні для шаблону пропси; вичерпний згенерований список (мітка, категорія, позначка застарілості та кожен прийнятий slug) міститься в /openapi.json у розділі
x-template-catalogue, а поля редактора кожного шаблону (ключ, мітка, тип, значення за замовчуванням, параметри та
формат URL) — у розділі x-template-fields. Застарілі slug залишаються відтворюваними, щоб URL, які вже є
в обігу, продовжували працювати, але засоби вибору їх не пропонують.
template |
Шаблон | Категорія | Додаткові параметри |
|---|---|---|---|
default |
Default | Бренд | — |
blog |
Blog Post | Контент | author, date, domain |
ecommerce |
E-commerce | Комерція | price, original_price, rating, rating_total, features, badge, cta, image, domain |
company |
Company | Бренд | domain, logo, tag |
launch |
Product Launch | Бренд | kicker, version, tag, cta, domain |
saaslaunch |
SaaS Launch | Бренд | kicker, cta, domain |
devtool |
Developer Tool | Розробка | version, badge, domain |
game |
Game | Контент | price, rating, image, domain |
event |
Event | Соціальне | location, host, date, domain |
quote |
Quote | Соціальне | quote, author_name, author_title |
job |
Job Posting | Соціальне | location, department, salary, job_type, domain |
stats |
Stats | Дані | metric, metric_label, delta |
pricing |
Pricing | Комерція | price, period, cta |
podcast |
Podcast | Медіа | episode_number, guest_name, guest_role, duration |
video |
Video | Медіа | duration, channel, views |
editorial |
Editorial | Контент | kicker, author, date, domain |
minimal |
Minimal | Бренд | domain |
changelog |
Changelog | Розробка | version, tag |
corporate |
Corporate | Бренд | kicker, tag, domain |
hero |
Hero | Бренд | kicker, cta, status, domain |
imageright |
Image Right | Комерція | kicker, price, original_price, rating, rating_total, badge, cta, image, domain |
specgrid |
Spec Grid | Комерція | specs (список `Label |
logos |
Logo Wall | Бренд | kicker, brand_logos, domain |
notice |
Notice | Соціальне | notice_status, notice_icon, notice_text, date, domain |
testimonial |
Testimonial | Соціальне | quote, author_name, author_title, company, author_avatar, rating, rating_total, quote_style |
logofocus |
Logo Focus | Контент | kicker, domain |
xheader |
X Header | Соціальне | size, handle, followers, location, website, avatar |
bento |
Bento | Дані | kicker, tiles, domain |
comparison |
Comparison | Комерція | kicker, left_label, left_desc, left_points, right_label, right_desc, right_points, verdict |
timeline |
Timeline | Контент | kicker, milestones, domain |
countdown |
Countdown | Бренд | kicker, target_date, cta, domain |
news |
News | Контент | headline, byline, author, date, source, image |
code |
Code | Розробка | code, language, terminal_title, author, domain |
testimonialpro |
Testimonial Pro | Соціальне | quote, author_name, author_title, company, author_avatar, rating, rating_total, cta |
product |
Product | Комерція | badge, title, price, original_price, rating, rating_total, features, cta, image, layout_mode |
promo |
Promo | Бренд | brand_name, benefits, title, subtitle, domain, layout_mode |
devblog |
Dev Blog | Контент | category, title, subtitle, tags, author, author_title, date, read_time, views, likes, comments, code, language, file_path |
codepost |
Code Post | Контент | category, date, title, subtitle, author, read_time, code, file_path, language |
statsbar |
Stats Bar | Дані | kicker, metric, metric_label, delta, stats, domain |
changelogpro |
Changelog Pro | Розробка | version, tag, title, changes, features, domain |
quotecta |
Quote CTA | Соціальне | quote, author_name, author_title, company, cta, domain |
appscreenshot |
App Screenshot | Медіа | badge, title, subtitle, app_name, rating, screenshot, domain |
realestate |
Real Estate | Комерція | title, subtitle, price, beds, baths, sqft, cta_text, status, image_url, domain |
autorental |
Auto Rental | Комерція | title, subtitle, rate_badge, cta_text, fleet_tag, image_url, domain |
restaurant |
Restaurant | Комерція | kicker, title, subtitle, price, cta_text, badge, image_url, domain |
hospitality |
Hospitality | Медіа | kicker, title, subtitle, rate, cta_text, image_url, domain |
saasspend |
SaaS Spend | Бренд | status_pill, title, subtitle, cta_text, stat_callout, dashboard_image, domain |
brutalist |
Brutalist | Бренд | agency_tag, title, subtitle, cta_text, footer_note, domain |
training |
Training | Соціальне | track, dates, title, subtitle, cta_text, location, image_url, domain |
ecosystem |
Ecosystem | Розробка | kicker, title, subtitle, apps_list, dock_label, domain |
glassproduct також приймає cta. Шаблони ecommerce, product, glassproduct та imageright
за замовчуванням показують «Shop now»; встановіть cta у порожнє значення, щоб приховати візуальну пігулку.
Структуровані типи параметрів
| Тип | Формат | Приклад |
|---|---|---|
list |
Значення, розділені комами | features=Fast,Cheap,Secure |
tiles |
Пари label|value, розділені рядками |
tiles=Requests|12.4M\nUptime|99.99% |
milestones |
date|title|description, розділені рядками |
milestones=Q3 2026|Alpha|Invite-only |
changes |
type|text, розділені рядками (added,fixed,improved,removed) |
changes=added|Bento templates |
Відповідь
- 200 OK — Повертає дані зображення PNG
- 401 Unauthorized — Недійсна або відсутня автентифікація
- 422 Unprocessable — Недійсні параметри шаблону
Відповіді з помилками
| Код помилки | HTTP-статус | Опис |
|---|---|---|
missing_signature |
401 | Відсутній параметр key або s |
invalid_signature |
401 | Не вдалося перевірити підпис |
Приклад запиту
GET /api/v1/og?template=blog&title=Hello%20World&subtitle=A%20test%20post&key=sk_quick_123abc&s=a1b2c3...
Приклад cURL
curl "https://fastog.com/api/v1/og?template=blog&title=Hello%20World&key=sk_quick_123abc&s=<signature>"
Ціни та обмеження
FastOG працює за підпискою: потрібен активний план Dynamic API. Рендери не тарифікуються — немає місячної квоти рендерів і немає оплати за перевищення. План є умовою доступу, і кожен тариф рендерить без лічильника. Актуальні тарифи й ціни дивіться на сторінці Ціни.
Кешовані зображення безкоштовні: запити, обслуговані з edge-кешу Cloudflare (той самий шаблон + параметри, незалежно від підпису s на раніше закешованому URL), ніколи не доходять до origin, тож ідентичний URL не витрачає ще один рендер.
Чисто за замовчуванням: кожен рендер чистий — без водяного знака на будь-якому плані, і його немає ні в безкоштовному OG Image Tester, ні в прев'ю Studio, ні в експортах Studio. Властивість рендера fastog_watermark досі підтримується для тих, хто явно запитує бейдж "Made with FastOG", але ніщо не встановлює її автоматично.
Пов'язані матеріали
- Документація — усі посібники та довідники FastOG
- Безкоштовний тестувальник OG-зображень — попередній перегляд без облікового запису
- Посібник зі швидкого старту — містить схему архітектури (підпис під час рендерингу)
- Посібник із HMAC-підпису
- Перевірка HMAC
- Посібник із JavaScript