Rate limits
| Limit | Value |
|---|---|
| Requests per minute | 100 |
| Concurrent render jobs | 5 (single + bulk combined) |
| Max items per bulk job | 100 |
| Max image upload size | 25 MB |
| Max bulk file upload size | 10 MB |
429 Too Many Requests or 400 Bad Request response.
TTLs (Time-To-Live)
| Resource | TTL |
|---|---|
| Temporary images | 24 hours after upload |
| Render jobs | 1 hour after completion |
| Download URLs | 1 hour (pre-signed) |
Concurrent job limits
Your organization can have a maximum of 5 concurrent render jobs running at any time. This includes:- Single render jobs (each counts as 1)
- Bulk render jobs (each counts as 1, regardless of item count)
Best practices
Implement exponential backoff
Implement exponential backoff
When you receive a
429 response, wait before retrying. Start with 1 second and double the wait time for each subsequent retry.Download files promptly
Download files promptly
Download completed renders immediately. Don’t rely on the 1-hour TTL for storage.
Monitor your token balance
Monitor your token balance
Check your token balance before submitting large bulk jobs to avoid failures mid-processing.
Use webhooks for bulk jobs
Use webhooks for bulk jobs
Instead of polling, provide a
webhookUrl when creating bulk jobs to receive completion notifications.