Rate limits
Giới hạn áp theo tổ chức (per-key có thể siết hơn), và mỗi response đều cho biết bạn đang đứng ở đâu. Trang này cũng liệt kê các trường request OpenAI mà gateway nhận nhưng cố ý bỏ qua.
Bốn loại giới hạn
| Giới hạn | Cửa sổ | Khi vượt |
|---|---|---|
| Request mỗi phút (rpm) | Trượt 60s | 429 rpm_exceeded kèm retry-after = số giây còn lại của cửa sổ |
| Token mỗi phút (tpm) | Trượt 60s, kiểm theo ước lượng prompt + output dự kiến | 429 tpm_exceeded kèm retry-after |
| Request chạy song song | Đang bay tại một thời điểm | 429 rpm_exceeded với message riêng ("Concurrency limit: ...") và retry-after: 1 |
| Ngân sách ngày (USD) | Ngày lịch, reset 00:00 UTC | 429 daily_budget_exceeded — retry vô ích cho tới lúc reset |
Con số của tổ chức bạn xem trong dashboard; rpm/tpm và ngân sách ngày per-key đặt được thấp hơn mức tổ chức (xem Xác thực). Request bị từ chối không tiêu quota — một cú 429 không bao giờ đào bạn lún sâu thêm.
Đọc vị trí của bạn từ header
Mọi response mang trạng thái cửa sổ rpm của tổ chức:
x-ratelimit-limit: 60 x-ratelimit-remaining: 57 x-ratelimit-reset: 1774694460
x-ratelimit-limit— rpm của bạn.x-ratelimit-remaining— số request còn lại trong cửa sổ hiện tại.x-ratelimit-reset— epoch giây của thời điểm bắt đầu cửa sổ phút kế.retry-after— đính kèm mọi 429 và 503: số giây nên chờ trước khi lần thử kế có cơ hội.
Mã 429 nào đáng retry
rpm_exceeded và tpm_exceeded nghĩa là "chờ hết cửa sổ": retry sau retry-after là qua, SDK OpenAI tự làm việc này. daily_budget_exceeded nghĩa là "chờ trong ngày là vô ích": ngân sách vẫn cạn tới 00:00 UTC. Rẽ nhánh theo error.code và dừng retry — trần thấp quá thì nâng trong dashboard, chi tiết ở Idempotency — auto-retry của SDK.
Tách khỏi giới hạn của bạn: 503 no_capacity nghĩa là năng lực phục vụ tạm cạn. Nó mang retry-after: 10 và request hỏng đó không bị tính tiền.
Trần độ dài output
- Không gửi
max_tokensthì gateway áp mặc định 4096 token output — một trần chi tiêu, không phải gợi ý cho model. - Request vượt trần output của tổ chức (mặc định 16384) bị từ chối
400 max_tokens_exceeds_cap; message ghi rõ trần hiện hành. - Gửi cả
max_tokenslẫnmax_completion_tokensthìmax_completion_tokensthắng (ngữ nghĩa OpenAI mới).
Nhận, nhưng bỏ qua
Các trường request OpenAI dưới đây là schema hợp lệ mà SDK/framework hay tự đính kèm. Gateway nhận và cố ý bỏ qua — lược khỏi request trước khi chuyển lên, không báo lỗi, vì từ chối chúng là phá lời hứa "đổi base URL là chạy":
logit_bias · logprobs · top_logprobs · store · service_tier · modalities · audio · prediction · web_search_options · stream_options.* (except include_usage)
Hai trường mở rộng của gateway đang giữ chỗ: transforms (nhận, chưa kích hoạt) và models (danh sách fallback — giữ chỗ, hiện chưa làm gì). Gửi chúng hôm nay an toàn và không có tác dụng.
Trường lạ bị từ chối có chủ đích
Mọi trường cấp cao nhất khác trả 400 unknown_parameter, tên trường nằm trong param. Lặng lẽ nuốt một lỗi gõ như max_token là làm sai sót thành vô hình — hỏng sớm rẻ hơn một ticket hỗ trợ. Trường thuộc API completions cũ (functions, function_call, prompt, input) nhận 400 kèm gợi ý trường thay thế.