आप क्या सेटअप कर रहे हैं
Cursor एक एडिटर है जो कस्टम मॉडल प्रदाताओं का समर्थन करता है। यदि आप इसे एक OpenAI-शैली का बेस URL, एक कुंजी और एक मॉडल नाम देते हैं, तो यह अपने डिफ़ॉल्ट प्रदाता के बजाय अपने चैट अनुरोध वहाँ भेजेगा। यह सेवा उस प्रोटोकॉल को बोलती है: POST /v1/chat/completions Bearer प्रमाणीकरण के साथ, और GET /v1/models।
शुरुआत में दो बातों के बारे में स्पष्ट रहें। यह एक स्वतंत्र API है जो एक ओपन-वेट मॉडल चलाती है, OpenAI का Codex नहीं और न ही Cursor का कोई आधिकारिक उत्पाद। और Cursor अपनी सेटिंग्स स्क्रीन अक्सर बदलता है, इसलिए नीचे दिए गए लेबल आपके संस्करण में थोड़े अलग स्थान पर हो सकते हैं। तीन मान कभी नहीं बदलते: बेस URL, कुंजी, मॉडल नाम।
चरण 1: एक कुंजी प्राप्त करें और Cursor के बाहर परीक्षण करें
Google या ईमेल और पासवर्ड से API कुंजी पेज पर साइन अप करें। नए खाते एक क्लिक में $0.50 का मुफ़्त ट्रायल क्रेडिट पा सकते हैं, जो 7 दिनों के लिए मान्य है, कार्ड की आवश्यकता नहीं है। यह एक एडिटर सेटअप का परीक्षण करने के लिए पर्याप्त है।
Cursor को छुए बिना, पुष्टि करें कि कुंजी काम कर रही है। एक एडिटर के अंदर एक विफलता एक टर्मिनल में विफलता की तुलना में पढ़ने में कठिन होती है।
curl https://api.getcodexapi.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a Python function that reverses a string."}]
}'
यदि आपको कोड के साथ एक JSON जवाब मिलता है, तो आगे बढ़ें। यदि आपको एक त्रुटि मिलती है, तो पहले इसे ठीक करें। सामान्य कारणों में कुंजी में एक अक्षर की कमी या अंत में पेस्ट किया गया एक स्पेस शामिल है।
चरण 2: Cursor कॉन्फ़िगर करें
- Cursor की सेटिंग्स खोलें और मॉडल अनुभाग पर जाएं।
- एक OpenAI API कुंजी के लिए फ़ील्ड खोजें और इस सेवा से अपनी कुंजी पेस्ट करें।
- OpenAI बेस URL को ओवरराइड करने के विकल्प को चालू करें, और
https://api.getcodexapi.com/v1दर्ज करें। - एक कस्टम मॉडल जोड़ें और सटीक नाम
uncensoredटाइप करें। - यदि कोई है तो सत्यापन बटन चलाएं, फिर एक चैट पैनल खोलें और मॉडल सूची से
uncensoredचुनें।
यदि verify चरण में विफलता की रिपोर्ट मिलती है, तो तीन बातें क्रम से जाँचें: base URL /v1 पर समाप्त होना चाहिए, इसके बाद कोई endpoint path न हो, कुंजी को पेस्ट करते समय trailing whitespace न हो, और मॉडल नाम में कोई capital letter न हो। docs पेज पर दिए गए guide में अतिरिक्त client उदाहरणों के साथ समान मान दिए गए हैं।
इसके आसपास योजना बनाने के लिए एक बात: ओवरराइड एक सेटिंग है, न कि प्रति-मॉडल विकल्प, इसलिए यदि आप Cursor में कहीं और भी अपनी खुद की OpenAI कुंजी का उपयोग करते हैं, तो पहले ओवरराइड को बंद करें। आपने क्या बदला है, उसका एक नोट रखें।
सेव करने के बाद, चैट में मॉडल से एक सरल कोडिंग प्रश्न पूछें और जवाब के लिए देखें। एक धीमी पहली प्रतिक्रिया सामान्य है जब Cursor अपना अनुरोध बना रहा होता है। यदि जवाब वापस आता है, तो आप कनेक्टेड हैं, और अगला चरण अपने स्वयं के रिपॉजिटरी में वास्तविक कार्य पर इसे आज़माने का है।
क्या आपकी कुंजी से गुज़रेगा और क्या नहीं
Cursor कई सुविधाओं को मिलाता है। चैट और इनलाइन एडिट अनुरोध वे हैं जो सबसे अधिक संभावना है कि आप अपने कस्टम मॉडल का उपयोग करेंगे। अन्य सुविधाएँ, जैसे टैब पूर्णता, ऐतिहासिक रूप से उन मॉडल का उपयोग करती हैं जिन्हें Cursor स्वयं चलाता है, और एजेंट-शैली की सुविधाएँ Cursor टूल्स को कैसे संभालता है, इस पर निर्भर कर सकती हैं। जानने का ईमानदार तरीका यह है कि उस सुविधा को आज़माएं जिस पर आप निर्भर हैं और अपने बैलेंस पर नज़र रखें।
यह करना आसान है: इस API की हर प्रतिक्रिया में X-Balance-USD हेडर होता है, और आपका बैलेंस आपके अकाउंट में दिखाई देता है। यदि आप चैट संदेश भेजते हैं और बैलेंस नहीं बदलता, तो वह अनुरोध हमारे पास नहीं पहुँचा।
इस endpoint पर tool calling supported है (tools, tool_choice, streamed tool_calls, और results role: "tool" के रूप में), जो editor agents को चाहिए। Streaming server-sent events के माध्यम से stream: true के साथ काम करती है। context window 100,000 tokens का है, prompt और completion मिलाकर, इसलिए एक बड़ी file और उसके neighbours एक ही request में फिट हो जाते हैं।
बिना सेंसर वाले मॉडल का एडिटर में उपयोग क्यों करें
ज़्यादातर कोडिंग कार्य कभी भी रिफ्यूज़ल (refusal) पर नहीं जाते हैं। जब ऐसा होता है, तो यह आमतौर पर उन वैध कार्यों के लिए होता है जो एक सावधान फ़िल्टर के लिए जोखिम भरे लगते हैं: अपने नेटवर्क के लिए पोर्ट स्कैनर लिखना, विश्लेषण किए जा रहे मैलवेयर नमूनों को पार्स करना, जिसमें आक्रामक भाषा शामिल हो ऐसे टेस्ट डेटा का उत्पादन करना, वयस्कों के लिए रोलप्ले या कॉम्पैनियन ऐप का बैक एंड बनाना, या कंटेंट मॉडरेशन से निपटने वाले कोड को रिफैक्टर करना। यह मॉडल कानूनी वयस्क उपयोग के लिए बिना कंटेंट रिफ्यूज़ल के उत्तर देने के लिए ट्यून्ड है।
यह अभी भी एक सामान्य ओपन-वेट मॉडल है, कोई विशेष कोड मॉडल नहीं, और यहाँ कुछ भी यह वादा नहीं करता कि यह आपके कोडबेस पर किसी विशिष्ट विकल्प से बेहतर है। अपने स्वयं के कार्यों को इसके माध्यम से चलाएं। एक नियम निश्चित है: नाबालिगों से संबंधित यौन सामग्री नहीं है, और इसे बदला नहीं जा सकता है।
व्यावहारिक रूप से इसकी लागत
मूल्य निर्धारण $0.15 प्रति 1M इनपुट टोकन और $0.50 प्रति 1M आउटपुट टोकन का है, प्रीपेड क्रेडिट से, बिना किसी सब्सक्रिप्शन के। एडिटर ट्रैफ़िक इनपुट-भारी होता है, क्योंकि हर अनुरोध फ़ाइल कॉन्टेक्स्ट को फिर से भेजता है।
8,000 इनपुट टोकन और 1,000 आउटपुट टोकन वाले एक अनुरोध की लागत इनपुट के लिए 8,000 x $0.15 / 1,000,000 = $0.0012, और आउटपुट के लिए 1,000 x $0.50 / 1,000,000 = $0.0005 होती है, जो कुल $0.0017 है। यदि आप एक भारी दिन में उनमें से 150 बनाते हैं, तो वह 150 x $0.0017 = $0.255, लगभग 26 सेंट है।
एक अनुरोध जो 40,000 टोकन का कॉन्टेक्स्ट भेजता है और 1,500 वापस पाता है, उसकी लागत $0.006 + $0.00075 = $0.00675 होती है। टॉप-अप $20 से शुरू होते हैं और क्रेडिट कभी नहीं खत्म होता, इसलिए इसे खत्म करने का कोई दबाव नहीं है। बोनस टियर्स के लिए मूल्य निर्धारण पेज देखें, और सामान्य अवलोकन के लिए कोडिंग API पेज देखें।
एडिटर उपयोग के लिए रेट लिमिट
एक पूर्ण कुंजी 8 समानांतर अनुरोध और प्रति मिनट 300 अनुरोध की अनुमति देती है। एक ट्रायल कुंजी 2 समानांतर और प्रति मिनट 60 की अनुमति देती है। एक व्यक्ति एक एडिटर में टाइप करते समय शायद ही कभी इनमें से किसी के करीब पहुंचता है, लेकिन एक टीम जो एक कुंजी साझा करती है, या एक एजेंट जो समानांतर में कई अनुरोध भेजता है, वह पहुंच सकता है। जब आप सीमा पार करते हैं, तो API HTTP 429 लौटाता है। कोड rate_limited का मतलब प्रति मिनट बहुत सारे अनुरोध हैं, और concurrency का मतलब एक साथ बहुत सारे अनुरोध हैं। यदि सेवा संक्षेप में ओवरलोड हो जाती है, तो आपको Retry-After: 5 के साथ 429 भी दिखाई देता है।
एक स्ट्रीम किए गए चैट अपने कॉन्करेंसी स्लॉट को स्ट्रीम समाप्त होने तक बनाए रखता है। साझा उपयोग के लिए, टीम के लिए एक कुंजी देने के बजाय प्रत्येक डेवलपर को अपनी स्वयं की कुंजी दें।
ट्रबलशूटिंग चेकलिस्ट
- मॉडल नहीं मिला।
uncensoredफिर से टाइप करें, बिना किसी स्पेस के। उन पुराने कस्टम मॉडल्स को हटा दें जिन्हें आप उपयोग नहीं करते हैं। - प्रमाणीकरण त्रुटि। कुंजी को फिर से कॉपी करें। सुनिश्चित करें कि Cursor अभी भी किसी अन्य प्रदाता की कुंजी का उपयोग नहीं कर रहा है।
- प्रतिक्रियाएं जल्दी रुक जाती हैं। जांचें कि क्या Cursor अपना आउटपुट कैप सेट करता है। हमारी ओर से,
max_tokensवैकल्पिक है। - आपके बैलेंस में कोई बदलाव नहीं होता है। जिस फीचर का आप उपयोग कर रहे हैं, वह आपकी कस्टम कुंजी के माध्यम से रूट नहीं किया गया है। इसके बजाय चैट का प्रयास करें।
- अक्सर 429। समानांतर अनुरोध कम करें, या ट्रायल कुंजी के बजाय एक पूर्ण कुंजी का उपयोग करें।
