General & Usage

Do I need an account or API key to generate images?

No. The Open Graph Image Generator is completely anonymous during the MVP phase. You can generate production images immediately by constructing an HTTPS URL or using the interactive Playground with zero registration, accounts, or credit cards.

What are the rate limits and quotas for anonymous usage?

Anonymous traffic is allowed 60 requests per minute and 1,000 requests per day per client IP hash. Limits are tracked transiently at the Cloudflare edge using salted cryptographic hashing with zero storage of raw IP addresses. Higher limits and dedicated SLAs will be available in upcoming commercial tiers.

Can I use generated images for commercial projects?

Yes. Images generated through the service can be freely used in commercial applications, client websites, SaaS products, open-source repositories, and personal blogs without watermarks or licensing fees.

Performance & Edge

How does edge caching and re-crawling work?

All successfully rendered images are stored in Cloudflare R2 bucket storage and cached globally across Cloudflare edge data centers with headers `Cache-Control: public, max-age=604800, stale-while-revalidate=86400` (7-day browser cache, 1-day stale tolerance). Subsequent requests with identical parameters return the cached image in milliseconds.

How do I invalidate or bust the cache for an image?

Because cache keys are deterministic SHA-256 hashes of the normalized query parameters, modifying any parameter immediately generates and caches a new image. You can append an arbitrary version parameter such as `&v=2` or a timestamp to force social platforms to fetch a refreshed card.

Design & Rendering

What fonts and typefaces are supported?

The renderer bundles three high-legibility type families: Inter (weights 400, 600, 700) for clean sans-serif designs, JetBrains Mono (weights 400, 700) for technical code cards, and Source Serif 4 (weights 400, 700) for editorial articles. Fonts are embedded in the edge runtime bundle for zero-latency shaping.

Is non-Latin or CJK (Chinese, Japanese, Korean) text supported?

The bundled fonts support full Latin and Latin-Extended Unicode character sets. Non-Latin scripts without local glyph coverage will render fallback characters; dedicated multi-script font packages for CJK, Arabic, and Cyrillic are scheduled for post-MVP releases.

Can I include my own company logo or author avatar?

Yes. You can pass public HTTPS image URLs via the `logo` and `avatar` query parameters. Images are retrieved via an isolated SSRF-defended edge fetcher with strict private IP blocking, a 2 MB size limit, and a 5-second timeout, then rasterized in-memory into the final image.

Troubleshooting

Why am I receiving an HTTP 429 Too Many Requests response?

You have exceeded either the 60 requests/minute burst threshold or the 1,000 requests/day daily limit. The HTTP response headers include `Retry-After: <seconds>` indicating exactly how long to wait before resuming requests. Cached image hits do not consume daily quota.

Why isn't Twitter/X or LinkedIn displaying my preview image?

Social media crawlers cache Open Graph tags aggressively. Use our Developer Tools (Metadata Inspector) to verify that your `<meta property="og:image">` and `<meta name="twitter:image">` tags are valid absolute HTTPS URLs, and use LinkedIn Post Inspector or Twitter Card Validator to refresh platform cache.

Still have technical questions?

Explore our developer documentation for full parameter reference and code guides, test dynamic URLs directly in the playground, or inspect live metadata tags.