> ## Documentation Index
> Fetch the complete documentation index at: https://docs.captioncraft.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate limits

> Keep polling predictable and stay within your account's capacity.

## Request rate

Authenticated API operations share an account-level token bucket:

| Setting                      | Value                   |
| ---------------------------- | ----------------------- |
| Refill rate                  | 120 requests per minute |
| Burst capacity               | 30 requests             |
| Recommended polling interval | 5 seconds per job       |

All API keys belonging to the account share the same allowance. This is a refill rate, not permission to send 120 simultaneous requests. The public presets endpoint does not use the authenticated request bucket.

## Concurrent jobs

Each account has a separate active-job limit. Read `concurrency_limit` and `active_jobs` from [Get usage](/api-reference/get-usage). Queued jobs count toward this limit.

A create request may return `429` with either:

* `RATE_LIMITED`: too many API requests.
* `CONCURRENCY_LIMIT`: too many active jobs on the account.

## Back off and retry

Both return a `Retry-After` header, currently `5` seconds. Wait at least that long before retrying. For a concurrency limit, also wait for an active job to complete, fail, or be canceled.

Use bounded retries with increasing delays and jitter for repeated transient failures. For create requests, preserve the same request body and idempotency key throughout all retry attempts.
