Rate Limits & Quotas

ogmint uses a multi-layer rate limiting system to ensure fair usage and prevent abuse. Limits differ by tier and authentication method.

Rate Limiting Tiers

TierAPIAuthBurst LimitDaily Limit
Free (Anonymous)V1 onlyNone (IP-based)10 renders/day per IP
Free (API Key)V1 + V2x-api-key5/second
StarterV1 + V2x-api-key5/second
ProV1 + V2x-api-key5/second
AgencyV1 + V2x-api-key5/second

Monthly Render Quotas

Monthly quotas are enforced per user, regardless of how many API keys you create. Quotas reset monthly.

PlanMonthly Renders
Free100
Starter1,000
Pro10,000
Agency50,000
💡 Dedup Saves Quota
V2 render dedup does not count against your monthly quota. If you send the same parameters twice, the second request returns the cached image for free.

Rate Limit Headers

When rate limited, the API returns HTTP 429 with a JSON error body:

429 Response
{
  "error": "Too many requests. Free tier is limited to 10 renders per day. Use an API key for higher limits."
}

Image Proxy Rate Limiting

The image serving proxy at /i/{slug} also has rate limits to prevent hotlink abuse. Images are cached at the edge with a 24-hour Cache-Control header, so CDN cache hits don't count against your limit.

Best Practices

  • Use V2 for production: Rendered images are stored on CDN permanently. No re-rendering needed.
  • Leverage dedup: Same parameters = same slug. No quota consumed on repeat requests to V2.
  • Cache V1 responses: V1 images come with Cache-Control: public, max-age=86400. Use a CDN or browser cache to avoid redundant requests.
  • Use short URLs: /i/{key} is cleaner and enables Vercel edge caching.
  • Use palettes over custom colors: Fewer mistakes and consistent results.