OG 이미지 API 레퍼런스
OG 이미지 API 레퍼런스는 FastOG로 동적 Open Graph 이미지를 생성하기 위한 엔드포인트, 파라미터, 템플릿 카탈로그를 다룹니다. 이 API는 구독 기반으로 제공되므로 활성 Dynamic API 플랜이 필요하지만, 렌더링 자체에는 과금이 적용되지 않습니다: 월간 렌더링 할당량도, 초과 요금 청구도 없습니다. HMAC 서명 URL을 통해 각 요청의 보안이 유지됩니다. 가입한 뒤 Dynamic API 플랜을 선택하고, 대시보드에서 API 키와 HMAC 시크릿을 생성하십시오. 유료 API 렌더링은 추가 비용 없이 제공됩니다. 생성된 OpenAPI 계약은 파라미터, 오류 코드, 템플릿 슬러그를 담은 권위 있는 기계 판독 가능 목록입니다.
기본 URL
https://fastog.com/api/v1/og
인증
모든 요청에는 HMAC-SHA256 서명 인증이 필요합니다. 공개 key와 s 서명은 쿼리 파라미터이며, 현재 헤더 기반 인증은 지원하지 않습니다. 자세한 내용은 HMAC 문서를 참고하십시오.
엔드포인트
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개, 선택 가능한 슬러그 48개. 아래 표는 가장 많이 사용되는 룩과 해당 템플릿 전용 props를 문서화합니다. 레이블, 카테고리, 폐기(retired) 플래그, 허용되는 모든 슬러그를 포함한 전체 생성 목록은 x-template-catalogue 아래의 /openapi.json에 있으며, 각 템플릿의 에디터 필드(key, label, type, default, options, URL 형식)는 x-template-fields 아래에 있습니다. 폐기된 슬러그도 계속 렌더링할 수 있으므로 이미 배포된 URL은 계속 동작하지만, 피커에서는 제공되지 않습니다.
template |
템플릿 | 카테고리 | 추가 매개변수 |
|---|---|---|---|
default |
Default | 브랜드 | — |
blog |
블로그 게시물 | 콘텐츠 | author, date, domain |
ecommerce |
이커머스 | 커머스 | price, original_price, rating, rating_total, features, badge, cta, image, domain |
company |
회사 | 브랜드 | domain, logo, tag |
launch |
제품 출시 | 브랜드 | kicker, version, tag, cta, domain |
saaslaunch |
SaaS 출시 | 브랜드 | kicker, cta, domain |
devtool |
개발자 도구 | 개발자 | version, badge, domain |
game |
게임 | 콘텐츠 | price, rating, image, domain |
event |
이벤트 | 소셜 | location, host, date, domain |
quote |
인용 | 소셜 | quote, author_name, author_title |
job |
채용 공고 | 소셜 | location, department, salary, job_type, domain |
stats |
통계 | 데이터 | metric, metric_label, delta |
pricing |
가격 | 커머스 | price, period, cta |
podcast |
팟캐스트 | 미디어 | episode_number, guest_name, guest_role, duration |
video |
비디오 | 미디어 | duration, channel, views |
editorial |
에디토리얼 | 콘텐츠 | kicker, author, date, domain |
minimal |
미니멀 | 브랜드 | domain |
changelog |
변경 로그 | 개발자 | version, tag |
corporate |
기업 | 브랜드 | kicker, tag, domain |
hero |
히어로 | 브랜드 | kicker, cta, status, domain |
imageright |
이미지 오른쪽 | 커머스 | kicker, price, original_price, rating, rating_total, badge, cta, image, domain |
specgrid |
스펙 그리드 | 커머스 | specs (`Label |
logos |
로고 월 | 브랜드 | kicker, brand_logos, domain |
notice |
공지 | 소셜 | notice_status, notice_icon, notice_text, date, domain |
testimonial |
추천사 | 소셜 | quote, author_name, author_title, company, author_avatar, rating, rating_total, quote_style |
logofocus |
로고 포커스 | 콘텐츠 | kicker, domain |
xheader |
X 헤더 | 소셜 | size, handle, followers, location, website, avatar |
bento |
벤토 | 데이터 | kicker, tiles, domain |
comparison |
비교 | 커머스 | kicker, left_label, left_desc, left_points, right_label, right_desc, right_points, verdict |
timeline |
타임라인 | 콘텐츠 | kicker, milestones, domain |
countdown |
카운트다운 | 브랜드 | kicker, target_date, cta, domain |
news |
뉴스 | 콘텐츠 | headline, byline, author, date, source, image |
code |
코드 | 개발자 | code, language, terminal_title, author, domain |
testimonialpro |
추천사 프로 | 소셜 | quote, author_name, author_title, company, author_avatar, rating, rating_total, cta |
product |
제품 | 커머스 | badge, title, price, original_price, rating, rating_total, features, cta, image, layout_mode |
promo |
프로모 | 브랜드 | brand_name, benefits, title, subtitle, domain, layout_mode |
devblog |
개발 블로그 | 콘텐츠 | category, title, subtitle, tags, author, author_title, date, read_time, views, likes, comments, code, language, file_path |
codepost |
코드 게시물 | 콘텐츠 | category, date, title, subtitle, author, read_time, code, file_path, language |
statsbar |
통계 바 | 데이터 | kicker, metric, metric_label, delta, stats, domain |
changelogpro |
변경 로그 프로 | 개발자 | version, tag, title, changes, features, domain |
quotecta |
인용 CTA | 소셜 | quote, author_name, author_title, company, cta, domain |
appscreenshot |
앱 스크린샷 | 미디어 | badge, title, subtitle, app_name, rating, screenshot, domain |
realestate |
부동산 | 커머스 | title, subtitle, price, beds, baths, sqft, cta_text, status, image_url, domain |
autorental |
렌터카 | 커머스 | title, subtitle, rate_badge, cta_text, fleet_tag, image_url, domain |
restaurant |
레스토랑 | 커머스 | kicker, title, subtitle, price, cta_text, badge, image_url, domain |
hospitality |
호스피탈리티 | 미디어 | kicker, title, subtitle, rate, cta_text, image_url, domain |
saasspend |
SaaS 지출 | 브랜드 | status_pill, title, subtitle, cta_text, stat_callout, dashboard_image, domain |
brutalist |
브루탈리스트 | 브랜드 | agency_tag, title, subtitle, cta_text, footer_note, domain |
training |
교육 | 소셜 | track, dates, title, subtitle, cta_text, location, image_url, domain |
ecosystem |
생태계 | 개발자 | kicker, title, subtitle, apps_list, dock_label, domain |
glassproduct는 cta도 허용합니다. ecommerce, product, glassproduct, imageright
템플릿은 기본적으로 “Shop now”를 표시합니다. 시각적 알약(pill)을 숨기려면 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 엣지 캐시에서 제공되는 요청(동일한 템플릿 + 파라미터, 이전에 캐시된 URL의 s 서명과 무관)은 오리진에 도달하지 않으므로, 동일한 URL은 추가 렌더링을 소비하지 않습니다.
기본적으로 깔끔합니다: 모든 렌더링은 깔끔합니다. 어떤 플랜에도 워터마크가 없으며, 무료 OG Image Tester, Studio 미리보기, Studio 내보내기에도 없습니다. 명시적으로 "Made with FastOG" 배지를 요청하는 호출자를 위해 fastog_watermark 렌더 prop은 여전히 지원되지만, 자동으로 설정되는 것은 없습니다.
관련 문서
- 문서 — 모든 FastOG 가이드와 참조 자료
- 무료 OG 이미지 테스터 — 계정 없이 미리보기
- 빠른 시작 가이드 — 아키텍처 흐름(렌더 시점 서명)을 포함합니다
- HMAC 서명 가이드
- HMAC 검증
- JavaScript 튜토리얼