अकाउंट
समस्या निवारण
प्रमाणीकरण, बैलेंस, मॉडल एक्सेस, रेट लिमिट, टाइमआउट, स्ट्रीमिंग, CORS और गलत बेस URL जैसी आम समस्याओं के समाधान एक ही जगह।
अधिकतर समस्याएँ HTTP स्टेटस और त्रुटि बॉडी के code के रूप में दिखती हैं। नीचे अपना कोड खोजें; पूरी सूची त्रुटियाँ में है। विफल अनुरोधों (कोई भी 4xx या 5xx) पर कभी शुल्क नहीं लगता।
{ "error": { "message": "...", "type": "authentication_error", "code": "invalid_api_key" } }
401 invalid_api_key
कुंजी गायब, गलत रूप में या रद्द (revoke) की हुई है।
- इसे
Authorization: Bearer sk-api14-...के रूप में भेजें। OpenAI SDKapiKey/api_keyसे यह अपने आप करते हैं; curl में जाँचें कि जिस शेल से चला रहे हैं उसमें$API14_API_KEYसच में सेट है (echo ${API14_API_KEY:0:9}सेsk-api14-छपना चाहिए)। - कुंजी
.envफ़ाइल से आती हो तो फ़ालतू कोट्स या नई पंक्तियों का ध्यान रखें। - पर्यावरण में छूटी हुई
OPENAI_API_KEYआपकी इच्छित कुंजी को ओवरराइड कर सकती है। इसे बाहर करने के लिए कुंजी स्पष्ट रूप से पास करें। - रद्द की गई कुंजी तुरंत विफल होती है। कुंजियाँ केवल एक बार दिखाई जाती हैं, इसलिए खो जाने पर API कुंजियाँ में नई कुंजी बनाएँ और पुरानी रद्द करें।
देखें प्रमाणीकरण।
402 insufficient_balance
आपका USD बैलेंस $0 है, या (वीडियो के लिए) जॉब की अनुमानित लागत से कम है। फ़ंड जोड़ने तक अनुरोध अवरुद्ध रहते हैं, रीट्राई से कोई फ़ायदा नहीं।
- बैलेंस
GET /creditsसे या बिलिंग में जाँचें। देखें बैलेंस और कुंजी जानकारी। - फ़ंड जोड़ें या ऑटो टॉप-अप चालू करें। प्लान हर महीने उसी बैलेंस में शामिल उपयोग जोड़ते हैं। देखें कीमत और बिलिंग।
- लंबे चलने वाले जॉब में इस कोड को घातक मानकर रुक जाएँ, SDK के रीट्राई को घूमने न दें।
403 model_not_allowed या plan_required
model_not_allowed: कुंजी की मॉडल allowlist में यह मॉडल id शामिल नहीं है। API कुंजियाँ में कुंजी की allowlist बदलें, या बिना allowlist वाली कुंजी इस्तेमाल करें। वेरिएंट प्रत्यय भी गिने जाते हैं: जाँचें कि आपके भेजे गए सटीक id की अनुमति है।plan_required: आपके प्लान में यह मॉडल श्रेणी शामिल नहीं है। सामान्य प्लान सभी श्रेणियों को कवर करते हैं; कीमत पेज पर अपना प्लान देखें।
404 model_not_found या not_found
model_not_found: मॉडल id अज्ञात, अक्षम या हटाया हुआ है। id में प्रोवाइडर प्रीफ़िक्स होता है:openai/gpt-5-mini, न किgpt-5-mini। सटीक idGET /modelsयाGET /models/{id}से देखें (कुंजी की ज़रूरत नहीं)। देखें मॉडल id और वेरिएंट।not_found: पाथ मौजूद नहीं है, या वीडियो जॉब अथवा जनरेशन id आपका नहीं है। यह आमतौर पर गलत बेस URL का संकेत है (नीचे देखें)। अनुरोध के तुरंत बाद जनरेशन लुकअप रिकॉर्ड दिखने तक कुछ सेकंड404भी लौटा सकता है।
गलत बेस URL
बेस URL ठीक यह है:
https://api14.com/api/v1
आम गलतियाँ:
| आपने सेट किया | नतीजा |
|---|---|
https://api14.com/v1 या https://api14.com | अनुरोध API के बजाय वेबसाइट पर जाते हैं: HTML प्रतिक्रियाएँ, 404, या ब्राउज़र में CORS त्रुटियाँ। |
बेस के रूप में https://api14.com/api/v1/chat/completions | SDK पाथ को दोबारा जोड़ देता है। केवल बेस सेट करें। |
https://api.openai.com/v1 (डिफ़ॉल्ट) | OpenAI आपकी api14 कुंजी अस्वीकार कर देता है। बेस URL कोड में या OPENAI_BASE_URL से सेट करें। |
लाइब्रेरी की ख़ासियतें: ruby-openai खुद v1 जोड़ता है, इसलिए उसका uri_base https://api14.com/api है (Ruby); openai-go अंत में स्लैश अपेक्षित करता है, https://api14.com/api/v1/ (Go)।
429 rate_limited
आपने अपनी कुंजी या प्लान की प्रति मिनट अनुरोध सीमा पार कर ली (Free 5, Pro 100, Team 3,000, Enterprise 3,000+)। प्रतिक्रिया में Retry-After: 60 होता है।
Retry-Afterतक रुकें और exponential backoff तथा jitter के साथ रीट्राई करें। आधिकारिक OpenAI SDK यह पहले से करते हैं (डिफ़ॉल्ट रूप से दो रीट्राई;maxRetries/max_retriesबढ़ाएँ)।- बल्क काम के लिए अनुरोध एक साथ दागने के बजाय उन्हें गति दें, और एक अनुरोध में कई आइटम रखें। देखें गाइड: बैच प्रोसेसिंग।
- 429 अपस्ट्रीम प्रोवाइडर से भी आ सकता है, ख़ासकर
:freeवेरिएंट पर। लोड बाँटने के लिए मॉडल फ़ॉलबैक या प्रोवाइडर रूटिंग इस्तेमाल करें।
429 daily_limit_reached
कुंजी अपनी दैनिक USD खर्च सीमा पर पहुँच गई। अगले UTC दिन तक रीट्राई से कोई फ़ायदा नहीं। ट्रैफ़िक अपेक्षित हो तो API कुंजियाँ में सीमा बढ़ाएँ या हटाएँ। सुनिश्चित करें कि आपका रीट्राई तर्क इस कोड को rate_limited से अलग पहचानता है, वरना जॉब बेकार में रीट्राई करते रहेंगे। देखें रेट लिमिट।
टाइमआउट
बड़े मॉडल, रीज़निंग मॉडल और लंबे आउटपुट में मिनटों लग सकते हैं।
- अपने क्लाइंट का टाइमआउट जाँचें। Node और Python SDK का डिफ़ॉल्ट 10 मिनट है; अन्य HTTP क्लाइंट अक्सर छोटे डिफ़ॉल्ट रखते हैं।
- लंबी जनरेशन स्ट्रीम करें। टोकन कुछ सेकंड में आने लगते हैं, और प्रॉक्सी तथा लोड बैलेंसर में निष्क्रिय कनेक्शन टाइमआउट की समस्या नहीं रहती। देखें स्ट्रीमिंग।
max_tokensसेट करें और रीज़निंग मॉडल के लिए कम रीज़निंग प्रयास रखें।- यदि आप अनुरोध अपने सर्वर से रिले करते हैं, तो उसके प्रॉक्सी टाइमआउट (जैसे nginx का
proxy_read_timeout, जिसका डिफ़ॉल्ट 60 सेकंड है) भी लागू होते हैं। - आपकी ओर का टाइमआउट अपस्ट्रीम जनरेशन को रद्द नहीं करता, जिस पर शुल्क लग सकता है। जाँचने के लिए अनुरोध id के साथ जनरेशन लुकअप इस्तेमाल करें।
स्ट्रीमिंग कट जाती है या जल्दी रुक जाती है
- अंतिम चंक का
finish_reasonदेखें।"length"का अर्थmax_tokensपूरा हो गया;"error"का अर्थ प्रोवाइडर बीच स्ट्रीम में विफल हुआ, और चंक मेंerrorऑब्जेक्ट होता है। रीट्राई करें, या फ़ॉलबैक जोड़ें। - प्रॉक्सी और सर्वरलेस प्लेटफ़ॉर्म कभी-कभी SSE प्रतिक्रियाओं को बफ़र या काट देते हैं। बफ़रिंग बंद करें (nginx पर
X-Accel-Buffering: no) और प्लेटफ़ॉर्म की अधिकतम प्रतिक्रिया अवधि जाँचें। - यदि आप स्ट्रीम खुद पार्स करते हैं, तो
:से शुरू होने वाली टिप्पणी पंक्तियाँ (keep-alive) अनदेखा करें औरdata: [DONE]पर रुकें। - कनेक्शन जल्दी बंद करने से बिल रद्द नहीं होता: प्रोवाइडर फिर भी जनरेशन पूरी कर सकता है।
CORS त्रुटियाँ और ब्राउज़र ऐप
API कुंजी को कभी ब्राउज़र या मोबाइल कोड में न रखें। कोई भी उसे पेज से पढ़कर आपका बैलेंस खर्च कर सकता है। api14 को अपने बैकएंड से कॉल करें और ब्राउज़र को केवल अपना एंडपॉइंट दिखाएँ:
// server.js (Node / Express)
app.post("/api/chat", async (req, res) => {
const stream = await client.chat.completions.create({
model: "openai/gpt-5-mini",
messages: req.body.messages, // इस इनपुट को validate और सीमित करें
stream: true,
});
for await (const chunk of stream) res.write(chunk.choices[0]?.delta?.content ?? "");
res.end();
});
डेवलपमेंट के दौरान ब्राउज़र में CORS त्रुटि आमतौर पर गलत बेस URL (अनुरोध API के बजाय वेबसाइट तक पहुँचा) या किसी कस्टम रिक्वेस्ट हेडर के कारण होती है जिसे API का preflight अनुमति नहीं देता; कॉल को अपने सर्वर पर ले जाने से दोनों हल हो जाते हैं।
SDK संस्करण की समस्याएँ
- Python
openai1.0 से नीचेopenai.ChatCompletion.createऔरopenai.api_baseइस्तेमाल करता है।pip install -U openaiसे अपग्रेड करें औरOpenAI(base_url=..., api_key=...)क्लाइंट इस्तेमाल करें। chat.completions.parseनहीं मिल रहा: पुराने 1.x/4.x रिलीज़ में केवलclient.beta.chat.completions.parseहै। पैकेज अपग्रेड करें।- गेटवे फ़ील्ड (
provider,models,reasoning,plugins) पर SDK की unknown parameter त्रुटियाँ: उन्हें Python मेंextra_bodyसे, या अन्य SDK में समकक्ष extra-body विकल्प से पास करें। देखें OpenAI SDK संगतता। - प्रोवाइडर संदेश के साथ अपस्ट्रीम
400: वह पैरामीटर उस मॉडल या प्रोवाइडर में समर्थित नहीं है। मॉडल में मॉडल केsupported_parametersजाँचें, याprovider: { "require_parameters": true }जोड़ें।