API दस्तावेज़

Babel Mesh एक OpenAI-संगत API देता है। बेस URL और कुंजी बदलें और आपके मौजूदा टूल और SDK चलने लगते हैं।

शुरू करें

बेस URLhttps://babelmesh.ai/v1
प्रमाणीकरणहेडर Authorization: Bearer YOUR_KEY। कुंजियाँ sk-fab- से शुरू होती हैं।
कुंजी पानाअकाउंट और कुंजियाँ बनाने के लिए अकाउंट कंसोल खोलें। कुंजी बनते समय केवल एक बार दिखाई जाती है; उसे सँभालकर रखें। वहाँ आप कभी भी कुंजियाँ बना और बंद कर सकते हैं।

अभी उपलब्ध मॉडल कभी भी सूचीबद्ध किए जा सकते हैं:

curl
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 (सक्षम), code-default (कोड), embedding-default (एम्बेडिंग), video-default (वीडियो)। चित्रों के लिए मॉडल नाम z-image-turbo इस्तेमाल करें (चित्र अनुरोधों के लिए auto भी चलता है)। उपनाम अभी के सबसे उपयुक्त मॉडल की ओर इशारा करता है; मॉडल का अपना नाम भी चलता है।

चैट

एंडपॉइंट POST /v1/chat/completions है; stream: true से जवाब स्ट्रीम होता है।

curl
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 के साथ:

python
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
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
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}'

वीडियो

वीडियो में कुछ मिनट लगते हैं, इसलिए यह एक असिंक्रोनस काम है: उसे जमा करें, उसकी स्थिति पूछें, फिर फ़ाइल लाएँ।

curl
# 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-संगत" प्रदाता के रूप में जोड़ें:

बेस URLhttps://babelmesh.ai/v1
API कुंजीआपकी कुंजी, जो sk-fab- से शुरू होती है।
  • ये ऐप वीडियो काम की API (जमा करना, पूछना, लाना) नहीं जानते; वीडियो के लिए ऊपर की तरह API को सीधे कॉल करें।
  • बातचीत का इतिहास आपके अपने ऐप में रहता है; Babel Mesh उसे सहेजता नहीं। सामग्री खाते की डेटा श्रेणी के अनुसार संभाली जाती है, जो डिफ़ॉल्ट रूप से "सार्वजनिक" है और योगदानकर्ताओं के कंप्यूटर पर चल सकती है: निजी या गोपनीय सामग्री न डालें।
  • अगर आप ऐसा ऐप कई लोगों के लिए तैनात करते हैं, तो वे सब एक ही कुंजी के क्रेडिट और सीमाएँ साझा करते हैं।

त्रुटियाँ और सीमाएँ

400अनुरोध गलत बना है, या किसी भी उपलब्ध मॉडल की क्षमता से लंबा है (context_length_exceeded), या मॉडल एम्बेडिंग मॉडल है और अनुरोध एम्बेडिंग का नहीं है।
401कुंजी नहीं है, या अमान्य है।
402क्रेडिट खत्म हो गए, या इस कुंजी का बजट खत्म हो गया।
404मॉडल का नाम गलत है, या अभी कोई नोड वह मॉडल नहीं परोस रहा।
429खाते की प्रति मिनट अनुरोध या टोकन की सीमा पार हो गई। थोड़ी देर रुकें।
503अभी बहुत व्यस्तता है। Retry-After हेडर बताता है कि कितने सेकंड रुकना है।

त्रुटियों का रूप OpenAI जैसा है: {"error": {"message": "...", "type": "..."}}। आपका शेष और सीमाएँ: GET /v1/account।