Zurück zu den Leitfäden
API·1. Juli 2026·Aktualisiert am 4. Oktober 2026·7 Min. Lesezeit

OpenAI-kompatibler API-Leitfaden — von Ollamas lokalem Endpoint bis zu gehosteten Frontier-Modellen

„OpenAI-kompatibel“ bedeutet, dass jedes OpenAI-SDK funktioniert, wenn Sie nur base_url ändern. Ollama stellt einen Endpoint für lokale Modelle bereit, Kunavo einen für gehostete Frontier-Modelle. Hier sehen Sie das Muster und wie Sie zwischen beiden wechseln, ohne den Code neu zu schreiben.

Zuletzt überprüft am .

„OpenAI-kompatibel“ bedeutet, dass eine API dasselbe Wire-Format wie OpenAIs /v1/chat/completions spricht — daher funktioniert jedes OpenAI-SDK und jedes Tool damit, wenn nur base_url geändert wird. Ollama bietet einen OpenAI-kompatiblen Endpunkt für Modelle, die lokal auf Ihrem Rechner laufen. Kunavo bietet einen für gehostete Frontier-Modelle — Claude, GPT sowie Bild-, Video- und Audiomodelle — hinter einem Bearer-Token. Dieser Leitfaden zeigt das Muster und den Wechsel zwischen ihnen, ohne Code neu zu schreiben.

Was „OpenAI-kompatibel“ bedeutet

Das OpenAI-Chat-Completions-Format wurde zum De-facto-Standard: ein messages-Array als Eingabe, eine choices[].message als Ausgabe, Server-Sent Events für Streaming und tools für Function Calling. Jeder Endpunkt, der diesen Vertrag einhält, ist „OpenAI-kompatibel“, und die offiziellen openai-SDKs (Python, Node und alle Community-Portierungen) greifen darauf zu, indem sie base_url setzen.

Das Ollama-Muster (lokal)

Ollama führt Open-Modelle lokal aus und stellt sie unter http://localhost:11434/v1 bereit:

ollama.py
from openai import OpenAI

# Ollama exposes an OpenAI-compatible endpoint on localhost
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")

resp = client.chat.completions.create(
    model="llama3.1",
    messages=[{"role": "user", "content": "Summarize this changelog."}],
)
print(resp.choices[0].message.content)

Derselbe Code, gehostete Frontier-Modelle (Kunavo)

Richten Sie dasselbe SDK auf Kunavo und wählen Sie ein Frontier-Modell. Nur base_url, api_key und model ändern sich — der Aufruf ist Byte für Byte identisch:

kunavo.py
import os
from openai import OpenAI

# Same SDK, same call shape — only base_url, api_key and model change
client = OpenAI(
    base_url="https://api.kunavo.com/v1",
    api_key=os.environ["KUNAVO_API_KEY"],
)

resp = client.chat.completions.create(
    model="claude-sonnet-5",  # or claude-haiku-4-5, gpt-5-5, gpt-5-6-terra...
    messages=[{"role": "user", "content": "Summarize this changelog."}],
)
print(resp.choices[0].message.content)

Holen Sie sich unter /app/keys einen Schlüssel; der Schnellstart enthält Varianten für Node und curl.

Lokal oder gehostet — wann welches verwenden

Ollama (lokal)Kunavo (gehostet)
ModellqualitätOpen-Modelle (Llama, Qwen, Mistral)Spitzenmodelle: Claude, GPT
HardwareIhre GPU / Ihr RAMKeine — vollständig gehostet
KostenKostenlos (Ihr Strom)Pay-as-you-go, unter dem Listenpreis
DatenschutzVollständig offlineIn den USA gehostet und an den Modellanbieter weitergeleitet, dessen Aufbewahrungsrichtlinie gilt; kein DPA oder ZDR
MultimodalBegrenztBild, Video und Audio mit einem Schlüssel

