Chat Completions
/v1/chat/completions — der OpenAI-kompatible Chat-Endpunkt. Die Parameter model, messages, stream, temperature. SSE-Streaming. Anfrage- und Antwortbeispiele in curl, Python (openai) und Node.
Der OpenAI-kompatible Chat-Endpunkt. Funktioniert mit jedem OpenAI SDK – ändern Sie einfach base_url in https://getvibeapi.com/v1.
Parameter des Anfrage-Bodys
GetVibe implementiert einen kompatiblen Chat-Completions-Vertrag, keine bytegenaue Weiterleitung: Der Zugriff wird geprüft, die öffentliche Modell-ID wird aufgelöst, Limits werden angewendet und unterstützte Anfragefelder können normalisiert werden. Auch Antworten und Fehler werden normalisiert und garantieren keine anbieterspezifischen Felder oder Header. Für die meisten Aufgaben genügen die ersten drei – model, messages und stream.
| Parameter | Typ | Beschreibung |
|---|---|---|
modelreq. | string | Ein Modellname aus dem Katalog, beispielsweise gpt-6.1-sol oder claude-opus-5.5. |
messagesreq. | array | Array von Nachrichten { role, content }. Rollen: system, user, assistant. |
stream | boolean | true – die Antwort über SSE streamen. |
max_tokens | integer | Maximale Anzahl von Tokens in der Antwort. Wir empfehlen mindestens 64: Bei einem zu kleinen Wert (z. B. ≤ 16) erreicht das Modell möglicherweise das Limit (finish_reason: length) vor dem ersten sichtbaren Token und gibt eine leere Antwort zurück. Wenn Sie ein kurzes Ergebnis benötigen, fordern Sie dies im Prompt an und lassen Sie bei max_tokens ausreichend Spielraum. |
temperature | number | Zufälligkeit der Ausgabe, 0–2. Standardwert 1. |
| Parameter | Typ | Beschreibung |
|---|---|---|
top_p | numbermodel-dependent | Nucleus-Sampling (0–1). Alternative zu temperature; das gleichzeitige Ändern beider Werte wird nicht empfohlen. |
top_k | numberClaude | Top-K-Sampling. Nur Anthropic-Modelle. |
seed | integerGPT | Fixiert das Ergebnis zur reproduzierbaren Verwendung. GPT-Serie; wird anderswo ignoriert. |
stop | string | arraymodel-dependent | Stop-Sequenz: ein String oder eine Liste mit bis zu 4 Strings. |
frequency_penalty | numberGPT · Claude | Strafe für die Wiederholung von Tokens nach Häufigkeit (-2 bis 2). |
presence_penalty | numberGPT · Claude | Strafe für bereits gesehene Tokens (-2 bis 2). |
logprobs | boolean— | Keine aktuelle Route gibt Log-Wahrscheinlichkeiten zurück: Der Parameter wird vor der Weiterleitung entfernt und im Header x-getvibe-warnings (param_dropped:logprobs) gemeldet; die Anfrage wird nicht abgelehnt. |
top_logprobs | integer— | Zusammen mit logprobs entfernt und in x-getvibe-warnings gemeldet. |
logit_bias | objectGPT | Token-ID → Logit-Bias (-100 bis 100). |
user | stringmodel-dependent | Kennung des Endbenutzers (wird zur Nachverfolgung von Rate-Limits an den Upstream-Dienst übergeben). |
response_format | objectGPT · Claude | Erzwingen Sie die Ausgabe als JSON. Mehr erfahren → |
tools / tool_choice | array / stringGPT · Claude | Funktionsaufrufe. Mehr erfahren → |
Badges in der Spalte „Support“: GPT — nur GPT-Serien, Claude — nur Anthropic-Modelle, GPT · Claude — beide Familien, modellabhängig — prüfen Sie die Dokumentation des jeweiligen Modells.
Parameterunterstützung nach Routenvariante
Dasselbe Modell kann über unterschiedliche Routen bereitgestellt werden (Varianten :1, :2, …). Routen unterscheiden sich in Preis, Geschwindigkeit und der Menge der unterstützten Parameter.
| Parameter | Typ | Beschreibung |
|---|---|---|
Default variant (:1) | basic | Vollständiger OpenAI-Parametersatz: temperature, top_p, seed, stop, penalties, logprobs, tools, response_format, Streaming mit einem usage-Chunk. |
Subscription variants (:2, :3…) | advanced | Der Parametersatz entspricht dem grundlegenden Satz, aber die Route verwendet eine andere Infrastruktur. Einzelne Parameter werden möglicherweise nicht unterstützt – darauf weisen wir in der Variantenbeschreibung hin. |
or-* variants | or-* | Leitet die Anfrage über einen separaten Aggregator weiter. Die Parameterunterstützung hängt vom jeweiligen Anbieter ab. tool_choice: "required" und einige Sampling-Parameter funktionieren möglicherweise nicht. |
:1-Variante (Standard) oder prüfen Sie die Unterstützung in der Variantenbeschreibung auf der Seite Models.Beispielanfrage
curl https://getvibeapi.com/v1/chat/completions \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"messages": [
{"role": "user", "content": "Hello! Who are you?"}
]
}'Beispielantwort
{
"id": "chatcmpl-...",
"object": "chat.completion",
"model": "gpt-6.1-sol",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hi! I'm an assistant available through GetVibe API."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 14,
"total_tokens": 26
}
}Streaming (SSE)
Mit "stream": true wird die Antwort als Stream von Server-Sent Events übertragen: data: …-Events mit Deltas, abschließend mit data: [DONE].
curl https://getvibeapi.com/v1/chat/completions \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"stream": true,
"messages": [{"role": "user", "content": "Count to three"}]
}'Letzter Chunk mit Nutzung
Der letzte Chunk vor data: [DONE] enthält ein leeres choices: [] und ein Feld usage mit Token-Statistiken. Verwenden Sie ihn für die Abrechnung – addieren Sie die Deltas nicht manuell.
data: {"id":"chatcmpl-...","choices":[],"usage":{"prompt_tokens":42,"completion_tokens":87,"total_tokens":129},"model":"gpt-6.1-sol","object":"chat.completion.chunk"}
data: [DONE]Jede Nicht-Stream-Antwort, deren Kosten geschätzt werden können, enthält den Response-Header x-pv-cost-rub. Streaming-Bodies enthalten standardmäßig kein pv_cost_rub; senden Sie x-pv-cost: 1, um die Kosten zum abschließenden Usage-Ereignis dieses Protokolls hinzuzufügen. Dies ist eine bestmögliche Schätzung. Den tatsächlichen Abbuchungsbetrag finden Sie im Anfrageverlauf unter GET /v1/generations.
Kompatibilität
Der Endpunkt ist mit den OpenAI SDKs (Python, Node und weitere), Codex CLI und Claude Code kompatibel. Claude Code funktioniert über /v1/messages mit dem Header x-api-key – siehe Messages and Responses.