Rate limits
World API rate limits protect capacity and keep world generation available for all users. The limits on this page apply to requests that start a world generation withPOST /marble/v1/worlds:generate.
There are two relevant types of limits:
- Start-rate limits control how many world generation requests your API user can start over a time window.
- Throughput tiers determine whether your account uses the default limits or an approved higher-throughput configuration.
Current limits
| Tier | Requests covered | Limit |
|---|---|---|
| Default | World generation starts | About 3 requests per minute and 60 requests per hour |
| Higher-throughput, approved accounts | Standard world generation starts | About 30 requests per minute |
| Higher-throughput, approved accounts | Draft world generation starts | About 90 requests per minute |
marble-1.0, marble-1.1, and marble-1.1-plus. Draft world generation means marble-1.0-draft.
Limits are enforced for the API user or account associated with the request, not for each API key.
How limits are applied
- The limits on this page apply to generation starts, not to the number of generations already running.
- Usage is tracked in rolling windows, and enforcement is approximate. Short bursts can hit a limit even when average usage over the full window appears lower.
- These limits are maximum allowed usage, not guaranteed minimum throughput. Available capacity can vary with service load.
- Each accepted world generation usually takes about 5 minutes to complete. Use
GET /marble/v1/operations/{operation_id}to poll for the result.
429 errors
If you exceed a rate limit, the API returns429 Too Many Requests. Treat a 429 as a signal to slow generation starts for that API user or account.
When handling 429 responses:
- Pause before retrying. If the response includes
Retry-After, wait at least that long. - Retry with exponential backoff and jitter.
- Avoid retrying many queued starts at once after a pause.
- Reduce concurrent start attempts if you continue seeing
429responses.
429 has not been accepted. After retrying successfully, the response will contain an Operation object; poll that operation instead of resubmitting the same start request.
Requesting higher limits
If your workload needs sustained concurrent generation starts, contact support@worldlabs.ai or your World Labs account representative with:- The API user or account email.
- The models you plan to use.
- Expected starts per minute and starts per hour.
- Whether traffic is bursty or sustained.
- A short description of the customer workflow or launch timeline.