„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:
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:
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ät | Open-Modelle (Llama, Qwen, Mistral) | Spitzenmodelle: Claude, GPT |
| Hardware | Ihre GPU / Ihr RAM | Keine — vollständig gehostet |
| Kosten | Kostenlos (Ihr Strom) | Pay-as-you-go, unter dem Listenpreis |
| Datenschutz | Vollständig offline | In den USA gehostet und an den Modellanbieter weitergeleitet, dessen Aufbewahrungsrichtlinie gilt; kein DPA oder ZDR |
| Multimodal | Begrenzt | Bild, 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:
# 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.