API-Dokumentation
Babel Mesh bietet eine OpenAI-kompatible API. Ändern Sie Basis-URL und Schlüssel, und Ihre vorhandenen Tools und SDKs funktionieren.
Erste Schritte
| Basis-URL | https://babelmesh.ai/v1 |
|---|---|
| Authentifizierung | Der Header Authorization: Bearer IHR_SCHLUESSEL. Schlüssel beginnen mit sk-fab-. |
| Einen Schlüssel erhalten | Öffnen Sie die Kontokonsole, um ein Konto und Schlüssel zu erstellen. Ein Schlüssel wird nur einmal beim Erstellen angezeigt; bewahren Sie ihn auf. Dort können Sie jederzeit Schlüssel erstellen und deaktivieren. |
Die jetzt verfügbaren Modelle lassen sich jederzeit auflisten:
curl https://babelmesh.ai/v1/models \ -H "Authorization: Bearer $BABEL_KEY"
Wenn Sie nicht wissen, welches Modell Sie wählen sollen, nehmen Sie auto. Babel Mesh sieht sich die Anfrage an: Smalltalk und einfache Fragen gehen an ein schnelles Modell; Code an ein Code-Modell; Schlussfolgern, sehr langes Material, Tool-Aufrufe oder strukturierte Ausgabe an das stärkste Modell; und hat ein Modell keinen Knoten oder eine lange Warteschlange, wird ein anderes verwendet. Die Entscheidung liest nur die Anfrage selbst (ihre Länge, ob sie Code, Tools oder ein Schema für strukturierte Ausgabe enthält), und nichts wird gespeichert. Der Antwort-Header X-Gateway-Model nennt das antwortende Modell und X-Gateway-Auto den Grund. auto wählt nur Modelle, die Ihr Konto nutzen darf.
Sie können auch eines benennen: chat-default (schnell), chat-strong (stark), embedding-default (Embeddings), video-default (Video). Für Bilder nehmen Sie das Modell z-image-turbo (auto funktioniert auch für Bildanfragen). Ein Alias verweist auf die aktuell beste Wahl; der eigene Name eines Modells funktioniert ebenfalls.
Chat
Der Endpunkt ist POST /v1/chat/completions; mit stream: true wird die Antwort gestreamt.
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"}]
}'Mit dem Python-SDK von OpenAI:
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="")Embeddings
Der Endpunkt ist POST /v1/embeddings; input ist ein String oder eine Liste von Strings.
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"]}'Bilder
Der Endpunkt ist POST /v1/images/generations; das Bild kommt als Base64 zurück (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 dauert Minuten, daher ist es ein asynchroner Auftrag: einreichen, den Status abfragen, dann die Datei abrufen.
# 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.mp4Jedes Konto kann eine begrenzte Zahl von Videoaufträgen gleichzeitig laufen lassen. Ein fertiges Video wird einen Tag aufbewahrt.
Nutzung in anderen Apps
Da die API OpenAI-kompatibel ist, funktioniert sie mit Chat-Oberflächen wie Open WebUI, Cherry Studio und Chatbox sowie mit KI-Plugins in Editoren. Fügen Sie sie mit zwei Einstellungen als „OpenAI-kompatiblen“ Anbieter hinzu:
| Basis-URL | https://babelmesh.ai/v1 |
|---|---|
| API-Schlüssel | Ihr Schlüssel, beginnend mit sk-fab-. |
- Diese Apps kennen die Video-Auftrags-API nicht (einreichen, abfragen, abrufen); für Video rufen Sie die API wie oben direkt auf.
- Der Gesprächsverlauf bleibt in Ihrer eigenen App; Babel Mesh speichert ihn nicht. Inhalte werden nach der Datenklasse des Kontos behandelt, die standardmäßig „öffentlich“ ist und auf Computern von Beitragenden laufen kann: Geben Sie kein privates oder vertrauliches Material ein.
- Wenn Sie eine solche App für mehrere Personen bereitstellen, teilen sie sich alle die Credits und Limits des einen Schlüssels.
Die lokale Schnittstelle des Clients
Der Babel-Mesh-Client kann auch auf Ihrem eigenen Computer antworten, sodass die dortigen Programme das Netzwerk so nutzen, wie sie ein lokales Modell nutzen würden. Er ist aus, bis Sie auf der Kontoseite des Clients „Lokale API“ einschalten. Er lauscht nur auf diesem Computer (Standardport 18650; der Client zeigt die genaue Adresse), und die Programme verwenden ein Token, das der Client anzeigt, nicht Ihren Kontoschlüssel.
| OpenAI-kompatibel | http://127.0.0.1:18650/v1: Chat, Completions, Bilder, Video und die Modellliste. |
|---|---|
| Ollama-kompatibel | http://127.0.0.1:18650: /api/chat, /api/generate, /api/tags, /api/show, /api/ps, /api/version und /api/embed. |
| Anthropic-kompatibel | http://127.0.0.1:18650: POST /v1/messages, für Claude Code und ähnliche Tools. |
- Tools, die Ollama auf seinem üblichen Port 11434 erwarten, werden dort ebenfalls bedient, aber nur, wenn Ollama selbst auf diesem Computer weder installiert noch gestartet ist, sodass sich beide nie um den Port streiten.
- Funktioniert mit Claude Code, Open WebUI, Continue, Cursor, Cherry Studio, LobeChat und den SDKs von OpenAI und Ollama.
- Die Anfragen gehen als Ihr Konto weiter ins Netzwerk, daher werden Credits wie gewohnt verbraucht und dieselbe Datenklasse gilt.
Von einem anderen Ort, mit demselben Konto
Die öffentliche Adresse https://babelmesh.ai/v1 ist von überall mit dem Schlüssel Ihres Kontos erreichbar, sodass sich ein anderer Computer, ein Server oder eine Handy-App direkt verbinden kann. Heute spricht diese Adresse die OpenAI-kompatible API. Für Tools im Stil von Ollama und Anthropic auf einem anderen Computer installieren Sie dort den Client, melden sich mit demselben Konto an und nutzen seine lokale Schnittstelle wie oben beschrieben. Der Client öffnet keinen eingehenden Port, daher ist seine lokale Schnittstelle von anderen Rechnern aus nicht erreichbar.
Geplant, ohne Termin: Endpunkte im Stil von Anthropic und Ollama auch an der öffentlichen Adresse.
Fehler und Limits
400 | Die Anfrage ist fehlerhaft, oder sie ist länger, als irgendein verfügbares Modell verarbeiten kann (context_length_exceeded), oder das Modell ist ein Embedding-Modell und die Anfrage keine Embedding-Anfrage. |
|---|---|
401 | Kein oder ungültiger Schlüssel. |
402 | Credits aufgebraucht, oder das Budget dieses Schlüssels ist aufgebraucht. |
404 | Falscher Modellname, oder kein Knoten stellt dieses Modell gerade bereit. |
429 | Das Anfragen- oder Token-Limit pro Minute des Kontos ist überschritten. Warten Sie einen Moment. |
503 | Gerade zu viel los. Der Header Retry-After nennt die Wartezeit in Sekunden. |
Fehler haben das Format von OpenAI: {"error": {"message": "...", "type": "..."}}. Ihr Guthaben und Ihre Limits: GET /v1/account.