Eine häufige Konfiguration: Ollama auf localhost für die Offline-Entwicklung, Kunavo für gehostete Qualität in der Produktion — eine Umgebungsvariable wechselt zwischen ihnen. Den feldgenauen Vertrag, den beide Seiten implementieren — Parameter, Streaming-Deltas, tool_calls, das usage-Objekt und die Paritätstabelle zur v1-Oberfläche von Ollama — finden Sie in der Referenz zu /v1/chat/completions und ihrem Abschnitt zur Ollama-OpenAI-Kompatibilität.

Modelle zur Laufzeit entdecken

Wie Ollamas /api/tags bietet Kunavo einen OpenAI-förmigen Katalog. Lösen Sie Slugs zur Laufzeit auf, statt sie fest einzuprogrammieren:

models.sh
# Discover every enabled model (OpenAI-shaped, like Ollama's /api/tags)
curl https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer $KUNAVO_API_KEY"

Über Chat hinaus

Derselbe Schlüssel erreicht Bild- (/v1/images/generations), Video- (/v1/video/generations) und Audioendpunkte — alle OpenAI-förmig. Siehe den Leitfaden zu multimodaler KI und den OpenRouter-Vergleich, um zu erfahren, wie sich Kunavo von anderen Gateways unterscheidet.

Eine Oberfläche geht über die übliche Definition von „kompatibel“ hinaus und ist wissenswert: POST /v1/responses. Codex CLI akzeptiert einen benutzerdefinierten Anbieter nur über die Responses API; deshalb können die meisten OpenAI-kompatiblen Gateways es überhaupt nicht ansteuern. Was Codex pro Token kostet zeigt mit einem funktionierenden Konfigurationsblock, wie das gelingt. Um einen GPT-Workload einschließlich gecachtem Input zu bepreisen, akzeptiert der OpenAI-API-Preisrechner Ihre eigenen Tokenzahlen.

Häufig gestellte Fragen

Was ist eine OpenAI-kompatible API?

Eine API, die dasselbe Wire-Format wie OpenAIs /v1/chat/completions spricht — derselbe Anfragekörper, dieselbe Antwortstruktur, dasselbe Streaming. Jedes OpenAI-SDK und jedes Tool funktioniert damit, wenn nur base_url und api_key geändert werden. Ollama bietet eine solche API für lokale Modelle; Kunavo bietet sie für gehostete Frontier-Modelle.

Gibt es wie bei Ollama für lokale Modelle eine OpenAI-kompatible API für gehostete Modelle?

Ja. Ollamas OpenAI-kompatibler Endpunkt führt lokale Modelle auf Ihrem Rechner aus; Kunavos Endpunkt führt gehostete Claude-, GPT- sowie Bild-, Video- und Audiomodelle hinter einer base_url (https://api.kunavo.com/v1) und einem Bearer-Token aus. Der aufrufende Code ist identisch.

Kann ich Ollama lokal behalten und Kunavo in der Produktion verwenden?

Ja — das ist ein übliches Muster. Da beide OpenAI-kompatibel sind, wechseln Sie die Umgebung, indem Sie base_url und Modell austauschen: Ollama auf localhost für die Offline-Entwicklung, Kunavo für gehostete Frontier-Qualität in der Produktion. Keine SDK-Änderung erforderlich.

Welche Modelle kann ich über den OpenAI-kompatiblen Endpunkt aufrufen?

Jedes aktivierte Modell — Claude, GPT und weitere für Chat sowie Bild, Video und Audio über eigene OpenAI-förmige Endpunkte. GET /v1/models gibt die aktuelle Liste zurück; lösen Sie Slugs zur Laufzeit auf, statt sie fest einzuprogrammieren. Durchsuchen Sie den Modellkatalog.

Wie sieht es mit Ratenlimits aus?

Jeder Anbieter misst seine eigenen Obergrenzen; ein 429 bedeutet, dass Sie eine davon überschritten haben. Siehe OpenAI-API-Ratenlimits, um zu erkennen, welches Limit ausgelöst wurde und welcher Backoff es behebt, sowie Claude API 429 rate_limit_error für das Anthropic-Gegenstück.