Przejdź do głównej treści
OrcaRouter rate-limituje na poziomie workspace, nie per klucz API. Wszystkie klucze należące do tego samego workspace czerpią z tego samego kubełka. Po przekroczeniu limitu dostaniesz odpowiedź HTTP 429 Too Many Requests z nagłówkiem Retry-After.

Dlaczego z zakresem workspace

Workspace’y to sposób, w jaki OrcaRouter grupuje klucze, członków i rozliczenia należące do jednego zespołu lub osoby. Współdzielone limity wewnątrz workspace czynią ruch przewidywalnym w miarę rośnięcia zespołu: dodanie nowego klucza (lub nowego członka) nie mnoży Twojego wspólnego budżetu. Jeśli potrzebujesz wyższego pułapu, podnieś plan workspace. OrcaRouter nie wystawia wywołującym rate-limitów per-model — brama zachowuje się jak jeden logiczny dostawca z punktu widzenia Twojej aplikacji, spójnie z nieprzezroczystością dostawcy. Wewnętrzne throttlowanie ku upstreamowym dostawcom dzieje się transparentnie i nie jest częścią publicznego kontraktu.

Odpowiedź

Żądanie z przekroczonym limitem zawsze zwraca:
HTTP/1.1 429 Too Many Requests
Retry-After: <seconds>
Niektóre ścieżki rate-limit zawierają też ciało JSON wyjaśniające trafiony limit; inne (najszybsza ścieżka kubełka workspace) zwracają tylko kod statusu i nagłówki. Nie polegaj na kształcie ciała — sprawdzaj kod statusu 429 i odczytuj Retry-After. Gdy ciało jest obecne, podąża za kopertą zgodną z OpenAI z polem error.type ustawionym na orcarouter_api_error. error.message może być zlokalizowany (obecnie chiński) — zobacz Błędy dla struktury koperty. Retry-After jest w sekundach. To czas trwania okna rate-limit (konserwatywny — bezpiecznie odczekać dokładnie tyle); następne okno będzie miało pełny budżet. Natychmiastowy retry bez czekania zawiedzie ponownie.

Zalecane zachowanie klienta

  1. Przy 429 odczytaj Retry-After.
  2. Odczekaj tyle sekund.
  3. Powtórz to samo żądanie.
  4. Jeśli pojawi się drugi 429, zwiększ oczekiwanie ×2 (exponential backoff) do 60 sekund.
  5. Jeśli widzisz 429 wielokrotnie, rozważ podzielenie ruchu między wiele modeli przez extra_body.models — zobacz Fallbacki modeli.
SDK OpenAI w Pythonie i TypeScripcie domyślnie obsługują Retry-After automatycznie. Nie potrzebujesz własnego kodu, chyba że wyłączyłeś retry.

Reaktywne, nie predykcyjne

OrcaRouter nie zwraca nagłówków X-RateLimit-Remaining / X-RateLimit-Reset, więc nie możesz wyprzedzająco sprawdzić, ile budżetu zostało. Traktuj 429 jako sygnał — wycofaj się, gdy go widzisz, a potem wznów.