Skip to main content
ToAPIs applies separate token buckets to asynchronous task submission and task-status queries. These limits do not consume the normal synchronous model-request allowance. Limits are counted by user ID, not Token. All Tokens owned by one user share the same allowance. Submit and query buckets are independent. Business failures consume allowance; requests rejected with 429 do not. One batch-status request counts once and may contain at most 100 task IDs. Every limited response can include:
429
If the submit limiter is temporarily unavailable, ToAPIs returns 503 with code rate_limit_unavailable. Status queries are allowed during this degradation so existing jobs remain observable.
503
Use Webhooks as the primary completion signal and polling as a fallback. Poll no faster than every 5–10 seconds, add random jitter, honor Retry-After, and use exponential backoff after 429 or 503. See Task Webhooks.