429 Too Many Requests with no obvious patternRetries make the problem worseOnly some requests fail while others succeed at the same momentRate limiting under a load that used to be fineDostawcy mierzą naraz kilka wymiarów – żądania na minutę, tokeny na minutę, a czasem żądania równoczesne. Przekroczenie limitu tokenów przy liczbie żądań daleko poniżej limitu to powód, dla którego padają „tylko niektóre żądania”.
Limity tokenów liczą to, co wysyłasz, plus to, co rezerwujesz. Kilka żądań z dużym max_tokens może wyczerpać budżet tokenów na minutę, choć liczba żądań wygląda na znikomą.
Natychmiastowe ponowienia też się liczą. Ciasna pętla ponowień zamienia sekundową przerwę w trwałą blokadę – i to zwykle dlatego przejściowe 429 staje się stałe.
Gdy dostaniesz 429, wypisz nagłówki zamiast treści:
curl -s -D- -o /dev/null -X POST 'YOUR_BASE_URL/chat/completions' \
-H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
-d '{"model":"MODEL","messages":[{"role":"user","content":"hi"}]}' \
| grep -i 'retry-after\|ratelimit\|^HTTP'
Respektuj Retry-After, gdy jest obecny. Gdy go brak, bezpiecznym ustawieniem domyślnym jest wykładnicze opóźnienie z losowym rozrzutem, zaczynające się od około sekundy.
Ostatnio sprawdzono 2026-10-01. Napisane na podstawie problemów zdiagnozowanych na działającej bramce zgodnej z OpenAI, a nie zebrane z innych stron.