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-URLhttps://babelmesh.ai/v1
AuthentifizierungDer 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
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), code-default (Code), 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
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:

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="")

Embeddings

Der Endpunkt ist POST /v1/embeddings; input ist ein String oder eine Liste von Strings.

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"]}'

Bilder

Der Endpunkt ist POST /v1/images/generations; das Bild kommt als Base64 zurück (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}'

Video

Video dauert Minuten, daher ist es ein asynchroner Auftrag: einreichen, den Status abfragen, dann die Datei abrufen.

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

Jedes 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-URLhttps://babelmesh.ai/v1
API-SchlüsselIhr 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.

Fehler und Limits

400Die 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.
401Kein oder ungültiger Schlüssel.
402Credits aufgebraucht, oder das Budget dieses Schlüssels ist aufgebraucht.
404Falscher Modellname, oder kein Knoten stellt dieses Modell gerade bereit.
429Das Anfragen- oder Token-Limit pro Minute des Kontos ist überschritten. Warten Sie einen Moment.
503Gerade 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.