OpenRouter उपयोगकर्ताओं के लिए क्विकस्टार्ट
बेस URL और API कुंजी बदलकर अपने OpenRouter API अनुरोधों को कुछ ही मिनटों में हमारे बिना सेंसर एंडपॉइंट पर माइग्रेट करें। यह गाइड टेक्स्ट जनरेशन, स्ट्रीमिंग और संरचित आउटपुट के लिए आवश्यक एकीकरण को कवर करती है।
इंस्टॉलेशन और सेटअप
हमारा API मानक OpenAI SDKs के साथ पूर्णतः संगत है। OpenRouter से बदलने के लिए, आपको केवल दो कॉन्फ़िगरेशन मान अपडेट करने की आवश्यकता है: base_url और api_key। अपने क्लाइंट को https://api.openrouterapi.cc/v1 की ओर निर्देशित करें और अपने डैशबोर्ड पर उत्पन्न की का उपयोग करें। किसी कस्टम हेडर या जटिल रूटिंग तर्क की आवश्यकता नहीं है। अनुरोध करने के लिए मॉडल आईडी uncensored है।
सुनिश्चित करें कि आपका SDK संस्करण base_url पैरामीटर का समर्थन करता है। यदि आप एक कच्चा HTTP क्लाइंट उपयोग कर रहे हैं, तो लक्ष्य URL को सरलता से अपडेट करें। यह सेटअप सुनिश्चित करता है कि आपका मौजूदा क्लाइंट कोड बिना संशोधन के काम करे, बशर्ते आप केवल टेक्स्ट कंप्लीशन अनुरोध भेज रहे हों।
प्रमाणीकरण
प्रमाणीकरण मानक Authorization हेडर के माध्यम से संभाला जाता है। अपनी API कुंजी को Bearer टोकन के रूप में पास करें। यदि कुंजी अमान्य या समाप्त हो गई है, तो API एक 401 त्रुटि लौटाता है। कुछ प्रदाताओं के विपरीत, हम विफल अनुरोधों के लिए शुल्क नहीं लेते; त्रुटियाँ और अस्वीकृतियाँ मुफ्त हैं, इसलिए आप बिना क्रेडिट खपत किए प्रमाणीकरण का परीक्षण कर सकते हैं।
प्रत्येक खाते एक समय में एक सक्रिय कुंजी का समर्थन करता है। एक नई कुंजी जनरेट करने से पिछली कुंजी तुरंत अमान्य हो जाती है। अपनी कुंजी को सुरक्षित रखें और यदि आप संदेह करते हैं कि वह उजागर हो गई है, तो उसे बदलें। कुंजी साइनअप के तुरंत बाद प्रदर्शित होती है, इसलिए पृष्ठ छोड़ने से पहले इसे कॉपी करें।
बेसिक चैट कंप्लीशन
कोर फ़ंक्शनलिटी POST /v1/chat/completions एंडपॉइंट है। अपने प्रॉम्प्ट को संदेशों की सूची के रूप में भेजें और एक टेक्स्ट प्रतिक्रिया प्राप्त करें। मॉडल को कानूनी वयस्क उपयोग के लिए बिना सामग्री अस्वीकृति के उत्तर देने के लिए ट्यून्ड किया गया है, जिससे यह रचनात्मक, विवादास्पद या सुरक्षा-शोध विषयों के लिए उपयुक्त है।
model फ़ील्ड को uncensored पर सेट करें। आप temperature, top_p, और stop जैसे पैरामीटर का उपयोग करके व्यवहार को नियंत्रित कर सकते हैं। API response_format के माध्यम से JSON मोड और tools के माध्यम से फ़ंक्शन कॉलिंग का समर्थन करता है। सभी अनुरोध असिंक्रोनously प्रसंस्कृत किए जाते हैं, और आपको मॉडल समाप्त होने पर पूर्ण कंप्लीशन प्राप्त होता है।
स्ट्रीमिंग रिस्पॉन्सेस
अपने अनुरोध में stream: true सेट करके स्ट्रीमिंग सक्षम करें। API आंशिक प्रतिक्रियाओं के साथ सर्वर-सेंट इवेंट्स (SSE) लौटाता है। आप टेक्स्ट के खंडों को तब प्राप्त करते हैं जब वे उत्पन्न होते हैं, जिससे आपके एप्लिकेशन में रियल-टाइम प्रदर्शन संभव होता है।
टोकन उपयोग की जानकारी स्ट्रीम के अंतिम चंक में प्रदान की जाती है। इससे आपको हर व्यक्तिगत टोकन को पार्स किए बिना लागत की सटीक निगरानी करने की अनुमति मिलती है। स्ट्रीमिंग उन चैट इंटरफेस के लिए आदर्श है जहां लेटेंसी मायने रखती है। सुनिश्चित करें कि आपका क्लाइंट SSE को सही ढंग से संभालता है और स्ट्रीम समाप्त होने पर कनेक्शन बंद करता है।
फ़ंक्शन कॉलिंग
API tools पैरामीटर के माध्यम से फ़ंक्शन कॉलिंग का समर्थन करता है। अपने फ़ंक्शन्स को tools सरणी में परिभाषित करें और tool_choice को auto या एक विशिष्ट फ़ंक्शन नाम पर सेट करें। यदि कोई फ़ंक्शन ट्रिगर होता है, तो मॉडल संरचित JSON तर्क लौटाएगा।
यह सुविधा LLM को बाहरी APIs या डेटाबेस के साथ एकीकृत करने के लिए उपयोगी है। सुनिश्चित करें कि आपकी फ़ंक्शन परिभाषाएं सटीक हों, क्योंकि मॉडल मान्य आर्गुमेंट्स जनरेट करने के लिए उन पर निर्भर करता है। API फ़ंक्शन्स को एक्जीक्यूट नहीं करता है; आपको एप्लिकेशन कोड में एक्जीक्यूशन लॉजिक संभालना होगा।
JSON मोड
संरचित आउटपुट के लिए, response_format: {"type": "json_object"} का उपयोग करें। यह मॉडल को वैध JSON लौटने पर मजबूर करता है, जो डाउनस्ट्रीम एप्लिकेशन्स में डेटा पार्स करने के लिए आवश्यक है। JSON मोड अक्सर सरल डेटा निष्कर्षण कार्यों के लिए फ़ंक्शन कॉलिंग से अधिक विश्वसनीय होता है।
सुनिश्चित करें कि आपके प्रॉम्प्ट्स मॉडल को JSON लौटने के लिए स्पष्ट रूप से निर्देशित करते हैं। यदि प्रॉम्प्ट अस्पष्ट है, तो अमान्य JSON रिस्पॉन्स आ सकते हैं। JSON मोड मानक और स्ट्रीमिंग दोनों मोड में समर्थित है। इसका उपयोग तब करें जब आपको भविष्यवाणी योग्य, मशीन-पढ़ने योग्य आउटपुट की आवश्यकता हो।
लिमिट्स, एरर्स और कॉन्टेक्स्ट
प्रॉम्प्ट और कंप्लीशन के लिए कॉन्टेक्स्ट विंडो 100,000 टोकन है। प्रति अनुरोध अधिकतम आउटपुट 32,000 टोकन है (2,048 यदि max_tokens सेट नहीं है)। रेट लिमिट प्रति मिनट 300 अनुरोध और प्रति कुंजी 8 समानांतर अनुरोध हैं। अनुरोध बॉडी 8 MB तक सीमित है।
त्रुटियां मानक HTTP कोड लौटाती हैं: अमान्य कुंजियों के लिए 401, अपर्याप्त क्रेडिट के लिए 402, और रेट लिमिट्स के लिए 429। क्रेडिट प्रीपेड है, इसलिए 402 त्रुटि का अर्थ है कि आपको टॉप-अप करने की आवश्यकता है। त्रुटियां और अस्वीकृतियां मुफ्त हैं, इसलिए आप बिना लागत के पुन: प्रयास कर सकते हैं। कठोर सामग्री लिमिट किशोरों से संबंधित यौन सामग्री को ब्लॉक करती है।
cURL
curl https://api.openrouterapi.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterapi.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterapi.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);स्ट्रीमिंग
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)API विवरण
API की सभी असली सीमाएँ और सुविधाएँ एक जगह — क्रेडिट जोड़ने से पहले इन्हें देख लें।
| मद | मान |
|---|---|
| API फ़ॉर्मेट | OpenAI के अनुकूल: कोई भी OpenAI SDK चलेगा — बस base URL और कुंजी बदलें |
| मॉडल ID | uncensored |
| प्रमाणीकरण | Authorization: Bearer YOUR_KEY |
| एंडपॉइंट | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.openrouterapi.cc/v1 |
| स्ट्रीमिंग | हाँ — server-sent events; आख़िरी हिस्से में टोकन उपयोग |
| फ़ंक्शन कॉलिंग | हाँ — tools, tool_choice; जवाब में tool_calls, स्ट्रीमिंग में भी; नतीजे role: tool संदेश से भेजें |
| पैरामीटर | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| कॉन्टेक्स्ट विंडो | 100,000 टोकन (इनपुट + आउटपुट मिलाकर) |
| अधिकतम आउटपुट | 100,000-टोकन विंडो के शेष हिस्से तक; max_tokens वैकल्पिक (अलग सीमा नहीं) |
| JSON मोड | response_format: {"type": "json_object"} |
| रेट लिमिट | प्रति कुंजी प्रति मिनट 300 अनुरोध |
| समानांतर अनुरोध | प्रति कुंजी एक साथ 8 तक |
| रिस्पॉन्स हेडर | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| अनुरोध का आकार | 8 MB तक |
| बिलिंग | प्रीपेड क्रेडिट, असली उपयोग के अनुसार; त्रुटियाँ और अस्वीकृतियाँ मुफ़्त |
| बोनस | $50 से +5%, $100 से +10% |
| मुफ़्त ट्रायल क्रेडिट | $0.50, 7 दिन, कार्ड की ज़रूरत नहीं · ट्रायल कुंजी: 2 समानांतर अनुरोध, 60 प्रति मिनट; पहले टॉप-अप के बाद पूरी सीमाएँ (8 और 300) |
| वैधता | भुगतान किया क्रेडिट कभी समाप्त नहीं होता, कोई सदस्यता नहीं |
| टॉप-अप | USDT (TRC20) या USDC (Base), $10 से $500 तक कोई भी पूरी राशि |
| कीमत | प्रति 10 लाख इनपुट टोकन $0.25 · प्रति 10 लाख आउटपुट टोकन $1.00 |
| कुंजियाँ | हर खाते में एक सक्रिय कुंजी; नई कुंजी पुरानी की जगह लेती है |
| साइन इन | Google या ईमेल और पासवर्ड |
| सामग्री | वयस्क सामग्री की अनुमति; नाबालिगों से जुड़ी यौन सामग्री अस्वीकार |
त्रुटि कोड
त्रुटियाँ JSON में स्थिर type के साथ आती हैं; विफल या अस्वीकृत अनुरोधों का शुल्क नहीं लगता।
| कोड | प्रकार | अर्थ |
|---|---|---|
400 | bad_request | अमान्य JSON, खाली संदेश, गलत पैरामीटर या कॉन्टेक्स्ट विंडो से अधिक |
401 | missing_key · invalid_key · key_revoked | कुंजी नहीं, गलत कुंजी या नई कुंजी से बदली गई |
402 | no_credit | क्रेडिट ख़त्म — टॉप-अप करें, तुरंत चालू |
403 | content_blocked | नाबालिगों से जुड़ी यौन सामग्री — अस्वीकार, कोई शुल्क नहीं |
404 | not_found | अज्ञात एंडपॉइंट |
413 | request_too_large | बॉडी 8 MB से बड़ी |
429 | rate_limited · concurrency | 300/मिनट या 8 समानांतर से अधिक — रुककर फिर कोशिश करें |
503 | upstream_busy | मॉडल व्यस्त — कुछ सेकंड बाद फिर कोशिश करें |
प्रश्न और उत्तर
क्या यह आधिकारिक OpenRouter API है?
नहीं, यह एक स्वतंत्र सेवा है। हम OpenRouter बेस URL संरचना के संगत एक अकेले बिना सेंसर मॉडल की पेशकश करते हैं। हम OpenRouter के एग्रीगेटेड मॉडल या रूटिंग लॉजिक नहीं देते हैं।
API के लिए मैं कैसे भुगतान करूं?
भुगतान केवल क्रिप्टो के माध्यम से स्वीकार किए जाते हैं: USDT (TRC20) या USDC (Base)। आप $10 से $500 तक किसी भी पूर्ण राशि का टॉप-अप कर सकते हैं। क्रेडिट कार्ड या PayPal स्वीकार नहीं किए जाते हैं।
क्या प्रॉम्प्ट को प्रशिक्षण के लिए उपयोग किया जाता है?
नहीं, आपके प्रॉम्प्ट्स प्रशिक्षण के लिए उपयोग नहीं किए जाते हैं। हमें आपके खाते के लिए केवल एक ईमेल पता की आवश्यकता होती है, और हम मॉडल सुधार के लिए आपका डेटा स्टोर या उपयोग नहीं करते हैं।
आपकी कुंजी बस एक फ़ॉर्म दूर है
एक खाता बनाएं, कुंजी कॉपी करें, बेस URL बदलें। यही पूरा सेटअप है।