Rate Limits
ThumbAPI enforces two types of limits: monthly credit quotas and per-second rate limits.
Monthly Credit Quotas
Pricing is metered in credits. A standard 1K thumbnail costs 10 credits; add-ons (usePhoto, useLogo, customAssetsId) add +2 each; a 2K (hd) render costs 20 credits instead of 10. See credit cost details.
| Plan | Credits / Month | Price | Standard 1K thumbnails* |
|---|---|---|---|
| Free | 50 | $0 | ~5 |
| Creator | 750 | $19/month | ~75 |
| Pro | 2,500 | $49/month | ~250 |
| Business | 10,000 | $199/month | ~1,000 |
*Approximate count assumes base 1K renders with no add-ons. Actual count depends on the mix of sd/hd and add-on flags you use.
Credits reset on the first day of each billing period. Unused credits do not roll over.
Free-tier output carries a small ThumbAPI watermark; Creator and higher plans return watermark-free images.
Rate Limits
| Plan | Requests / Second |
|---|---|
| Free | 1 |
| Creator | 2 |
| Pro | 5 |
| Business | 20 |
Rate limits apply per API key.
Response Headers
Every response includes credit-quota information:
X-RateLimit-Limit: 2500
X-RateLimit-Remaining: 1847
X-RateLimit-Reset: 2026-05-01T00:00:00Z
| Header | Description |
|---|---|
X-RateLimit-Limit | Total credits allowed this billing period |
X-RateLimit-Remaining | Credits remaining this billing period |
X-RateLimit-Reset | When the quota resets (ISO 8601) |
When You Hit a Limit
Credit quota exceeded: HTTP 429 with "Generation limit exceeded". Wait for the next billing period or upgrade your plan.
Per-second 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