Error envelope endpoint के अनुसार बदलता है। HTTP status और मौजूद होने पर error.type उपयोग करें। error.code string या numeric हो सकता है या अनुपस्थित; error.message केवल दिखाने के लिए है।
1
2
3
4
5
6
7
{"error":{"message":"Insufficient credits. Please top up to continue.","type":"invalid_request_error","code":"insufficient_credits"}}
HTTP स्थिति और त्रुटि.कोड
Error envelope endpoint के अनुसार बदलता है। HTTP status और मौजूद होने पर error.type उपयोग करें। error.code string या numeric हो सकता है या अनुपस्थित; error.message केवल दिखाने के लिए है।
कोड
नाम
विवरण
424निर्भरता विफलआपकी स्वयं कॉन्फ़िगर की गई BYOK कुंजी को upstream provider ने अस्वीकार कर दिया; BYOK सेटिंग्स में जाँचें या बदलें। यह केवल strict मोड में दिखाई देता है
400खराब अनुरोधविकृत अनुरोध, खाली संदेश सरणी, या आवश्यक फ़ील्ड अनुपलब्ध
401अनधिकृतAPI कुंजी गुम, अमान्य या अक्षम है
402भुगतान आवश्यकअपर्याप्त खाता क्रेडिट, प्रति-कुंजी खर्च सीमा पूरी हो गई, या monthly/weekly बजट सीमा पार हो गई
403निषिद्धखाता निलंबित है या उसके पास अनुमति नहीं है
404नहीं मिलाRequested model, generation, key, or other resource does not exist
409संघर्षResource is not in the required state, such as an incomplete video job
410चला गयाRequested model has been retired and must be replaced
413पेलोड बहुत बड़ा हैअनुरोध का मुख्य भाग 10 एमबी से अधिक है; सामग्री का आकार कम करें या अनुरोध को विभाजित करें
416रेंज संतोषजनक नहीं हैRequested byte range is invalid for generated video content
429बहुत अधिक अनुरोधदर सीमा पार हो गई; पुनः प्रयास करने से पहले पुनः प्रयास-आफ्टर हेडर की जाँच करें
432निःशुल्क कोटा समाप्तTavily-संगत एंडपॉइंट (/v1/search, /v1/extract, /v1/crawl, /v1/map): निःशुल्क खोज कोटा समाप्त हो गया है या शेष राशि शून्य या उससे कम है; जारी रखने के लिए क्रेडिट जोड़ें। रिस्पॉन्स बॉडी Tavily प्रारूप में होती है: {"detail":{"error":"..."}}
500सर्वर त्रुटिआंतरिक BazaarLink त्रुटि
502खराब गेटवेकोई भी अपस्ट्रीम स्रोत अनुरोध नहीं संभाल सका; अनुरोध में त्रुटि लौटती है।
503सेवा अनुपलब्धइस मॉडल के लिए कोई अपस्ट्रीम प्रदाता कॉन्फ़िगर नहीं किया गया है; व्यवस्थापक से संपर्क करें
504गेटवे टाइमआउटUpstream connection or stream stalled and timed out
मशीन-पठनीय बिलिंग कोड
A 402 can represent different controls. Use these stable codes to choose the correct action.
कोड
विवरण
byok_key_invalidआपकी स्वयं कॉन्फ़िगर की गई BYOK कुंजी को upstream provider ने अस्वीकार कर दिया; BYOK सेटिंग्स में जाँचें या बदलें। यह केवल 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.
अमान्य पैरामीटर, संदर्भ, उपकरण, स्कीमा, और सामग्री-सुरक्षा अस्वीकरण।
कोड
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
Image निर्माण और संपादन
Image इनपुट, मल्टीपार्ट संपादन, आउटपुट और छवि-पाइपलाइन त्रुटियाँ।
कोड
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
अपस्ट्रीम रूटिंग
Sanitized प्रदाता कनेक्टिविटी, प्रमाणीकरण, थ्रॉटलिंग और उपलब्धता त्रुटियाँ।
कोड
HTTP स्थिति
upstream_unreachable502
upstream_auth_failed502
upstream_rate_limited429
capacity_unavailable429
upstream_unavailable502/503
byok_key_invalid424
सामग्री मॉडरेशन
सभी अनुरोधों की मॉडल तक पहुँचने से पहले स्वचालित रूप से समीक्षा की जाती है। हमारी उपयोग नीति का उल्लंघन करने वाले अनुरोध मॉडल तक पहुँचने से पहले अस्वीकार कर दिए जाते हैं और 403 त्रुटि लौटाते हैं।
अवरुद्ध की जाने वाली सामग्री श्रेणियाँ
मॉडरेशन हमारी उपयोग नीति (Acceptable Use Policy) पर आधारित है और मुख्य रूप से निम्नलिखित श्रेणियों की सामग्री को अवरुद्ध करता है:
यौन शोषण सामग्री
हिंसक धमकियाँ
अवैध कृत्यों के लिए संचालन संबंधी मार्गदर्शन
जैविक खतरे से संबंधित सामग्री
403 प्रतिक्रिया प्रारूप
मॉडरेशन द्वारा अवरुद्ध किया गया अनुरोध इस प्रारूप में त्रुटि लौटाता है:
1
2
3
4
5
6
7
{"error":{"message":"Your prompt was blocked by content moderation.","type":"invalid_request_error","code":"content_filter"}}
अवरुद्ध अनुरोधों के लिए शुल्क नहीं लिया जाता — अस्वीकृत अनुरोध के लिए आपसे कोई शुल्क नहीं लिया जाएगा।
गलत सकारात्मक की अपील
यदि आपको लगता है कि किसी अनुरोध को गलत तरीके से अवरुद्ध किया गया है, तो अनुरोध के समय और (यदि सुविधाजनक हो) request id के साथ सहायता टीम से संपर्क करें — हम इसकी समीक्षा करेंगे।
गोपनीयता
अनुरोधों की स्वचालित रूप से सामग्री-सुरक्षा समीक्षा की जाती है; आपके नवीनतम इनपुट का पाठ और चित्र तृतीय-पक्ष सामग्री-सुरक्षा स्कोरिंग सेवा को भेजे जा सकते हैं।
उल्लंघन, संदिग्ध उल्लंघन, सीमा के निकट या यादृच्छिक नमूने के रूप में आँके गए अनुरोधों का पूरा पाठ या आरंभिक भाग हम अनुपालन साक्ष्य, विवाद निपटान और ऑडिट के लिए सहेज सकते हैं; हटाने की कोई निश्चित अवधि का वादा नहीं किया जाता।
अन्य सामान्य सफल अनुरोधों के प्रॉम्प्ट और उत्तर सुरक्षित नहीं रखे जाते; ZDR कुंजी के अनुरोधों पर पहले दो बिंदु लागू नहीं होते।
दर सीमा, बजट और आपातकालीन ब्रेक
These controls can reject an otherwise valid request and require different recovery actions.
नियंत्रण
HTTP स्थिति
कैसे करें इसकी पहचान
अनुरोध दर सीमा429string code या numeric code 429; Retry-After और X-RateLimit-* headers का उपयोग करें।
दर-सीमा जुर्माना ब्लॉक429न्यूमेरिक कोड 429 और एक अस्थायी प्रतिबंध संदेश; पुन:प्रयास-आफ्टर का उपयोग करें।
वैश्विक व्यय आपातकालीन ब्रेक503न्यूमेरिक कोड 503, वैश्विक खर्च-सीमा संदेश, और 30 या 300 सेकंड का पुनः प्रयास करें।
Scoped spend brake429Numeric code 429 and a spend circuit-breaker message naming the scope.
बिलिंग और बजट नियंत्रण402ऊपर सूचीबद्ध स्थिर बिलिंग स्ट्रिंग कोड का उपयोग करें।
Error envelope endpoint के अनुसार बदलता है। HTTP status और मौजूद होने पर error.type उपयोग करें। error.code string या numeric हो सकता है या अनुपस्थित; error.message केवल दिखाने के लिए है।
वीडियो और मीडिया संसाधन स्थिति
Video validation commonly returns numeric code 400. Missing jobs return 404, retired models 410, unfinished video content 409, and invalid video byte ranges 416.
पुनः प्रयास नीति
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.
बैकऑफ़ के साथ पुनः प्रयास करें
पुनः प्रयास करने से पहले
429, 502, 503, and 504. Check the original generation job before creating another after an ambiguous network failure.
Fix करें
400, 401, 402, 403, 404, 409, 410, 413, and 416. Fix the request, credentials, balance, permissions, resource state, or Range header first.
हैंडलिंग त्रुटियाँ
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)
स्ट्रीमिंग त्रुटि प्रारूप
त्रुटियां जो किसी भी टोकन को स्ट्रीम करने से पहले होती हैं, JSON बॉडी के साथ एक मानक HTTP त्रुटि प्रतिक्रिया लौटाती हैं।
stream शुरू होने के बाद HTTP response पहले से 200 होता है। हर SSE data frame को parse करें और शीर्ष-स्तर के error या choices[0].finish_reason === "error" को विफल, अधूरे response के रूप में मानें।
यदि stream शुरू होने के बाद विफल होता है, तो BazaarLink शीर्ष-स्तर के error ऑब्जेक्ट वाला अंतिम SSE event भेज सकता है, उसके बाद data: [DONE]। response को अधूरा मानें; आंशिक output को पूर्ण परिणाम के रूप में उपयोग न करें।
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.