Rate Limits
Ang mga rate limit ay mga paghihigpit na ipinapataw ng aming API sa bilang ng beses na maaaring ma-access ng isang user o client ang aming mga serbisyo sa loob ng isang tinukoy na yugto ng panahon.
Bakit May Mga Limitasyon
Naglagay kami ng mga rate limit sa aming API upang matulungang lumikha ng pinakamahusay na karanasan para sa lahat. Narito kung bakit mahalaga ang mga ito:
-
Upang mapanatiling ligtas at maayos ang aming serbisyo! Isipin ang mga rate limit bilang magigiliw na bouncer - sinisiguro nila na walang makaka-overwhelm sa aming API gamit ang napakaraming request nang sabay-sabay. Nakakatulong ito upang protektahan ang aming serbisyo mula sa posibleng maling paggamit at panatilihing maayos ang takbo ng lahat.
-
Upang matiyak na makakakuha ang lahat ng kanilang makatarungang bahagi. Tulad ng pagbabahagi ng mga laruan sa isang palaruan, gusto naming matiyak na ang lahat ng aming mga user ay may pantay na access sa API. Sa pamamagitan ng magiliw na paglilimita kung ilang request ang maaaring gawin ng bawat user, sinisiguro naming walang masyadong matatagalan bago sumapit ang kanilang turn.
-
Upang mapanatiling mabilis at maaasahan ang performance. Sa pamamagitan ng pamamahala sa kabuuang daloy ng mga request, mapapanatili namin ang mabilis na oras ng pagtugon at matatag na serbisyo para sa lahat ng aming kahanga-hangang mga user. Parang tinitiyak na hindi masyadong siksikan ang isang highway - mas maayos ang daloy ng trapiko kapag pinipigilan natin ang kagulohan!
Paano Gumagana ang Mga Limitasyon
Ang mga rate limit ay sinusukat sa 2 paraan:
- Requests per Second: Ito ang bilang ng mga network request na maaari mong gawin bawat segundo.
- Queue Tasks: Ito ang bilang ng mga sabay-sabay na generation task na maaari mong patakbuhin sa queue sa anumang partikular na sandali.
Ang queue tasks ay ang mga task sa iyong account na nasa katayuang PENDING o IN_PROGRESS. Bawat endpoint na gumagawa ng task (halimbawa, Text to 3D, Image to 3D, Multi-Image to 3D, Retexture, Remesh, Rigging, Animation, Text to Image, ang mga endpoint ng 3D printing, at Creative Lab) ay sinusuri ang limitasyong ito bago tanggapin ang bagong task. Ang mga request na hindi gumagawa ng task, tulad ng Balance, Usage, at pagkuha, paglilista o pag-stream ng mga task, ay hindi kabilang sa limitasyong ito, bagama't kasama pa rin ang mga ito sa requests per second.
Ipinapataw ang mga limitasyon kada account, kaya ibinabahagi ang mga ito sa lahat ng iyong mga API key at sa Playground. Ang mga task na sinimulan mo sa Meshy web app ay kasama rin sa iyong queue tasks.
Bukod sa mga rate limit, ang priority ng pagpoproseso ng task ay makakaapekto rin sa bilis ng iyong mga task.
Ang bawat user tier ay may partikular na mga rate limit at antas ng priority na dinisenyo upang umayon sa kanilang mga pangangailangan. Narito ang kasalukuyang mga limitasyon ayon sa tier:
| User Tier | Requests per Second | Queue Tasks | Antas ng Priority |
|---|---|---|---|
| Pro | 20 | 10 | Default |
| Premium | 20 | 30 | Mas mataas kaysa Pro |
| Ultra | 20 | 100 | Pinakamataas |
| Studio | 20 | 20 | Mas mataas kaysa Pro |
| Enterprise | 100 | Default sa 100, maaaring i-customize | Pinakamataas |
Kapag nalampasan mo ang mga limitasyong ito, makakatanggap ka ng 429 Too Many Requests na tugon mula sa aming API. May dalawang uri ng pagka-hit na maaaring mag-trigger nito, bawat isa ay may ibang tugon:
- Request Hit: Nangyayari ito kapag gumawa ka ng napakaraming request bawat segundo. Makakatanggap ka ng
429 Too Many Requestsna tugon kasama ang mensahengRate limit exceeded. - Queue Hit: Nangyayari ito kapag masyado kang maraming sabay-sabay na generation task na tumatakbo. Makakatanggap ka ng
429 Too Many Requestsna tugon kasama ang mensahengNoMorePendingTasks(o, kapag naubos na ang iyong credits,NoMoreConcurrentTasks). Ang429na ito ay walangRetry-After: hintayin na matapos ang isa sa iyong mga task bago gumawa ng isa pa.
Mga Rate Limit Header
May dalang mga header ang mga tugon ng API upang matulungan kang pacing ang iyong mga request:
| Header | Paglalarawan |
|---|---|
X-RateLimit-Limit | Bilang ng mga request na pinahihintulutan bawat segundo sa iyong tier. |
X-RateLimit-Remaining | Natitirang bilang ng mga request sa kasalukuyang segundo. |
X-RateLimit-Reset | Bilang ng segundo bago mapuno muli ang iyong budget. |
Retry-After | Bilang ng segundo na dapat hintayin bago ang iyong susunod na request. Ipinapadala kasama ng Request Hit na 429, at kapag kinuha mo ang isang task na nasa katayuang PENDING o IN_PROGRESS pa rin. |
Kapag naroon ang Retry-After, hintayin ang bilang ng segundong iyon bago ipadala ang susunod na request.