Reference

API documentation

Two GET endpoints, one API key. Generate dynamic Open Graph images and capture full-page screenshots with a single request — no SDK, no headless browser to run yourself.

Base URL

All endpoints are served from a single origin. Every response is a image/png.

base url
https://ogle.talrax.com

Authentication

Every request must include an API key. Pass it either as an x-api-key request header or as a ?key= query parameter (handy for <img> tags and og:image meta URLs).

MethodExample
headerx-api-key: YOUR_API_KEY
query?key=YOUR_API_KEY

Get your personal key (prefixed ogs_) from your dashboard. Want to try before signing up? The no-code Studio renders live previews on this site — no key of your own required.

GET

/api/og

Renders a 1200×630 PNG social card on the fly. Responds with 200 and image/png, cached for one hour. Each successful call counts against your monthly quota.

Query parameters

ParamTypeRequiredDefaultDescription
titlestringYesHeadline text. Truncated at 160 characters.
subtitlestringNoSecondary line under the title. Truncated at 200 characters.
themelight | darkNodarkColor scheme for the generated card.
bghex colorNothemed gradientSolid background color, with or without a leading # (e.g. 0A1120). Overrides the theme gradient.

Examples

bash · curl
curl "https://ogle.talrax.com/api/og?title=Hello&subtitle=World&theme=dark" \
  -H "x-api-key: YOUR_API_KEY" \
  -o og.png
javascript · fetch
const res = await fetch(
  "https://ogle.talrax.com/api/og?title=Hello&subtitle=World",
  { headers: { "x-api-key": "YOUR_API_KEY" } }
);
const blob = await res.blob(); // image/png
html · img / og:image
<!-- Drop straight into a page or an og:image meta tag -->
<img
  src="https://ogle.talrax.com/api/og?title=Hello&subtitle=World&key=YOUR_API_KEY"
  width="1200"
  height="630"
  alt="Open Graph card"
/>
GET

/api/screenshot

Captures any public URL as a PNG using a headless browser. Responds with 200 and image/png. Each successful call counts against your monthly quota.

Query parameters

ParamTypeRequiredDefaultDescription
urlstringYesPublic http(s) URL to capture. The scheme is optional — vercel.com is normalized to https://vercel.com.
fullPagebooleanNotrueCapture the entire scrollable page. Set fullPage=false for a viewport-only shot.

Examples

bash · curl
curl "https://ogle.talrax.com/api/screenshot?url=vercel.com&fullPage=true" \
  -H "x-api-key: YOUR_API_KEY" \
  -o shot.png
javascript · fetch
const res = await fetch(
  "https://ogle.talrax.com/api/screenshot?url=https://vercel.com",
  { headers: { "x-api-key": "YOUR_API_KEY" } }
);
const blob = await res.blob(); // image/png
html · img
<img
  src="https://ogle.talrax.com/api/screenshot?url=vercel.com&key=YOUR_API_KEY"
  alt="Full-page screenshot of vercel.com"
/>

Error responses

Errors are returned as JSON with an error message and the relevant HTTP status code. Successful responses are always image/png.

StatusMeaning
401Missing or invalid API key. Provide a valid key via the x-api-key header or ?key= param.
402Monthly limit reached. Your plan’s quota is exhausted — upgrade your plan or wait for the monthly reset.
400Bad request. A required parameter is missing or invalid (for example, no url on /api/screenshot).
5xxServer error. Rendering or capture failed unexpectedly — retry the request; if it persists, contact support.

Plans & limits

Each plan includes a combined monthly request quota across /api/og and /api/screenshot. Once you hit the cap, requests return 402 until the next monthly reset.

PlanPriceRequests / month
Free$0100
Pro$1950,000
Scale$991,000,000