API दस्तावेज़
Babel Mesh एक OpenAI-संगत API देता है। बेस URL और कुंजी बदलें और आपके मौजूदा टूल और SDK चलने लगते हैं।
शुरू करें
| बेस URL | https://babelmesh.ai/v1 |
|---|---|
| प्रमाणीकरण | हेडर Authorization: Bearer YOUR_KEY। कुंजियाँ sk-fab- से शुरू होती हैं। |
| कुंजी पाना | अकाउंट और कुंजियाँ बनाने के लिए अकाउंट कंसोल खोलें। कुंजी बनते समय केवल एक बार दिखाई जाती है; उसे सँभालकर रखें। वहाँ आप कभी भी कुंजियाँ बना और बंद कर सकते हैं। |
अभी उपलब्ध मॉडल कभी भी सूचीबद्ध किए जा सकते हैं:
curl https://babelmesh.ai/v1/models \ -H "Authorization: Bearer $BABEL_KEY"
अगर आपको नहीं पता कि कौन-सा मॉडल चुनें, तो auto इस्तेमाल करें। Babel Mesh अनुरोध को देखता है: सामान्य बातचीत और आसान सवाल तेज़ मॉडल के पास जाते हैं; कोड, कोड मॉडल के पास; तर्क, बहुत लंबी सामग्री, टूल कॉल या संरचित आउटपुट सबसे सक्षम मॉडल के पास; और अगर किसी मॉडल का कोई नोड नहीं है या कतार लंबी है, तो दूसरा मॉडल लिया जाता है। निर्णय केवल अनुरोध को पढ़ता है (उसकी लंबाई, उसमें कोड, टूल या संरचित आउटपुट का स्कीमा है या नहीं) और कुछ भी सहेजा नहीं जाता। रिस्पॉन्स हेडर X-Gateway-Model बताता है कि किस मॉडल ने जवाब दिया और X-Gateway-Auto बताता है कि क्यों। auto केवल वही मॉडल चुनता है जो आपका खाता इस्तेमाल कर सकता है।
आप किसी का नाम भी दे सकते हैं: chat-default (तेज़), chat-strong (सक्षम), embedding-default (एम्बेडिंग), video-default (वीडियो)। चित्रों के लिए मॉडल नाम z-image-turbo इस्तेमाल करें (चित्र अनुरोधों के लिए auto भी चलता है)। उपनाम अभी के सबसे उपयुक्त मॉडल की ओर इशारा करता है; मॉडल का अपना नाम भी चलता है।
चैट
एंडपॉइंट POST /v1/chat/completions है; stream: true से जवाब स्ट्रीम होता है।
curl https://babelmesh.ai/v1/chat/completions \
-H "Authorization: Bearer $BABEL_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "auto",
"messages": [{"role": "user", "content": "Introduce yourself in one sentence"}]
}'OpenAI के Python SDK के साथ:
from openai import OpenAI
client = OpenAI(base_url="https://babelmesh.ai/v1", api_key="sk-fab-...")
stream = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Write a Python function that checks for palindromes"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")एम्बेडिंग
एंडपॉइंट POST /v1/embeddings है; input एक स्ट्रिंग या स्ट्रिंग की सूची है।
curl https://babelmesh.ai/v1/embeddings \
-H "Authorization: Bearer $BABEL_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "embedding-default", "input": ["a lighthouse at dawn", "a paper boat on a pond"]}'चित्र
एंडपॉइंट POST /v1/images/generations है; चित्र base64 में लौटता है (data[0].b64_json)।
curl https://babelmesh.ai/v1/images/generations \
-H "Authorization: Bearer $BABEL_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "z-image-turbo", "prompt": "a lighthouse at dawn, watercolor", "n": 1}'वीडियो
वीडियो में कुछ मिनट लगते हैं, इसलिए यह एक असिंक्रोनस काम है: उसे जमा करें, उसकी स्थिति पूछें, फिर फ़ाइल लाएँ।
# 1. Submit; the answer holds a job id
curl https://babelmesh.ai/v1/videos \
-H "Authorization: Bearer $BABEL_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "video-default", "prompt": "a paper boat on a pond", "seconds": "3"}'
# 2. Poll: queued, in_progress, completed or failed
curl https://babelmesh.ai/v1/videos/VIDEO_ID -H "Authorization: Bearer $BABEL_KEY"
# 3. When completed, fetch the video (mp4)
curl https://babelmesh.ai/v1/videos/VIDEO_ID/content -H "Authorization: Bearer $BABEL_KEY" -o out.mp4हर खाते के एक साथ चल रहे वीडियो कामों की संख्या सीमित है। तैयार वीडियो एक दिन रखा जाता है।
दूसरे ऐप से इस्तेमाल करना
क्योंकि API OpenAI-संगत है, यह Open WebUI, Cherry Studio और Chatbox जैसे चैट फ्रंट एंड और एडिटरों के AI प्लगइन के साथ चलती है। इसे दो सेटिंग के साथ "OpenAI-संगत" प्रदाता के रूप में जोड़ें:
| बेस URL | https://babelmesh.ai/v1 |
|---|---|
| API कुंजी | आपकी कुंजी, जो sk-fab- से शुरू होती है। |
- ये ऐप वीडियो काम की API (जमा करना, पूछना, लाना) नहीं जानते; वीडियो के लिए ऊपर की तरह API को सीधे कॉल करें।
- बातचीत का इतिहास आपके अपने ऐप में रहता है; Babel Mesh उसे सहेजता नहीं। सामग्री खाते की डेटा श्रेणी के अनुसार संभाली जाती है, जो डिफ़ॉल्ट रूप से "सार्वजनिक" है और योगदानकर्ताओं के कंप्यूटर पर चल सकती है: निजी या गोपनीय सामग्री न डालें।
- अगर आप ऐसा ऐप कई लोगों के लिए तैनात करते हैं, तो वे सब एक ही कुंजी के क्रेडिट और सीमाएँ साझा करते हैं।
क्लाइंट का स्थानीय इंटरफ़ेस
Babel Mesh क्लाइंट आपके अपने कंप्यूटर पर भी जवाब दे सकता है, ताकि वहाँ के प्रोग्राम नेटवर्क को वैसे इस्तेमाल करें जैसे वे किसी स्थानीय मॉडल को करते। क्लाइंट के अकाउंट पेज पर "स्थानीय API" चालू करने तक यह बंद रहता है। यह केवल इसी कंप्यूटर पर सुनता है (डिफ़ॉल्ट पोर्ट 18650; सही पता क्लाइंट दिखाता है), और प्रोग्राम आपकी अकाउंट कुंजी नहीं, बल्कि क्लाइंट का दिखाया टोकन इस्तेमाल करते हैं।
| OpenAI-संगत | http://127.0.0.1:18650/v1: चैट, कम्प्लीशन, चित्र, वीडियो और मॉडल सूची। |
|---|---|
| Ollama-संगत | http://127.0.0.1:18650: /api/chat, /api/generate, /api/tags, /api/show, /api/ps, /api/version और /api/embed। |
| Anthropic-संगत | http://127.0.0.1:18650: POST /v1/messages, Claude Code जैसे टूल के लिए। |
- जो टूल Ollama को उसके सामान्य पोर्ट 11434 पर चाहते हैं, उन्हें वहाँ भी सेवा मिलती है, लेकिन केवल तब जब उस कंप्यूटर पर Ollama खुद इंस्टॉल या चालू न हो, ताकि दोनों कभी पोर्ट के लिए न टकराएँ।
- यह Claude Code, Open WebUI, Continue, Cursor, Cherry Studio, LobeChat और OpenAI तथा Ollama के SDK के साथ चलता है।
- अनुरोध आपके अकाउंट के रूप में नेटवर्क तक जाते हैं, इसलिए क्रेडिट हमेशा की तरह खर्च होते हैं और वही डेटा श्रेणी लागू होती है।
किसी दूसरी जगह से, उसी अकाउंट के साथ
सार्वजनिक पते https://babelmesh.ai/v1 तक आपके अकाउंट की कुंजी से कहीं से भी पहुँचा जा सकता है, इसलिए दूसरा कंप्यूटर, सर्वर या फ़ोन का ऐप सीधे जुड़ सकता है। आज यह पता OpenAI-संगत API बोलता है। दूसरे कंप्यूटर पर Ollama या Anthropic शैली के टूल के लिए, वहाँ क्लाइंट इंस्टॉल करें, उसी अकाउंट से साइन इन करें और ऊपर बताए अनुसार उसका स्थानीय इंटरफ़ेस इस्तेमाल करें। क्लाइंट कोई इनबाउंड पोर्ट नहीं खोलता, इसलिए उसके स्थानीय इंटरफ़ेस तक दूसरी मशीनों से नहीं पहुँचा जा सकता।
योजना में, कोई तारीख़ नहीं: सार्वजनिक पते पर भी Anthropic शैली और Ollama शैली के एंडपॉइंट।
त्रुटियाँ और सीमाएँ
400 | अनुरोध गलत बना है, या किसी भी उपलब्ध मॉडल की क्षमता से लंबा है (context_length_exceeded), या मॉडल एम्बेडिंग मॉडल है और अनुरोध एम्बेडिंग का नहीं है। |
|---|---|
401 | कुंजी नहीं है, या अमान्य है। |
402 | क्रेडिट खत्म हो गए, या इस कुंजी का बजट खत्म हो गया। |
404 | मॉडल का नाम गलत है, या अभी कोई नोड वह मॉडल नहीं परोस रहा। |
429 | खाते की प्रति मिनट अनुरोध या टोकन की सीमा पार हो गई। थोड़ी देर रुकें। |
503 | अभी बहुत व्यस्तता है। Retry-After हेडर बताता है कि कितने सेकंड रुकना है। |
त्रुटियों का रूप OpenAI जैसा है: {"error": {"message": "...", "type": "..."}}। आपका शेष और सीमाएँ: GET /v1/account।