Skip to main content

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 with POST /marble/v1/worlds:generate. There are two relevant types of limits:
  1. Start-rate limits control how many world generation requests your API user can start over a time window.
  2. Throughput tiers determine whether your account uses the default limits or an approved higher-throughput configuration.

Current limits

TierRequests coveredLimit
DefaultWorld generation startsAbout 3 requests per minute and 60 requests per hour
Higher-throughput, approved accountsStandard world generation startsAbout 30 requests per minute
Higher-throughput, approved accountsDraft world generation startsAbout 90 requests per minute
Standard world generation means non-draft models such as 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 returns 429 Too Many Requests. Treat a 429 as a signal to slow generation starts for that API user or account. When handling 429 responses:
  1. Pause before retrying. If the response includes Retry-After, wait at least that long.
  2. Retry with exponential backoff and jitter.
  3. Avoid retrying many queued starts at once after a pause.
  4. Reduce concurrent start attempts if you continue seeing 429 responses.
A generation request that returns 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.
Higher limits are reviewed per account and may use separate standard and draft world generation limits.