API belgeleri
Babel Mesh, OpenAI uyumlu bir API sunar. Temel URL'yi ve anahtarı değiştirin; mevcut araçlarınız ve SDK'larınız çalışır.
Başlarken
| Temel URL | https://babelmesh.ai/v1 |
|---|---|
| Kimlik doğrulama | Authorization: Bearer ANAHTARINIZ başlığı. Anahtarlar sk-fab- ile başlar. |
| Anahtar edinme | Hesap ve anahtar oluşturmak için hesap konsolunu açın. Bir anahtar oluşturulurken yalnızca bir kez gösterilir; saklayın. Orada anahtarları istediğiniz zaman oluşturabilir ve devre dışı bırakabilirsiniz. |
Şu anda mevcut modeller istediğiniz zaman listelenebilir:
curl https://babelmesh.ai/v1/models \ -H "Authorization: Bearer $BABEL_KEY"
Hangi modeli seçeceğinizi bilmiyorsanız auto kullanın. Babel Mesh isteğe bakar: sohbet ve basit sorular hızlı bir modele; kod, bir kod modeline; akıl yürütme, çok uzun materyal, araç çağrıları veya yapılandırılmış çıktı en güçlü modele gider; bir modelin düğümü yoksa ya da kuyruğu uzunsa başka biri kullanılır. Karar yalnızca isteğin kendisini okur (uzunluğu, kod, araç veya yapılandırılmış çıktı şeması içerip içermediği) ve hiçbir şey saklanmaz. X-Gateway-Model yanıt başlığı hangi modelin cevap verdiğini, X-Gateway-Auto ise nedenini söyler. auto yalnızca hesabınızın kullanabileceği modelleri seçer.
Birini adıyla da belirtebilirsiniz: chat-default (hızlı), chat-strong (güçlü), embedding-default (gömme), video-default (video). Görseller için z-image-turbo model adını kullanın (görsel isteklerinde auto da çalışır). Bir takma ad, o an en uygun olana işaret eder; modelin kendi adı da çalışır.
Sohbet
Uç nokta POST /v1/chat/completions; stream: true cevabı akış olarak gönderir.
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'nin Python SDK'sı ile:
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="")Gömmeler
Uç nokta POST /v1/embeddings; input bir dize ya da dize listesidir.
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"]}'Görseller
Uç nokta POST /v1/images/generations; görsel base64 olarak döner (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}'Video
Video dakikalar sürer, bu yüzden eşzamansız bir iştir: gönderin, durumunu sorgulayın, sonra dosyayı alın.
# 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.mp4Her hesabın aynı anda sürdürebileceği video işi sayısı sınırlıdır. Biten bir video bir gün saklanır.
Diğer uygulamalardan kullanma
API OpenAI uyumlu olduğu için Open WebUI, Cherry Studio ve Chatbox gibi sohbet arayüzleriyle ve editörlerdeki yapay zekâ eklentileriyle çalışır. Onu iki ayarla "OpenAI uyumlu" bir sağlayıcı olarak ekleyin:
| Temel URL | https://babelmesh.ai/v1 |
|---|---|
| API anahtarı | Anahtarınız, sk-fab- ile başlar. |
- Bu uygulamalar video iş API'sini (gönder, sorgula, al) bilmez; video için API'yi yukarıdaki gibi doğrudan çağırın.
- Konuşma geçmişi kendi uygulamanızda kalır; Babel Mesh onu saklamaz. İçerik, hesabın veri sınıfına göre işlenir; bu sınıf varsayılan olarak "herkese açık"tır ve katkıda bulunanların bilgisayarlarında çalışabilir: özel veya gizli materyal girmeyin.
- Böyle bir uygulamayı birkaç kişi için dağıtırsanız hepsi tek anahtarın kredilerini ve sınırlarını paylaşır.
İstemcinin yerel arayüzü
Babel Mesh istemcisi kendi bilgisayarınızda da yanıt verebilir; böylece oradaki programlar ağı yerel bir model gibi kullanır. İstemcinin hesap sayfasında "Yerel API"yi açana kadar kapalıdır. Yalnızca bu bilgisayarı dinler (varsayılan port 18650; tam adresi istemci gösterir) ve programlar hesap anahtarınızı değil, istemcinin gösterdiği bir token'ı kullanır.
| OpenAI uyumlu | http://127.0.0.1:18650/v1: sohbet, tamamlama, görsel, video ve model listesi. |
|---|---|
| Ollama uyumlu | http://127.0.0.1:18650: /api/chat, /api/generate, /api/tags, /api/show, /api/ps, /api/version ve /api/embed. |
| Anthropic uyumlu | http://127.0.0.1:18650: POST /v1/messages, Claude Code ve benzeri araçlar için. |
- Ollama'yı olağan portunda, 11434'te bekleyen araçlara orada da hizmet verilir, ancak yalnızca o bilgisayarda Ollama'nın kendisi kurulu ya da çalışır durumda değilse; böylece ikisi asla portu paylaşmak için çekişmez.
- Claude Code, Open WebUI, Continue, Cursor, Cherry Studio, LobeChat ve OpenAI ile Ollama SDK'larıyla çalışır.
- İstekler hesabınız olarak ağa iletilir; bu yüzden krediler her zamanki gibi harcanır ve aynı veri sınıfı geçerlidir.
Başka bir yerden, aynı hesapla
Herkese açık https://babelmesh.ai/v1 adresine hesabınızın anahtarıyla her yerden ulaşılabilir; bu yüzden başka bir bilgisayar, bir sunucu ya da bir telefon uygulaması doğrudan bağlanabilir. Bugün bu adres OpenAI uyumlu API ile konuşur. Başka bir bilgisayardaki Ollama ve Anthropic tarzı araçlar için oraya istemciyi kurun, aynı hesapla giriş yapın ve yukarıdaki gibi yerel arayüzünü kullanın. İstemci gelen port açmaz; bu yüzden yerel arayüzüne diğer makinelerden ulaşılamaz.
Planlanan, tarih yok: herkese açık adreste de Anthropic ve Ollama tarzı uç noktalar.
Hatalar ve sınırlar
400 | İstek hatalı biçimlendirilmiş, ya da mevcut hiçbir modelin alabileceğinden uzun (context_length_exceeded), ya da model bir gömme modeli ve istek bir gömme isteği değil. |
|---|---|
401 | Anahtar yok ya da geçersiz. |
402 | Krediler tükendi ya da bu anahtarın bütçesi tükendi. |
404 | Model adı yanlış, ya da şu anda o modeli sunan bir düğüm yok. |
429 | Hesabın dakika başına istek veya token sınırı aşıldı. Biraz bekleyin. |
503 | Şu anda çok yoğun. Retry-After başlığı kaç saniye beklenmesi gerektiğini söyler. |
Hatalar OpenAI'nin biçimindedir: {"error": {"message": "...", "type": "..."}}. Bakiyeniz ve sınırlarınız: GET /v1/account.