Skip to main content

Định dạng phản hồi lỗi

Chat Completions, Responses, Messages và Gemini là ranh giới giao thức công khai, không phải API Web. Lỗi giao thức gốc không được bọc trong envelope Web { success, data, error }. Ví dụ sau áp dụng cho lỗi gateway tương thích OpenAI ở Chat và Responses:
Với lỗi gateway tương thích OpenAI, messagetype luôn có mặt; code, param và phần mở rộng gợi ý là tùy chọn. Messages và Gemini dùng họ lỗi gốc riêng. Lỗi validation upstream được giữ nguyên khi có thể trả về an toàn; 400/422 xác định không đổi channel và không retry sau khi đã gửi byte đầu tiên.

Mã trạng thái HTTP

Các loại lỗi

Lỗi xác thực (401)

Lỗi thanh toán (402)

Lỗi truy cập (403)

Lỗi xác thực tham số (400)

Các route công khai không phân biệt lỗi chính tả, model ẩn, model trì hoãn, hoặc trạng thái không công khai trong thân phản hồi. Nếu một model hiện không có sẵn qua chi tiết model, TokenLab trả về model_not_found.

Lỗi giới hạn tốc độ (429)

Khi bạn vượt quá giới hạn tốc độ:
Các header được kèm theo:
Header Retry-After và trường retry_after đều chỉ ra số giây chính xác cần chờ trước khi thử lại.

Dữ liệu tải lên quá lớn (413)

Khi kích thước input hoặc file vượt quá giới hạn:
Nguyên nhân phổ biến:
  • File ảnh quá lớn (tối đa 20MB)
  • File âm thanh quá lớn (tối đa 25MB)
  • Văn bản đầu vào vượt quá độ dài ngữ cảnh của model

Lỗi thượng nguồn (502, 503)

Khi tất cả các kênh thất bại, phản hồi bao gồm các model thay thế:

Xử lý lỗi trong Python

Xử lý lỗi trong JavaScript

Thực hành tốt nhất

Khi bị giới hạn tốc độ, chờ ngày càng lâu hơn giữa các lần thử lại:
Luôn đặt timeout hợp lý để tránh các yêu cầu treo:
Ghi lại toàn bộ phản hồi lỗi bao gồm request ID để hỗ trợ:
Một số model có yêu cầu riêng (ví dụ: số token tối đa, định dạng ảnh). Kiểm tra hợp lệ đầu vào trước khi thực hiện yêu cầu.