Limity szybkości
Limity szybkości to ograniczenia, które nasze API nakłada na liczbę razy, w ciągu których użytkownik lub klient może korzystać z naszych usług w określonym przedziale czasu.
Dlaczego limity
Wprowadziliśmy limity szybkości w naszym API, aby stworzyć najlepsze doświadczenie dla wszystkich. Oto dlaczego są one ważne:
-
Aby zachować bezpieczeństwo i stabilność naszej usługi! Traktuj limity szybkości jak przyjaznych ochroniarzy - dbają o to, by nikt nie przeciążył naszego API zbyt dużą liczbą żądań naraz. Pomaga to chronić naszą usługę przed potencjalnym nadużyciem i utrzymuje wszystko w płynnym działaniu.
-
Aby każdy dostał swoją sprawiedliwą część. Podobnie jak przy dzieleniu się zabawkami na placu zabaw, chcemy, aby wszyscy nasi użytkownicy mieli równy dostęp do API. Delikatnie ograniczając liczbę żądań, jakie może wykonać każdy użytkownik, zapewniamy, że nikt nie musi czekać zbyt długo na swoją kolej.
-
Aby wydajność była szybka i niezawodna. Zarządzając ogólnym przepływem żądań, możemy utrzymać szybkie czasy odpowiedzi i stabilną usługę dla wszystkich naszych wspaniałych użytkowników. To jak dbanie o to, by autostrada nie była zbyt zatłoczona - ruch płynie lepiej, gdy zapobiegamy zatorom!
Jak działają limity
Limity szybkości są mierzone na 2 sposoby:
- żądania na sekundę: Jest to liczba żądań sieciowych, które możesz wykonać w ciągu sekundy.
- zadania w kolejce: Jest to liczba równoczesnych zadań generowania, które możesz uruchomić w kolejce w danym momencie.
Zadania w kolejce to zadania na Twoim koncie, które mają status PENDING lub IN_PROGRESS. Każdy punkt końcowy, który tworzy zadanie (na przykład Tekst na 3D, Obraz na 3D, Wiele obrazów na 3D, Reteksturowanie, Remesh, Rigging, Animacja, Tekst na obraz, punkty końcowe druku 3D oraz Creative Lab) sprawdza ten limit przed przyjęciem nowego zadania. Żądania, które nie tworzą zadania, takie jak Balance, Usage oraz pobieranie, listowanie lub przesyłanie strumieniowe zadań, nie liczą się do tego limitu, choć nadal liczą się do limitu żądań na sekundę.
Limity są stosowane na poziomie konta, więc są współdzielone pomiędzy wszystkimi Twoimi kluczami API oraz Playground. Zadania uruchomione w aplikacji webowej Meshy również liczą się do Twoich zadań w kolejce.
Oprócz limitów szybkości, priorytet przetwarzania zadań również wpływa na szybkość ich realizacji.
Każdy poziom użytkownika ma określone limity szybkości i poziomy priorytetu dostosowane do jego potrzeb. Oto aktualne limity według poziomu:
| Poziom użytkownika | żądania na sekundę | zadania w kolejce | Poziom priorytetu |
|---|---|---|---|
| Pro | 20 | 10 | Domyślny |
| Premium | 20 | 30 | Wyższy niż Pro |
| Ultra | 20 | 100 | Najwyższy |
| Studio | 20 | 20 | Wyższy niż Pro |
| Enterprise | 100 | Domyślnie 100, można dostosować | Najwyższy |
Jeśli przekroczysz te limity, otrzymasz odpowiedź 429 Too Many Requests z naszego API. Istnieją dwa rodzaje trafień, które mogą to wywołać, każdy z inną odpowiedzią:
- Trafienie żądania: Dzieje się tak, gdy wykonujesz zbyt wiele żądań na sekundę. Otrzymasz odpowiedź
429 Too Many Requestsz komunikatemRate limit exceeded. - Trafienie kolejki: Dzieje się tak, gdy masz zbyt wiele równoczesnych zadań generowania uruchomionych jednocześnie. Otrzymasz odpowiedź
429 Too Many Requestsz komunikatemNoMorePendingTasks(lub, gdy Twoje kredyty się wyczerpią,NoMoreConcurrentTasks). Ten429nie zawieraRetry-After: poczekaj, aż jedno z Twoich zadań się zakończy, zanim utworzysz kolejne.
Nagłówki limitu szybkości
Odpowiedzi API zawierają te nagłówki, dzięki którym możesz regulować tempo swoich żądań:
| Nagłówek | Opis |
|---|---|
X-RateLimit-Limit | Liczba żądań dozwolonych na sekundę na Twoim poziomie. |
X-RateLimit-Remaining | Liczba żądań pozostałych w bieżącej sekundzie. |
X-RateLimit-Reset | Liczba sekund do ponownego pełnego odnowienia limitu. |
Retry-After | Liczba sekund do odczekania przed kolejnym żądaniem. Wysyłany przy trafieniu żądania 429 oraz gdy pobierasz zadanie, które nadal ma status PENDING lub IN_PROGRESS. |
Gdy nagłówek Retry-After jest obecny, odczekaj tyle sekund przed wysłaniem kolejnego żądania.