MenuLimity i kody błędów

Limity i kody błędów

API używa standardowych kodów statusu HTTP. Body błędu ma format zgodny z klientem, którego używasz, więc SDK OpenAI i Anthropic odczytają je bez zmian.

Format błędów

Endpointy w formacie OpenAI zwracają obiekt error z polami message, type i code. Endpointy w formacie Anthropic zwracają "type": "error" z obiektem error zawierającym type i message. Błędy występujące w trakcie streamu są wysyłane jako zdarzenie o tej samej strukturze.

{
  "error": {
    "message": "GeraiPoints tidak cukup, silakan top up",
    "type": "insufficient_quota",
    "code": "insufficient_quota"
  }
}
Treść message jest w języku indonezyjskim i może się zmieniać. W logice programu sprawdzaj kod statusu HTTP oraz type/code, a nie tekst komunikatu.

Kody statusu

Statustype / codeZnaczenieCo zrobić
400invalid_request_errorNieprawidłowe zapytanie: body nie jest JSON-em, model jest pusty albo brakuje messages lub jest puste. Pojawia się też przy błędnym base URL, przez który ścieżka zmienia się w /v1/v1/….Sprawdź body i base URL.
401authentication_errorKlucz API nie został przesłany, jest błędny lub unieważniony — albo użyto go na niewłaściwej ścieżce (klucz bansos na płatnym endpoincie i odwrotnie).Sprawdź klucz i base URL — Uwierzytelnianie.
402insufficient_quotaZa mało GeraiPoints na to zapytanie.Doładuj GeraiPoints i wyślij ponownie.
403permission_errorModelu nie ma na allowliście tego klucza albo jest to model dostępny tylko w planie, którego jeszcze nie masz.Dodaj model do allowlisty klucza albo użyj innego klucza.
404model_not_foundNieznane id modelu lub model chwilowo niedostępny. Nazwy z prefiksem, np. gp/… czy openai/…, również dają 404.Skopiuj dokładne id z listy modeli.
413—Body zapytania jest zbyt duże, aby serwer je przyjął.Skróć historię rozmowy lub zmniejsz załączniki.
429rate_limit_errorZa dużo zapytań: przepustowość modelu jest wyczerpana albo przekroczono limit planu Unlimited/Bansos.Odczekaj czas z Retry-After (jeśli jest), a potem ponów z przerwami.
502api_errorUsługa modelu jest przeciążona lub ma problemy; zapytanie nie jest rozliczane.Spróbuj ponownie za kilka sekund albo użyj innego modelu.
503api_errorModel jest w trakcie konserwacji lub chwilowo niedostępny; zapytanie nie jest rozliczane.Spróbuj ponownie później albo użyj innego modelu.

Limity użycia

RodzajLimit
Płatny klucz (gk-)Brak stałego limitu częstotliwości na klucz; użycie ogranicza saldo GeraiPoints. 429 pojawia się tylko wtedy, gdy przepustowość modelu jest wyczerpana.
Plan UnlimitedLimit zapytań na minutę i jednoczesnych zapytań na konto. Odpowiedzi 429 zawierają Retry-After i x-ratelimit-*. Szczegóły na stronie Unlimited.
Darmowy plan (Bansos)Dzienny limit zapytań i limit na minutę. Odpowiedzi 429 zawierają Retry-After i x-ratelimit-*. Pozostały limit na stronie Bansos.
Rozmiar i odpowiedźZbyt duże body jest odrzucane kodem 413. Długość odpowiedzi (max_tokens) może zostać automatycznie obniżona, jeśli saldo nie wystarcza na żądaną wartość.
Klucz APILimit aktywnych kluczy na konto: 20; allowlista do 64 modeli na klucz.
Klucze klientówLimity działają przed przetworzeniem: żądanie, które przekroczyłoby pozostały limit, jest odrzucane. Limit jednorazowy wyczerpany → 402 KEY_BATAS_HABIS (zwiększ limit, aby dodać); limit dzienny/miesięczny osiągnięty → 429 KEY_BATAS_HARIAN / KEY_BATAS_BULANAN z nagłówkiem Retry-After. Wstrzymany klucz → 403 KEY_DIJEDA. Modeli -unli i bansos nie można używać z kluczami klientów.

Prawidłowe ponawianie

  • Ponawiaj tylko przy 429, 502 i 503, z coraz dłuższymi przerwami (np. 1, 2, 4, 8 sekund) i maksymalnie 2–3 razy.
  • Nie ponawiaj przy 400, 401, 402, 403, 404 — najpierw popraw zapytanie, bo wynik będzie taki sam.
  • Respektuj nagłówek Retry-After, jeśli jest obecny.
  • Każde ponowienie to nowe, płatne zapytanie. Jeśli przyczyną jest timeout w aplikacji, zwiększ go — zobacz Ustawienia narzędzi agentowych.