एकीकरण मार्गदर्शिका
BestRelay से जुड़ना: एक भूमिका और छह अध्याय
सब कुछ दो सेटिंग से तय होता है: आपका क्लाइंट अनुरोध कहाँ भेजता है और उनके साथ कौन-सी कुंजी भेजता है। इस मार्गदर्शिका में हर प्रोटोकॉल के लिए सटीक मान दिए गए हैं।
प्रस्तावना: इस गाइड का दायरा
आप कोई भी क्लाइंट इस्तेमाल करें, दो सेटिंग हमेशा ज़रूरी होती हैं: वह पता जहाँ अनुरोध भेजे जाते हैं और उनके साथ भेजी जाने वाली कुंजी। आगे के अध्यायों में हर प्रोटोकॉल के लिए ये मान दिए गए हैं। फिर बताया गया है कि कॉल का शुल्क कैसे तय होता है और आपको कौन-से स्टेटस कोड मिल सकते हैं।
आप चाहे जो भी इस्तेमाल करें, पहला अध्याय ज़रूर पढ़ें; उसके बाद अपने टूल से संबंधित अध्याय पर जाएँ।
I. कुंजी और बेस एड्रेस
डैशबोर्ड में API कुंजियों वाले अनुभाग से एक कुंजी बनाएँ। सारा API ट्रैफ़िक एक ही होस्ट पर जाता है, जो वेबसाइट से अलग रखा गया है:
https://api.bestapirelay.com
होस्ट का पता किस रूप में लिखना है, यह आपके क्लाइंट के प्रोटोकॉल पर निर्भर करता है:
- OpenAI-संगत क्लाइंट और SDK: होस्ट के पते के साथ /v1 जोड़ें और कुंजी को Bearer टोकन के रूप में भेजें।
- Claude Code और Claude Desktop जैसे Anthropic क्लाइंट: केवल होस्ट का पता दें और कुंजी को x-api-key या ANTHROPIC_AUTH_TOKEN में रखें।
- Gemini क्लाइंट: केवल होस्ट का पता दें और कुंजी को x-goog-api-key में रखें।
II. OpenAI-संगत कॉल: cURL, SDK और Codex
चैट अनुरोध /v1/chat/completions पर और Responses API के अनुरोध /v1/responses पर भेजे जाते हैं। टर्मिनल से पहली कॉल करके जाँच लें कि कुंजी काम कर रही है:
curl https://api.bestapirelay.com/v1/chat/completions \
-H "Authorization: Bearer bsr_your_key_here" -H "Content-Type: application/json" \
-d '{"model": "gpt-6.1-sol", "messages": [{"role": "user", "content": "Describe a well-made fountain pen in one sentence."}]}'अपने कोड में किसी भी OpenAI SDK के लिए यही बेस URL सेट करें। एसिंक्रोनस Python क्लाइंट के साथ कोड इस तरह होगा:
import asyncio
from openai import AsyncOpenAI
bestrelay_client = AsyncOpenAI(base_url="https://api.bestapirelay.com/v1", api_key="bsr_your_key_here")
async def ask_the_atelier():
fountain_pen = await bestrelay_client.chat.completions.create(
model="gpt-6.1-sol",
messages=[{"role": "user", "content": "Describe a well-made fountain pen in one sentence."}],
)
print(fountain_pen.choices[0].message.content)
asyncio.run(ask_the_atelier())Codex अपने प्रोवाइडर की जानकारी कॉन्फ़िगरेशन फ़ाइल से पढ़ता है:
# ~/.codex/config.toml (BestRelay as the provider)
model = "gpt-6.1-sol" # any GPT id from the rate card
model_provider = "bestrelay"
[model_providers.bestrelay]
name = "BestRelay"
base_url = "https://api.bestapirelay.com/v1"
env_key = "BESTRELAY_API_KEY" # export BESTRELAY_API_KEY=bsr_your_key_here
wire_api = "responses" # Codex speaks the Responses APIसुझाई गई GPT आईडी: gpt-6.1-sol, gpt-6-astra, gpt-5.6-sol
III. Gemini का नेटिव रूट
Gemini CLI में बेस URL के लिए केवल होस्ट का उपयोग करें (/v1beta न जोड़ें) और GEMINI_API_KEY में अपनी BestRelay कुंजी सेट करें:
export GOOGLE_GEMINI_BASE_URL=https://api.bestapirelay.com
export GEMINI_API_KEY=bsr_your_key_here
geminiसीधी कॉल के लिए नेटिव generateContent रूट का उपयोग करें और कुंजी x-goog-api-key हेडर में भेजें:
curl "https://api.bestapirelay.com/v1beta/models/gemini-3.8-flash:generateContent" \
-H "x-goog-api-key: bsr_your_key_here" -H "Content-Type: application/json" \
-d '{"contents": [{"role": "user", "parts": [{"text": "Which printing press came first?"}]}]}'Gemini मॉडल केवल अपने नेटिव प्रोटोकॉल पर काम करते हैं। स्ट्रीमिंग के लिए :streamGenerateContent?alt=sse पर कॉल करें; OpenAI-शैली के /v1/chat/completions रूट से इन मॉडल तक अनुरोध नहीं पहुँचते।
अनुरोध में भेजने के लिए Gemini मॉडल आईडी: gemini-3.1-pro, gemini-4-argon, gemini-3.8-flash, gemini-2.5-flash
IV. Claude Code और Claude Desktop
दो एनवायरनमेंट वैरिएबल सेट करें और Claude Code को हमेशा की तरह शुरू करें। बेस URL में केवल होस्ट रखें, /v1 न जोड़ें:
export ANTHROPIC_BASE_URL=https://api.bestapirelay.com
export ANTHROPIC_AUTH_TOKEN=bsr_your_key_here
claudeWindows (PowerShell या cmd) पर इन्हीं दो वैरिएबल को setx से सेट करें, फिर नया टर्मिनल खोलें:
setx ANTHROPIC_BASE_URL https://api.bestapirelay.com
setx ANTHROPIC_AUTH_TOKEN bsr_your_key_hereClaude मॉडल केवल आधिकारिक Claude Code और Claude Desktop क्लाइंट में उपलब्ध हैं। अपस्ट्रीम प्रदाता के लिए Claude Code 2.1.285 या उससे नया संस्करण आवश्यक है। GPT, Gemini और अन्य मॉडल परिवार किसी भी संगत क्लाइंट या SDK के साथ काम करते हैं।
V. कॉल का शुल्क कैसे तय होता है
हर कॉल का शुल्क जवाब पूरा होने के बाद एक बार काटा जाता है। इसकी गणना प्रोवाइडर से मिले इनपुट, आउटपुट और कैश टोकन के आँकड़ों के आधार पर, दर सूची में दी गई कीमतों पर होती है। पहले से कोई राशि रोककर नहीं रखी जाती।
अगर कोई कॉल सफल होती है लेकिन उपयोग के आँकड़े नहीं मिलते, तो 2,000 इनपुट और 2,000 आउटपुट टोकन का अनुमान लगाकर शुल्क लिया जाता है। लेन-देन के रिकॉर्ड में भी यह स्पष्ट लिखा होता है। अगर स्ट्रीम के बीच में आपका क्लाइंट डिस्कनेक्ट हो जाए, तब भी प्रोवाइडर से मिले आँकड़ों के आधार पर कॉल का शुल्क लिया जाता है।
प्रोवाइडर द्वारा अस्वीकार किए गए अनुरोध और टोकन गिनने के अनुरोध शून्य शुल्क के साथ दर्ज होते हैं। अंतिम कॉल के कारण बैलेंस शून्य से थोड़ा नीचे जा सकता है; इसके बाद बैलेंस जोड़ने तक अनुरोधों पर 402 मिलता है।
VI. संभावित स्टेटस कोड
त्रुटियाँ परिचित JSON संरचना में लौटती हैं, जिनमें BestRelay का लिखा संदेश होता है:
- 400
- अनुरोध में मॉडल का नाम नहीं है, कोई अज्ञात मॉडल दिया गया है, या चुना गया रूट मॉडल के प्रोटोकॉल से मेल नहीं खाता।
- 401
- कुंजी भेजी नहीं गई है, या वह अज्ञात अथवा अमान्य है।
- 402
- बैलेंस समाप्त हो गया है; जारी रखने के लिए बैलेंस जोड़ें।
- 403
- इस कुंजी से जुड़े खाते पर अस्थायी रोक लगी है।
- 404
- इस पाथ पर कोई रूट मौजूद नहीं है।
- 413
- अनुरोध की बॉडी 25 MB से बड़ी है।
- 429
- एक कुंजी से एक मिनट में 120 से अधिक अनुरोध भेजे गए हैं, या एक खाते पर पहले से आठ कॉल चल रही हैं।
- 502
- प्रोवाइडर से संपर्क नहीं हो सका; कोई शुल्क नहीं लिया गया।
- 503
- इस मॉडल के लिए अपस्ट्रीम कनेक्शन अभी कॉन्फ़िगर नहीं किया गया है।