[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-nav-en":3,"docs-en-getting-started\u002Frate-limits":163},[4,52,69,92,142,155,159],{"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},"Coding Plan","\u002Fcoding-plan","3.coding-plan",[74,78],{"title":75,"path":76,"stem":77},"Coding Plan Overview","\u002Fcoding-plan\u002Foverview","3.coding-plan\u002F1.overview",{"title":79,"path":80,"stem":81,"children":82,"page":-1},"Personal","\u002Fcoding-plan\u002Fpersonal","3.coding-plan\u002F2.personal\u002Findex",[83,85,89],{"title":84,"path":80,"stem":81},"Pricing & Benefits",{"title":86,"path":87,"stem":88},"Quick Start","\u002Fcoding-plan\u002Fpersonal\u002Fquick-start","3.coding-plan\u002F2.personal\u002F2.quick-start",{"title":49,"path":90,"stem":91},"\u002Fcoding-plan\u002Fpersonal\u002Ffaq","3.coding-plan\u002F2.personal\u002F3.faq",{"title":93,"path":94,"stem":95,"children":96,"page":43},"Model APIs","\u002Fmodels","4.models",[97,130],{"title":98,"path":99,"stem":100,"children":101,"page":43},"Text Generation","\u002Fmodels\u002Fchat","4.models\u002F1.chat",[102,106,110,114,118,122,126],{"title":103,"path":104,"stem":105},"Overview","\u002Fmodels\u002Fchat\u002Foverview","4.models\u002F1.chat\u002F1.overview",{"title":107,"path":108,"stem":109},"OpenAI Compatible API","\u002Fmodels\u002Fchat\u002Fopenai","4.models\u002F1.chat\u002F2.openai",{"title":111,"path":112,"stem":113},"Anthropic Compatible","\u002Fmodels\u002Fchat\u002Fanthropic","4.models\u002F1.chat\u002F3.anthropic",{"title":115,"path":116,"stem":117},"Volcengine Compatible","\u002Fmodels\u002Fchat\u002Fvolcengine","4.models\u002F1.chat\u002F4.volcengine",{"title":119,"path":120,"stem":121},"Zhipu Compatible","\u002Fmodels\u002Fchat\u002Fzhipu","4.models\u002F1.chat\u002F5.zhipu",{"title":123,"path":124,"stem":125},"SilvaMux Unified Entry","\u002Fmodels\u002Fchat\u002Funified","4.models\u002F1.chat\u002F6.unified",{"title":127,"path":128,"stem":129},"Multimodal Input","\u002Fmodels\u002Fchat\u002Fmultimodal","4.models\u002F1.chat\u002F7.multimodal",{"title":131,"path":132,"stem":133,"children":134,"page":43},"Image Generation","\u002Fmodels\u002Fimages","4.models\u002F2.images",[135,138],{"title":103,"path":136,"stem":137},"\u002Fmodels\u002Fimages\u002Foverview","4.models\u002F2.images\u002F1.overview",{"title":139,"path":140,"stem":141},"Image Generation API","\u002Fmodels\u002Fimages\u002Fgeneration","4.models\u002F2.images\u002F2.generation",{"title":143,"path":144,"stem":145,"children":146,"page":43},"Usage & Balance","\u002Fusage-and-balance","5.usage-and-balance",[147,151],{"title":148,"path":149,"stem":150},"Query Balance","\u002Fusage-and-balance\u002Fbalance","5.usage-and-balance\u002F1.balance",{"title":152,"path":153,"stem":154},"Query Usage","\u002Fusage-and-balance\u002Fusage","5.usage-and-balance\u002F2.usage",{"title":156,"path":157,"stem":158},"Error Codes","\u002Ferrors","6.errors",{"title":160,"path":161,"stem":162},"Documentation","\u002F","index",{"id":164,"title":45,"body":165,"description":347,"extension":348,"meta":349,"navigation":350,"path":46,"rawbody":351,"requiredFlags":352,"seo":353,"stem":47,"__hash__":354},"docs_en\u002F1.getting-started\u002F3.rate-limits.md",{"type":166,"value":167,"toc":340},"minimark",[168,172,185,190,207,214,222,248,252,255,304,307,311,314,326],[169,170,45],"h1",{"id":171},"rate-limits",[173,174,175,176,180,181,184],"p",{},"SilvaMux applies two layers of limits to model calls: ",[177,178,179],"strong",{},"request rate"," (requests per minute) and ",[177,182,183],{},"generation concurrency"," (simultaneous image\u002Fvideo tasks). Requests over the limit return 429.",[186,187,189],"h2",{"id":188},"request-rate-rpm","Request Rate (RPM)",[191,192,193,201,204],"ul",{},[194,195,196,197,200],"li",{},"Rate limiting is counted ",[177,198,199],{},"per organization",": requests from all API keys under the same organization are counted together, regardless of key or user.",[194,202,203],{},"The default quota is 3600 requests per minute; contact the platform for a higher quota.",[194,205,206],{},"Counting uses fixed UTC minute windows.",[208,209,211],"alert",{"type":210},"info",[173,212,213],{},"Rate limiting runs after authentication and before billing; requests rejected by the rate limiter are not charged.",[173,215,216,217,221],{},"When the limit is exceeded the API returns HTTP 429 with error code ",[218,219,220],"code",{},"RATE_LIMITED","; the error body is rendered in the API's protocol:",[191,223,224,230,236,242],{},[194,225,226,227],{},"OpenAI format: ",[218,228,229],{},"{\"error\":{\"message\":\"rate limited\",\"type\":\"gateway_error\",\"code\":\"RATE_LIMITED\"}}",[194,231,232,233],{},"Anthropic format: ",[218,234,235],{},"{\"type\":\"error\",\"error\":{\"type\":\"rate_limit_error\",\"message\":\"rate limited\"}}",[194,237,238,239],{},"Gemini format: ",[218,240,241],{},"\"status\":\"RESOURCE_EXHAUSTED\"",[194,243,244,245],{},"Volcengine format: ",[218,246,247],{},"{\"error\":{\"code\":\"RATE_LIMITED\",\"message\":\"rate limited\"}}",[186,249,251],{"id":250},"generation-concurrency","Generation Concurrency",[173,253,254],{},"Image and video generation are asynchronous tasks with a per-organization concurrency cap (default 5) adjusted by administrators:",[256,257,258,274],"table",{},[259,260,261],"thead",{},[262,263,264,268,271],"tr",{},[265,266,267],"th",{},"Capability",[265,269,270],{},"Error code",[265,272,273],{},"Description",[275,276,277,292],"tbody",{},[262,278,279,283,289],{},[280,281,282],"td",{},"Image generation",[280,284,285,288],{},[218,286,287],{},"CONCURRENCY_LIMIT_EXCEEDED"," (429)",[280,290,291],{},"Simultaneous image generation tasks exceed the cap",[262,293,294,297,301],{},[280,295,296],{},"Video generation",[280,298,299,288],{},[218,300,287],{},[280,302,303],{},"Simultaneous video generation tasks exceed the cap",[173,305,306],{},"Wait for in-flight tasks to finish before submitting new ones.",[186,308,310],{"id":309},"retry-advice","Retry Advice",[173,312,313],{},"On 429, retry with exponential backoff (1s, 2s, 4s, ...) and check:",[191,315,316,321],{},[194,317,318,320],{},[218,319,220],{},": request frequency exceeds the RPM quota — lower the request rate.",[194,322,323,325],{},[218,324,287],{},": wait for generation tasks to finish, or contact the platform to raise the cap.",[208,327,329],{"type":328},"warning",[173,330,331,332,335,336,339],{},"The platform does not return ",[218,333,334],{},"X-RateLimit-*"," or ",[218,337,338],{},"Retry-After"," headers; clients should implement backoff based on the error code.",{"title":341,"searchDepth":342,"depth":342,"links":343},"",2,[344,345,346],{"id":188,"depth":342,"text":189},{"id":250,"depth":342,"text":251},{"id":309,"depth":342,"text":310},"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":347},"X7QZv7GNq6HEGJqCNkkdQfmWWKfpFZO9_h1pUGvDRdU"]