लॉग इन·साइन अप
BestRelay

एकीकरण मार्गदर्शिका

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
claude

Windows (PowerShell या cmd) पर इन्हीं दो वैरिएबल को setx से सेट करें, फिर नया टर्मिनल खोलें:

setx ANTHROPIC_BASE_URL https://api.bestapirelay.com
setx ANTHROPIC_AUTH_TOKEN bsr_your_key_here

Claude मॉडल केवल आधिकारिक 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
इस मॉडल के लिए अपस्ट्रीम कनेक्शन अभी कॉन्फ़िगर नहीं किया गया है।