Limits and retries
Key RPM, TPM and concurrency settings, model context/output limits, provider capacity and file quotas apply independently. Current values come from the console, model details and file reference; there is no universal quota for every model.
Distinguish errors
- 402: insufficient personal balance or exhausted project/key budget. Adjust the relevant balance or budget; immediate retries do not help.
- 429: rate or route capacity limits. Reduce concurrency and respect
Retry-Afterwhen present. The header is not guaranteed on every error. - 413: request or file is too large. Reduce it before trying again.
- 400/403/404: check parameters, model permissions and exact model ID.
Retry safely
Use bounded exponential backoff with jitter only when retrying is safe. A timeout does not prove the upstream did no work. Creation/generation requests have no general idempotency guarantee and can incur duplicate work or cost. Never silently replay a started stream. See streaming and retries and error codes.
Queue burst traffic and bound Agent turns, tool calls and total spend. Raising a monetary budget does not increase RPM, TPM or provider capacity.