[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-nav-en":3,"docs-en-getting-started\u002Frate-limits":144},[4,52,69,119,136,140],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"Getting Started","\u002Fgetting-started","1.getting-started",[9,12,30,44,48],{"title":10,"path":6,"stem":11},"About SilvaMux","1.getting-started\u002Findex",{"title":13,"path":14,"stem":15,"children":16,"page":-1},"Your First SilvaMux API Call","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F1.quick-start\u002Findex",[17,18,22,26],{"title":13,"path":14,"stem":15},{"title":19,"path":20,"stem":21},"Projects & Account Setup","\u002Fgetting-started\u002Fquick-start\u002Fproject-and-account","1.getting-started\u002F1.quick-start\u002F2.project-and-account",{"title":23,"path":24,"stem":25},"Get an API Key","\u002Fgetting-started\u002Fquick-start\u002Fapi-key","1.getting-started\u002F1.quick-start\u002F3.api-key",{"title":27,"path":28,"stem":29},"First Request","\u002Fgetting-started\u002Fquick-start\u002Ffirst-request","1.getting-started\u002F1.quick-start\u002F4.first-request",{"title":31,"path":32,"stem":33,"children":34,"page":43},"Models & Experience","\u002Fgetting-started\u002Fmodels-and-experience","1.getting-started\u002F2.models-and-experience",[35,39],{"title":36,"path":37,"stem":38},"Model Selection","\u002Fgetting-started\u002Fmodels-and-experience\u002Fmodel-selection","1.getting-started\u002F2.models-and-experience\u002F1.model-selection",{"title":40,"path":41,"stem":42},"Playground","\u002Fgetting-started\u002Fmodels-and-experience\u002Fplayground","1.getting-started\u002F2.models-and-experience\u002F2.playground",false,{"title":45,"path":46,"stem":47},"Rate Limits","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F3.rate-limits",{"title":49,"path":50,"stem":51},"FAQ","\u002Fgetting-started\u002Ffaq","1.getting-started\u002F4.faq",{"title":53,"path":54,"stem":55,"children":56,"page":43},"Billing","\u002Fbilling","2.billing",[57,61,65],{"title":58,"path":59,"stem":60},"Billing Overview","\u002Fbilling\u002Foverview","2.billing\u002F1.overview",{"title":62,"path":63,"stem":64},"Online Top-up","\u002Fbilling\u002Frecharge","2.billing\u002F2.recharge",{"title":66,"path":67,"stem":68},"Bills, Usage & Exports","\u002Fbilling\u002Fusage-export","2.billing\u002F3.usage-export",{"title":70,"path":71,"stem":72,"children":73,"page":43},"Model APIs","\u002Fmodels","4.models",[74,107],{"title":75,"path":76,"stem":77,"children":78,"page":43},"Text Generation","\u002Fmodels\u002Fchat","4.models\u002F1.chat",[79,83,87,91,95,99,103],{"title":80,"path":81,"stem":82},"Overview","\u002Fmodels\u002Fchat\u002Foverview","4.models\u002F1.chat\u002F1.overview",{"title":84,"path":85,"stem":86},"OpenAI Compatible API","\u002Fmodels\u002Fchat\u002Fopenai","4.models\u002F1.chat\u002F2.openai",{"title":88,"path":89,"stem":90},"Anthropic Compatible","\u002Fmodels\u002Fchat\u002Fanthropic","4.models\u002F1.chat\u002F3.anthropic",{"title":92,"path":93,"stem":94},"Volcengine Compatible","\u002Fmodels\u002Fchat\u002Fvolcengine","4.models\u002F1.chat\u002F4.volcengine",{"title":96,"path":97,"stem":98},"Zhipu Compatible","\u002Fmodels\u002Fchat\u002Fzhipu","4.models\u002F1.chat\u002F5.zhipu",{"title":100,"path":101,"stem":102},"SilvaMux Unified Entry","\u002Fmodels\u002Fchat\u002Funified","4.models\u002F1.chat\u002F6.unified",{"title":104,"path":105,"stem":106},"Multimodal Input","\u002Fmodels\u002Fchat\u002Fmultimodal","4.models\u002F1.chat\u002F7.multimodal",{"title":108,"path":109,"stem":110,"children":111,"page":43},"Image Generation","\u002Fmodels\u002Fimages","4.models\u002F2.images",[112,115],{"title":80,"path":113,"stem":114},"\u002Fmodels\u002Fimages\u002Foverview","4.models\u002F2.images\u002F1.overview",{"title":116,"path":117,"stem":118},"Image Generation API","\u002Fmodels\u002Fimages\u002Fgeneration","4.models\u002F2.images\u002F2.generation",{"title":120,"path":121,"stem":122,"children":123,"page":43},"Usage & Balance","\u002Fusage-and-balance","5.usage-and-balance",[124,128,132],{"title":125,"path":126,"stem":127},"Query Balance","\u002Fusage-and-balance\u002Fbalance","5.usage-and-balance\u002F1.balance",{"title":129,"path":130,"stem":131},"Query Usage","\u002Fusage-and-balance\u002Fusage","5.usage-and-balance\u002F2.usage",{"title":133,"path":134,"stem":135},"Query Request Usage","\u002Fusage-and-balance\u002Frequest-usage","5.usage-and-balance\u002F3.request-usage",{"title":137,"path":138,"stem":139},"Error Codes","\u002Ferrors","6.errors",{"title":141,"path":142,"stem":143},"Documentation","\u002F","index",{"id":145,"title":45,"body":146,"description":328,"extension":329,"meta":330,"navigation":331,"path":46,"rawbody":332,"requiredFlags":333,"seo":334,"stem":47,"__hash__":335},"docs_en\u002F1.getting-started\u002F3.rate-limits.md",{"type":147,"value":148,"toc":321},"minimark",[149,153,166,171,188,195,203,229,233,236,285,288,292,295,307],[150,151,45],"h1",{"id":152},"rate-limits",[154,155,156,157,161,162,165],"p",{},"SilvaMux applies two layers of limits to model calls: ",[158,159,160],"strong",{},"request rate"," (requests per minute) and ",[158,163,164],{},"generation concurrency"," (simultaneous image\u002Fvideo tasks). Requests over the limit return 429.",[167,168,170],"h2",{"id":169},"request-rate-rpm","Request Rate (RPM)",[172,173,174,182,185],"ul",{},[175,176,177,178,181],"li",{},"Rate limiting is counted ",[158,179,180],{},"per organization",": requests from all API keys under the same organization are counted together, regardless of key or user.",[175,183,184],{},"The default quota is 3600 requests per minute; contact the platform for a higher quota.",[175,186,187],{},"Counting uses fixed UTC minute windows.",[189,190,192],"alert",{"type":191},"info",[154,193,194],{},"Rate limiting runs after authentication and before billing; requests rejected by the rate limiter are not charged.",[154,196,197,198,202],{},"When the limit is exceeded the API returns HTTP 429 with error code ",[199,200,201],"code",{},"RATE_LIMITED","; the error body is rendered in the API's protocol:",[172,204,205,211,217,223],{},[175,206,207,208],{},"OpenAI format: ",[199,209,210],{},"{\"error\":{\"message\":\"rate limited\",\"type\":\"gateway_error\",\"code\":\"RATE_LIMITED\"}}",[175,212,213,214],{},"Anthropic format: ",[199,215,216],{},"{\"type\":\"error\",\"error\":{\"type\":\"rate_limit_error\",\"message\":\"rate limited\"}}",[175,218,219,220],{},"Gemini format: ",[199,221,222],{},"\"status\":\"RESOURCE_EXHAUSTED\"",[175,224,225,226],{},"Volcengine format: ",[199,227,228],{},"{\"error\":{\"code\":\"RATE_LIMITED\",\"message\":\"rate limited\"}}",[167,230,232],{"id":231},"generation-concurrency","Generation Concurrency",[154,234,235],{},"Image and video generation are asynchronous tasks with a per-organization concurrency cap (default 5) adjusted by administrators:",[237,238,239,255],"table",{},[240,241,242],"thead",{},[243,244,245,249,252],"tr",{},[246,247,248],"th",{},"Capability",[246,250,251],{},"Error code",[246,253,254],{},"Description",[256,257,258,273],"tbody",{},[243,259,260,264,270],{},[261,262,263],"td",{},"Image generation",[261,265,266,269],{},[199,267,268],{},"CONCURRENCY_LIMIT_EXCEEDED"," (429)",[261,271,272],{},"Simultaneous image generation tasks exceed the cap",[243,274,275,278,282],{},[261,276,277],{},"Video generation",[261,279,280,269],{},[199,281,268],{},[261,283,284],{},"Simultaneous video generation tasks exceed the cap",[154,286,287],{},"Wait for in-flight tasks to finish before submitting new ones.",[167,289,291],{"id":290},"retry-advice","Retry Advice",[154,293,294],{},"On 429, retry with exponential backoff (1s, 2s, 4s, ...) and check:",[172,296,297,302],{},[175,298,299,301],{},[199,300,201],{},": request frequency exceeds the RPM quota — lower the request rate.",[175,303,304,306],{},[199,305,268],{},": wait for generation tasks to finish, or contact the platform to raise the cap.",[189,308,310],{"type":309},"warning",[154,311,312,313,316,317,320],{},"The platform does not return ",[199,314,315],{},"X-RateLimit-*"," or ",[199,318,319],{},"Retry-After"," headers; clients should implement backoff based on the error code.",{"title":322,"searchDepth":323,"depth":323,"links":324},"",2,[325,326,327],{"id":169,"depth":323,"text":170},{"id":231,"depth":323,"text":232},{"id":290,"depth":323,"text":291},"Request rate limits, generation concurrency caps, and handling 429 errors.","md",{},true,"---\ntitle: Rate Limits\ndescription: Request rate limits, generation concurrency caps, and handling 429 errors.\n---\n\n# Rate Limits\n\nSilvaMux applies two layers of limits to model calls: **request rate** (requests per minute) and **generation concurrency** (simultaneous image\u002Fvideo tasks). Requests over the limit return 429.\n\n## Request Rate (RPM)\n\n- Rate limiting is counted **per organization**: requests from all API keys under the same organization are counted together, regardless of key or user.\n- The default quota is 3600 requests per minute; contact the platform for a higher quota.\n- Counting uses fixed UTC minute windows.\n\n::alert{type=\"info\"}\nRate limiting runs after authentication and before billing; requests rejected by the rate limiter are not charged.\n::\n\nWhen the limit is exceeded the API returns HTTP 429 with error code `RATE_LIMITED`; the error body is rendered in the API's protocol:\n\n- OpenAI format: `{\"error\":{\"message\":\"rate limited\",\"type\":\"gateway_error\",\"code\":\"RATE_LIMITED\"}}`\n- Anthropic format: `{\"type\":\"error\",\"error\":{\"type\":\"rate_limit_error\",\"message\":\"rate limited\"}}`\n- Gemini format: `\"status\":\"RESOURCE_EXHAUSTED\"`\n- Volcengine format: `{\"error\":{\"code\":\"RATE_LIMITED\",\"message\":\"rate limited\"}}`\n\n## Generation Concurrency\n\nImage and video generation are asynchronous tasks with a per-organization concurrency cap (default 5) adjusted by administrators:\n\n| Capability | Error code | Description |\n| --- | --- | --- |\n| Image generation | `CONCURRENCY_LIMIT_EXCEEDED` (429) | Simultaneous image generation tasks exceed the cap |\n| Video generation | `CONCURRENCY_LIMIT_EXCEEDED` (429) | Simultaneous video generation tasks exceed the cap |\n\nWait for in-flight tasks to finish before submitting new ones.\n\n## Retry Advice\n\nOn 429, retry with exponential backoff (1s, 2s, 4s, ...) and check:\n\n- `RATE_LIMITED`: request frequency exceeds the RPM quota — lower the request rate.\n- `CONCURRENCY_LIMIT_EXCEEDED`: wait for generation tasks to finish, or contact the platform to raise the cap.\n\n::alert{type=\"warning\"}\nThe platform does not return `X-RateLimit-*` or `Retry-After` headers; clients should implement backoff based on the error code.\n::\n",[],{"title":45,"description":328},"X7QZv7GNq6HEGJqCNkkdQfmWWKfpFZO9_h1pUGvDRdU"]