Справочник по API OG-изображений
Справочник по API OG-изображений описывает эндпоинт, параметры и каталог шаблонов для генерации динамических изображений Open Graph с помощью FastOG. API доступен по подписке — требуется активный тариф Dynamic API, но сами рендеры не тарифицируются: нет ни месячной квоты на рендеры, ни оплаты за превышение. URL-адреса с подписью HMAC обеспечивают безопасность каждого запроса. Зарегистрируйтесь, выберите тариф Dynamic API, затем создайте API-ключ и HMAC-секрет в панели управления; платные рендеры через API выполняются без ограничений. Сгенерированный контракт OpenAPI — это авторитетный машиночитаемый список параметров, кодов ошибок и слагов шаблонов.
Базовый URL
https://fastog.com/api/v1/og
Аутентификация
Все запросы требуют аутентификации с помощью подписи HMAC-SHA256. Публичный key и подпись s передаются как query-параметры; аутентификация через заголовки сейчас не поддерживается. Подробности см. в документации по 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. Рендеры не тарифицируются — нет ни месячной квоты на рендеры, ни оплаты за превышение. Тариф служит пропуском, и каждый уровень рендерит без счётчика. Актуальные уровни и цены см. в разделе Цены.
Кэшированные изображения бесплатны: запросы, обслуженные из кэша Cloudflare на периферии (тот же шаблон + параметры, независимо от подписи s на ранее закэшированном URL), никогда не доходят до origin, поэтому идентичный URL не расходует ещё один рендер.
Чисто по умолчанию: каждый рендер чистый — без водяного знака на любом тарифе, а также в бесплатном OG Image Tester, превью Studio и экспортах Studio. Свойство рендера fastog_watermark по-прежнему поддерживается для тех, кто явно запрашивает значок "Made with FastOG", но автоматически оно не устанавливается.
Связанные разделы
- Документация — все руководства и справочники FastOG
- Бесплатный тестер OG-изображений — предварительный просмотр без аккаунта
- Краткое руководство по началу работы — включает схему архитектуры (подпись во время рендеринга)
- Руководство по HMAC-подписи
- Проверка HMAC
- Учебник по JavaScript