Rate Limits
ThumbAPI enforces two types of limits: generation quotas (monthly) and rate limits (per-second).
Generation Quotas
| Plan | Generations / Month | Price |
|---|---|---|
| Free | 3 | $0 |
| Starter | 60 | $12/month |
| Pro | 300 | $29/month |
| Business | Unlimited | $150/month |
Quotas reset on the first day of each billing period. Unused generations do not roll over.
Rate Limits
| Plan | Requests / Second |
|---|---|
| Free | 1 |
| Starter | 2 |
| Pro | 5 |
| Business | 20 |
Rate limits apply per API key.
Response Headers
Every response includes rate limit information:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 2026-05-01T00:00:00Z
| Header | Description |
|---|---|
X-RateLimit-Limit | Total generations allowed this period |
X-RateLimit-Remaining | Generations remaining |
X-RateLimit-Reset | When the quota resets (ISO 8601) |
When You Hit a Limit
Generation quota exceeded: HTTP 429 with "Generation limit exceeded". Wait for reset or upgrade.
Rate limit exceeded: HTTP 429 with "Rate limit exceeded". Implement backoff and retry.
Best Practices
- Check
X-RateLimit-Remainingbefore making requests in batch jobs - Implement exponential backoff for 429 responses (see Error Codes)
- Cache generated thumbnails — don't regenerate the same title twice
- Use webhooks (Pro+) for async generation instead of polling
Upgrading
Upgrade your plan at any time from the dashboard. Changes take effect immediately — no proration for the current period.
Next Steps
- Error codes — handling 429 and other errors
- Webhooks — async generation for high volume
- Pricing — compare plans