Rate Limits

SilvaMux applies two layers of limits to model calls: request rate (requests per minute) and generation concurrency (simultaneous image/video tasks). Requests over the limit return 429.

Request Rate (RPM)

  • Rate limiting is counted per organization: requests from all API keys under the same organization are counted together, regardless of key or user.
  • The default quota is 3600 requests per minute; contact the platform for a higher quota.
  • Counting uses fixed UTC minute windows.
Rate limiting runs after authentication and before billing; requests rejected by the rate limiter are not charged.

When the limit is exceeded the API returns HTTP 429 with error code RATE_LIMITED; the error body is rendered in the API's protocol:

  • OpenAI format: {"error":{"message":"rate limited","type":"gateway_error","code":"RATE_LIMITED"}}
  • Anthropic format: {"type":"error","error":{"type":"rate_limit_error","message":"rate limited"}}
  • Gemini format: "status":"RESOURCE_EXHAUSTED"
  • Volcengine format: {"error":{"code":"RATE_LIMITED","message":"rate limited"}}

Generation Concurrency

Image and video generation are asynchronous tasks with a per-organization concurrency cap (default 5) adjusted by administrators:

CapabilityError codeDescription
Image generationCONCURRENCY_LIMIT_EXCEEDED (429)Simultaneous image generation tasks exceed the cap
Video generationCONCURRENCY_LIMIT_EXCEEDED (429)Simultaneous video generation tasks exceed the cap

Wait for in-flight tasks to finish before submitting new ones.

Retry Advice

On 429, retry with exponential backoff (1s, 2s, 4s, ...) and check:

  • RATE_LIMITED: request frequency exceeds the RPM quota — lower the request rate.
  • CONCURRENCY_LIMIT_EXCEEDED: wait for generation tasks to finish, or contact the platform to raise the cap.
The platform does not return X-RateLimit-* or Retry-After headers; clients should implement backoff based on the error code.