RenderOG Documentation
RenderOG is an edge-rendered Open Graph image and screenshot API. Generate production-grade OG images in under 100ms with true pay-as-you-go pricing — no credits, no cold starts, and we never bill failed renders or cache hits.
Two Capabilities
OG Images (Live) Generate Open Graph images on-the-fly from signed URLs. Choose from four built-in templates (basic, gradient, blog, product) or pass custom HTML/CSS. Rendered at Cloudflare's edge in under 100ms, cached at the edge for 1 year.
Screenshots (Coming Soon) Capture website screenshots with Cloudflare Browser Rendering. Full-page or viewport crops, multiple formats (PNG, WebP, JPEG), with cookie dismissal and custom delays. Currently returns 501 — rolling out Phase 5.
How It Works
All requests are signed with HMAC-SHA256 to prevent tampering. You provide a request (template, title, etc.) and a signature computed from your signing secret. The API verifies the signature, renders the image, and returns it as cached bytes.
For API access, use bearer-token authentication (Authorization: Bearer sk_live_...) to call /v1/render and /v1/usage.
Public signed URLs (GET /og) are ideal for dynamic sharing links and meta tags. API keys (/v1/*) are for backend integrations and custom HTML templates.
Start Here
- Quickstart — Get an API key, sign your first URL, and render an OG image in 5 minutes.
- GET /og Reference — Full parameter documentation, all four templates, caching behavior, and Satori/CSS constraints.
- GET /screenshot Reference — Planned screenshot API contract (coming soon; currently 501).
- MCP Server — Connect Claude Desktop, Claude Code, or Cursor via the Model Context Protocol.
- Error Codes — Every HTTP status and error code, with billing status for each.
- Pricing & Billing — Free tier limits, PAYG model, usage endpoints, and quota behavior.
- FAQ — Eight common questions answered in 60 words or less.
Key Promises
Sub-100ms OG renders (cached), 1–4s screenshots (when live). $0.003 per render, no minimum, billed only on successful renders (status 200) that miss the cache. Free tier of 500 renders/month — never billed, even on PAYG plans. Failures never billed — 4xx and 5xx responses have zero cost. Cache hits never billed — the same render twice costs nothing the second time.
Base URL & Authentication
Public endpoint: https://api.renderog.app
API key auth (for /v1/*):
Authorization: Bearer sk_live_<40 hex characters>
Keys are created in your dashboard. The full key is shown exactly once at creation; store only the hash. Rotate keys at any time with POST /v1/keys.
Signing Algorithm (for GET /og)
- Collect all query parameters except
sig. - Sort them alphabetically by key.
- Build a canonical string:
key1=encodeURIComponent(value1)&key2=encodeURIComponent(value2)... - Compute
sig = HMAC-SHA256(SIGNING_SECRET, canonical)and encode as hex.
Details and worked examples in Quickstart.
Get Help
- Email: support@renderog.app (monitored during business hours)
- GitHub: fgandolfo/renderog (issues, discussions)
- Status: status.renderog.app