Design
Sprache

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.

POSThttps://getvibeapi.com/v1/chat/completions

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.

Grundlegend — funktioniert mit allen Modellen
ParameterTypBeschreibung
modelreq.stringEin Modellname aus dem Katalog, beispielsweise gpt-6.1-sol oder claude-opus-5.5.
messagesreq.arrayArray von Nachrichten { role, content }. Rollen: system, user, assistant.
streambooleantrue – die Antwort über SSE streamen.
max_tokensintegerMaximale 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.
temperaturenumberZufälligkeit der Ausgabe, 0–2. Standardwert 1.
Erweitert — die Unterstützung hängt vom Modell ab
ParameterTypBeschreibung
top_pnumbermodel-dependentNucleus-Sampling (0–1). Alternative zu temperature; das gleichzeitige Ändern beider Werte wird nicht empfohlen.
top_knumberClaudeTop-K-Sampling. Nur Anthropic-Modelle.
seedintegerGPTFixiert das Ergebnis zur reproduzierbaren Verwendung. GPT-Serie; wird anderswo ignoriert.
stopstring | arraymodel-dependentStop-Sequenz: ein String oder eine Liste mit bis zu 4 Strings.
frequency_penaltynumberGPT · ClaudeStrafe für die Wiederholung von Tokens nach Häufigkeit (-2 bis 2).
presence_penaltynumberGPT · ClaudeStrafe für bereits gesehene Tokens (-2 bis 2).
logprobsboolean—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_logprobsinteger—Zusammen mit logprobs entfernt und in x-getvibe-warnings gemeldet.
logit_biasobjectGPTToken-ID → Logit-Bias (-100 bis 100).
userstringmodel-dependentKennung des Endbenutzers (wird zur Nachverfolgung von Rate-Limits an den Upstream-Dienst übergeben).
response_formatobjectGPT · ClaudeErzwingen Sie die Ausgabe als JSON. Mehr erfahren →
tools / tool_choicearray / stringGPT · ClaudeFunktionsaufrufe. 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.

Varianten der Route vergleichen
ParameterTypBeschreibung
Default variant (:1)basicVollständiger OpenAI-Parametersatz: temperature, top_p, seed, stop, penalties, logprobs, tools, response_format, Streaming mit einem usage-Chunk.
Subscription variants (:2, :3…)advancedDer 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-* variantsor-*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.
Ein unbekannter Parameter wird vom Anbieter ignoriert oder gibt 400 zurück. Wenn ein Parameter relevant ist, verwenden Sie die :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.

Chat Completions API von GetVibe — Python- und curl-Beispiele | GetVibe API