Szukaj w dokumentacji...

Zacznij wpisywać, aby przeszukać dokumentację

Przewodnik po platformie

Błędy i limity szybkości

Co oznacza każdy kod statusu i co z nim zrobić.

Format błędu

Błędy wracają jako JSON w formacie błędu OpenAI. Komunikat opisuje, co się stało, code to stabilny, czytelny maszynowo identyfikator, a do każdego komunikatu dołączany jest identyfikator żądania:

json
{
  "error": {
    "message": "Model \"gpt-5.5-typo\" is not offered here. Check the model name for typos, or switch to a model from our supported list. (request id: 20260705...)",
    "type": "new_api_error",
    "code": "model_not_found"
  }
}

Zawsze podawaj identyfikator żądania, gdy kontaktujesz się z pomocą techniczną lub otwierasz zgłoszenie na Discordzie. Pozwala nam to znaleźć twoje dokładne żądanie w logach.

Kody statusu w skrócie

Kody statusu, które faktycznie napotkasz:

KodZnaczenieCo zrobić
400Nieprawidłowe żądanie: błędne wartości parametrów (na przykład max_tokens poniżej minimum modelu) lub prompt zablokowany przez moderację treści.Popraw żądanie. Ponowienie bez zmian znów się nie powiedzie.
401Problem z kluczem: brakujący, nieprawidłowy, wygasły lub wyłączony klucz API.Sprawdź nagłówek Authorization i swój klucz na stronie Tokeny.
402Własny limit wydatków tego klucza został wyczerpany.Podnieś limit klucza lub utwórz nowy klucz.
403Odmowa dostępu: puste saldo konta, model niedozwolony dla tego klucza lub twój adres IP nie znajduje się na liście dozwolonych klucza.Doładuj lub sprawdź ograniczenia modelu i IP klucza.
413Żądanie zbyt duże dla limitu darmowej wersji próbnej tego modelu.Skróć prompt lub przełącz się na model płatny.
429Zadziałał limit szybkości (patrz rodzaje poniżej).Odczekaj liczbę sekund z Retry-After, a następnie ponów lub zmień model.
500Coś zawiodło po naszej stronie lub u dostawcy upstream.Ponów po krótkim odczekaniu; uporczywe 500 warto zgłosić.
503Wszyscy dostawcy dla modelu są zajęci lub nazwa modelu nie istnieje.Przeczytaj komunikat: zajętość mija w kilka minut, literówka nie.

503: zajęty kontra nieznany model

Dwie bardzo różne sytuacje dzielą status 503. Pierwsza to tymczasowe przeciążenie:

text
HTTP/1.1 503 Service Unavailable

{
  "error": {
    "message": "All providers for model \"kimi-k2.6:free\" are busy right now (they hit their rate limit). This is not a spelling error. Please try again in a little while, or switch to another model. (request id: 20260705...)",
    "type": "new_api_error",
    "code": "get_channel_failed"
  }
}

Kod get_channel_failed (wszyscy dostawcy zajęci) oznacza, że każdy darmowy dostawca dla tego modelu jest chwilowo ograniczony limitem szybkości. Odzyskuje sprawność sam w ciągu kilku minut: ponów lub zmień model. Kod model_not_found (nieoferowany tutaj) oznacza, że sama nazwa modelu się nie rozwiązuje, a ponawianie nigdy nie pomoże. Sprawdź literówki lub odszukaj aktualną nazwę w katalogu.

Traktuj 503 z get_channel_failed jako ponowienie lub przełączenie awaryjne, a 503 z model_not_found jako twardy błąd w swoim kliencie.

Rodzaje limitów szybkości

429 może pochodzić z kilku warstw:

  • Nasz limit darmowych modeli: 1 żądanie na minutę na darmowy model na użytkownika. Limit sprawiedliwości, aby współdzielone pule przetrwały godziny szczytu.
  • Limity dostawcy upstream: dostawca stojący za darmowym modelem osiągnął własny limit ("temporarily rate-limited upstream", czyli tymczasowo ograniczony limitem szybkości u źródła).
  • Dzienne budżety tokenów w niektórych darmowych pulach; resetują się o północy UTC.
  • Limity tokenów na minutę uruchamiane przy bardzo dużych promptach.
  • Limit współbieżności na użytkownika, gdy zbyt wiele żądań działa równolegle.

Modele płatne nie mają limitów szybkości narzuconych przez UnoRouter.

Limit darmowych modeli w szczegółach

Gdy zadziała nasz limit 1 na minutę, otrzymujesz standardowe nagłówki limitu szybkości, dzięki czemu klienci mogą precyzyjnie wstrzymać ruch:

text
HTTP/1.1 429 Too Many Requests
Retry-After: 38
X-RateLimit-Limit: 1
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1783198478

Retry-After jest dynamiczny: to rzeczywista liczba sekund pozostałych w twoim oknie, a nie stałe 60. Komunikat błędu podaje też płatnego bliźniaka modelu, który nie ma limitu.

Limity rozmiaru wersji próbnej

Niektóre zwykle płatne modele są oferowane za darmo z limitem rozmiaru żądania. Zbyt duże prompty otrzymują 413 z komunikatem takim jak: Request body too large for gpt-4.1 model. Max size: 8000 tokens.

Limit dotyczy tylko trasy darmowej wersji próbnej; model płatny przyjmuje prompty pełnej długości.

Wskazówki dotyczące ponawiania

Respektuj Retry-After przy 429. Ponów 503 get_channel_failed po krótkim odczekaniu lub przejdź na inny model. Nie ponawiaj błędów klasy 400, są deterministyczne.

Żądania nieudane i odrzucone nie są naliczane: każda wstępna blokada na twoim saldzie jest zwracana, gdy żądanie zwróci błąd.

Kody błędów i limity szybkości