Envelope lỗi khác nhau theo endpoint. Dựa vào HTTP status và error.type nếu có. error.code có thể là chuỗi hoặc số, đôi khi không có; error.message chỉ để hiển thị.
1
2
3
4
5
6
7
{"error":{"message":"Insufficient credits. Please top up to continue.","type":"invalid_request_error","code":"insufficient_credits"}}
HTTP và error.code
Envelope lỗi khác nhau theo endpoint. Dựa vào HTTP status và error.type nếu có. error.code có thể là chuỗi hoặc số, đôi khi không có; error.message chỉ để hiển thị.
Mã
Tên
Mô tả
424Lỗi phụ thuộcKhóa BYOK do bạn tự cấu hình đã bị nhà cung cấp upstream từ chối; hãy kiểm tra hoặc xoay vòng khóa trong phần cài đặt BYOK. Lỗi này chỉ xuất hiện ở chế độ strict
400Yêu cầu xấuYêu cầu không hợp lệ, mảng messages rỗng, hoặc thiếu trường bắt buộc
401Không được phépKhóa API bị thiếu, không hợp lệ, hoặc bị vô hiệu hóa
402Yêu cầu thanh toánKhông đủ tín dụng tài khoản, đạt giới hạn chi tiêu theo khóa, hoặc vượt ngân sách hàng tháng/tuần
403Bị cấmTài khoản bị tạm ngưng hoặc không có quyền
404Không tìm thấyRequested model, generation, key, or other resource does not exist
409Xung độtResource is not in the required state, such as an incomplete video job
410Không còn nữaRequested model has been retired and must be replaced
413Tải trọng quá lớnBody yêu cầu vượt quá 10 MB; giảm kích thước nội dung hoặc chia yêu cầu
416Range không thỏa mãnRequested byte range is invalid for generated video content
429Quá nhiều yêu cầu
Lỗi máy chủVượt giới hạn tốc độ; kiểm tra header Retry-After trước khi thử lại
432Hết hạn mức miễn phíCác endpoint tương thích Tavily (/v1/search, /v1/extract, /v1/crawl, /v1/map): hạn mức tìm kiếm miễn phí đã dùng hết, hoặc số dư bằng 0 hoặc âm; hãy nạp thêm credit để tiếp tục. Nội dung phản hồi theo định dạng Tavily: {"detail":{"error":"..."}}
500CổngLỗi nội bộ BazaarLink
502BadKhông có nguồn upstream nào xử lý được yêu cầu; yêu cầu sẽ trả lỗi.
503Dịch vụ không khả dụngKhông có nhà cung cấp upstream được cấu hình cho mô hình này; liên hệ admin
504Gateway Hết thời gian chờUpstream connection or stream stalled and timed out
Mã thanh toán có thể đọc được bằng máy
A 402 can represent different controls. Use these stable codes to choose the correct action.
Mã
Mô tả
byok_key_invalidKhóa BYOK do bạn tự cấu hình đã bị nhà cung cấp upstream từ chối; hãy kiểm tra hoặc xoay vòng khóa trong phần cài đặt BYOK. Lỗi này chỉ xuất hiện ở chế độ strict.
budget_cap_reachedA weekly or monthly budget cap was reached; raise or reset the cap.
credit_limit_exceededA monthly-billing organization's credit line was exhausted; contact billing.
insufficient_creditsThe prepaid balance is insufficient; add credits.
spend_limit_exceededThe API key reached its daily, weekly, or monthly spend limit.
capacity_unavailableThis model is temporarily at capacity. Retry shortly; the Retry-After header says how long to wait.
Stable error.code catalog
These string codes are emitted by public inference and media paths. Branch on the string code when present; the HTTP status remains the broad failure class.
Mô hình và điểm cuối
Các lỗi tra cứu mô hình, vòng đời, giá cả, phương thức và điểm cuối của
.
Mã
HTTP
unknown_model400
invalid_model_id400
model_not_found404
model_retired410
model_endpoint_mismatch400
embedding_on_chat_endpoint400
model_not_priced400
invalid_modality_for_model400
Yêu cầu và an toàn
Các tham số, ngữ cảnh, công cụ, lược đồ và từ chối an toàn nội dung không hợp lệ.
Mã
HTTP
missing_required_field400
unsupported_param400
max_tokens_invalid400
context_too_long400
tool_use_unsupported400
malformed_tool_messages400
invalid_response_format_schema400
invalid_tools_definition400
content_moderation403
content_filter403
unknown_4xx400
Tạo và chỉnh sửa hình ảnh
Lỗi đầu vào hình ảnh, chỉnh sửa nhiều phần, đầu ra và đường dẫn hình ảnh.
Mã
HTTP
invalid_image_url400
input_images_not_supported400
invalid_content_type400
mask_not_supported400
unsupported_response_format400
missing_prompt400
missing_image400
too_many_images400
invalid_image_type400
image_too_large400
invalid_n400
pipeline_error502
no_images502
Định tuyến ngược dòng
Các lỗi kết nối, xác thực, điều chỉnh và tính khả dụng của nhà cung cấp đã được vệ sinh.
Mã
HTTP
upstream_unreachable502
upstream_auth_failed502
upstream_rate_limited429
capacity_unavailable429
upstream_unavailable502/503
byok_key_invalid424
Kiểm duyệt nội dung
Tất cả các yêu cầu đều được tự động kiểm duyệt trước khi gửi đến mô hình. Các yêu cầu vi phạm chính sách sử dụng của chúng tôi sẽ bị từ chối trước khi đến mô hình và trả về lỗi 403.
Các danh mục nội dung sẽ bị chặn
Việc kiểm duyệt dựa trên Chính sách Sử dụng Được chấp nhận (Acceptable Use Policy) của chúng tôi và chủ yếu chặn các danh mục nội dung sau:
Nội dung bóc lột tình dục
Đe dọa bạo lực
Hướng dẫn thực hiện hành vi bất hợp pháp
Nội dung liên quan đến nguy cơ sinh học
Định dạng phản hồi 403
Một yêu cầu bị chặn bởi kiểm duyệt sẽ trả về lỗi theo định dạng sau:
1
2
3
4
5
6
7
{"error":{"message":"Your prompt was blocked by content moderation.","type":"invalid_request_error","code":"content_filter"}}
Các yêu cầu bị chặn sẽ không bị tính phí — bạn sẽ không bị tính phí cho một yêu cầu bị từ chối.
Khiếu nại khi bị chặn nhầm
Nếu bạn cho rằng một yêu cầu đã bị chặn không chính xác, vui lòng liên hệ bộ phận hỗ trợ kèm theo thời gian yêu cầu và (nếu thuận tiện) request id — chúng tôi sẽ xem xét lại.
Quyền riêng tư
Yêu cầu được tự động kiểm duyệt an toàn nội dung; văn bản và hình ảnh trong đầu vào mới nhất của bạn có thể được gửi tới dịch vụ chấm điểm an toàn nội dung của bên thứ ba.
Với yêu cầu bị xác định là vi phạm, nghi vi phạm, gần ngưỡng hoặc được lấy mẫu ngẫu nhiên, chúng tôi có thể lưu toàn văn hoặc phần đầu làm bằng chứng tuân thủ, xử lý tranh chấp và kiểm toán, và không cam kết thời hạn xóa cố định.
Các yêu cầu thành công thông thường khác không được lưu prompt và phản hồi; yêu cầu dùng khóa ZDR không thuộc hai điểm đầu.
Giới hạn tỷ lệ, ngân sách và phanh khẩn cấp
These controls can reject an otherwise valid request and require different recovery actions.
Điều khiển
HTTP
Làm thế nào để xác định nó
Giới hạn tốc độ yêu cầu
429Mã string hoặc mã số 429; sử dụng header Retry-After và X-RateLimit-*.
Khối hình phạt giới hạn tỷ lệ429Mã số 429 và thông báo hạn chế tạm thời; sử dụng Thử lại sau.
Phanh khẩn cấp
Global503Mã số 503, thông báo giới hạn chi tiêu toàn cầu và Thử lại sau 30 hoặc 300 giây.
Scoped spend brake429Numeric code 429 and a spend circuit-breaker message naming the scope.
Kiểm soát thanh toán và ngân sách402Sử dụng mã chuỗi thanh toán ổn định được liệt kê ở trên.
Envelope lỗi khác nhau theo endpoint. Dựa vào HTTP status và error.type nếu có. error.code có thể là chuỗi hoặc số, đôi khi không có; error.message chỉ để hiển thị.
Trạng thái tài nguyên video và phương tiện
Video validation commonly returns numeric code 400. Missing jobs return 404, retired models 410, unfinished video content 409, and invalid video byte ranges 416.
Chính sách thử lại
Retry only failures that may recover without changing the request. Honor Retry-After or use exponential backoff with jitter. Do not stack SDK and manual retries.
Thử lại với thời gian chờ
429, 502, 503, and 504. Check the original generation job before creating another after an ambiguous network failure.
Fix trước khi thử lại
400, 401, 402, 403, 404, 409, 410, 413, and 416. Fix the request, credentials, balance, permissions, resource state, or Range header first.
Xử lý lỗi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import random
import time
from openai import OpenAI, APIStatusError
client = OpenAI(
base_url="https://api.bazaarlink.ai/v1",
api_key="sk-bl-YOUR_API_KEY",
max_retries=0, # Avoid double retries; this example handles them.
)
RETRYABLE = {429, 502, 503, 504}
for attempt inrange(5):
try:
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
)
breakexcept APIStatusError as error:
if error.status_code notin RETRYABLE or attempt == 4:
raise
retry_after = error.response.headers.get("Retry-After")
delay = (
float(retry_after)
if retry_after
elsemin(8, 0.5 * (2 ** attempt)) + random.uniform(0, 0.25)
)
time.sleep(delay)
Định dạng lỗi Streaming
Lỗi xảy ra trước khi stream token trả về phản hồi HTTP lỗi tiêu chuẩn với body JSON.
Sau khi stream bắt đầu, phản hồi HTTP đã là 200. Hãy phân tích từng SSE data frame và coi error cấp cao nhất hoặc choices[0].finish_reason === "error" là phản hồi thất bại, chưa hoàn chỉnh.
Nếu stream thất bại sau khi bắt đầu, BazaarLink có thể phát sự kiện SSE cuối cùng chứa đối tượng error cấp cao nhất, theo sau là data: [DONE]. Hãy coi phản hồi là chưa hoàn chỉnh; không dùng đầu ra một phần như kết quả đã hoàn tất.
1
2
3
4
5
data: {"error":{"message":"The request could not be completed.","type":"upstream_error","code":502}}
data: [DONE]
// Branch on error.code; error.type can vary by failure path.
Support
Hi! How can we help you? Send a message and we'll get back to you soon.