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ü), code-default (kod), 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.
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.