Wir verwenden Cookies. Cookies und Browserspeicher halten Sie angemeldet und merken sich Ihre Einstellungen. Mit Ihrer Zustimmung messen wir außerdem, wie die Website genutzt wird. Sie können jederzeit . Siehe unsere Cookie-Richtlinie.

Chat Completions

Endpunkte

Chat Completions

POST /chat/completions im OpenAI-Chat-Format für jedes Textmodell: Parameter, Antwortformat, Nachrichtenrollen, Nutzung, Kosten und Fehlercodes.

Im Playground testen

Der Chat-Completions-Endpunkt verwendet das OpenAI-Chat-Format und funktioniert mit jedem Textmodell im Katalog: GPT, Claude, Gemini, Llama, DeepSeek, Mistral und Hunderten mehr. Der Request-Body geht unverändert an den Upstream-Anbieter. api14 prüft nur Ihren Schlüssel, das Modell, Ihre Limits und Ihr Guthaben und erfasst dann die Nutzung, wenn der Request abgeschlossen ist.

POST https://api14.com/api/v1/chat/completions
Authorization: Bearer sk-api14-...
Content-Type: application/json

Request

ParameterTypBeschreibung
modelstring, erforderlichModell-ID, z. B. anthropic/claude-sonnet-4.5. Varianten wie :online oder :nitro sind erlaubt. Siehe Modell-IDs.
messagesarray, erforderlichKonversation als { role, content }-Objekte. Rollen: system, developer, user, assistant, tool.
modelsstring[]Fallback-Modelle, die der Reihe nach versucht werden, falls das erste fehlschlägt. Siehe Provider-Routing.
streambooleanTokens als Server-Sent Events streamen. Siehe Streaming.
max_tokens / max_completion_tokensintegerObergrenze für generierte Tokens.
temperaturenumberSampling-Temperatur, meist 0–2.
top_p, top_k, min_p, top_anumberWeitere Sampling-Einstellungen. Modelle, die sie nicht unterstützen, ignorieren sie.
frequency_penalty, presence_penalty, repetition_penaltynumberSteuerung von Wiederholungen.
stopstring | string[]Stoppsequenzen.
seedintegerMöglichst deterministisches Sampling.
logprobs, top_logprobsboolean, integerGibt Token-Log-Wahrscheinlichkeiten zurück, sofern das Modell sie unterstützt.
tools, tool_choice, parallel_tool_callsFunction Calling. Siehe Tool Calling.
response_formatobjectJSON-Modus oder JSON-Schema-Ausgabe. Siehe Structured Outputs.
reasoning, include_reasoningobject, booleanSteuerung des Denkens. Siehe Reasoning.
plugins, web_search_optionsWebsuche. Siehe Websuche.
providerobjectPräferenzen für Upstream-Anbieter. Siehe Provider-Routing.
modalitiesstring[]z. B. ["image", "text"] für Bildausgabe oder ["text", "audio"] für Audioausgabe.
predictionobjectVorhergesagte Ausgabe ({ type: "content", content }), um die Latenz bei Bearbeitungen zu senken.
transformsstring[]z. B. ["middle-out"], um Prompts zu komprimieren, die das Kontextfenster überschreiten.
userstringIhre eigene Kennung für den Endnutzer.

Das content einer Nachricht kann ein String oder ein Array von Content-Parts (text, image_url, file, input_audio) sein. Siehe Vision & Dateien.

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ]
});
console.log(result.choices[0].message.content);

Response

{
  "id": "gen-1760000000-abc123",
  "object": "chat.completion",
  "created": 1760000000,
  "model": "anthropic/claude-sonnet-4.5",
  "provider": "Anthropic",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": { "role": "assistant", "content": "Hello! How can I help you today?" }
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 9,
    "total_tokens": 21,
    "prompt_tokens_details": { "cached_tokens": 0 },
    "completion_tokens_details": { "reasoning_tokens": 0 },
    "cost": 0.000171
  }
}

usage.cost sind die Kosten des Requests in USD. api14 bucht sie nach Abschluss des Requests von Ihrem Guthaben ab. Die id ist die Generation-ID, die Sie später mit der Generation-Abfrage nachschlagen können.

Hinweise zur Abrechnung

  • Sie zahlen den gelisteten Preis des Modells; die Belastung wird in usage.cost zurückgegeben. Siehe Preise & Abrechnung.
  • Fehlgeschlagene Requests (jeder 4xx- oder 5xx-Status) werden nicht berechnet.
  • Enthält der Request models: [...], muss jedes Fallback-Modell für Ihren Schlüssel und Plan freigegeben sein, sonst lehnt das Gateway den Request ab, bevor er an den Upstream geht.

Fehler

StatusCodeWann
400model_requiredmodel fehlt.
400invalid_jsonDer Body ist kein JSON-Objekt.
401invalid_api_keyDer Schlüssel fehlt, ist ungültig oder widerrufen.
402insufficient_balanceIhr USD-Guthaben beträgt $0.
403model_not_allowed / plan_requiredDie Allowlist Ihres Schlüssels oder Ihr Plan deckt dieses Modell nicht ab.
404model_not_foundUnbekannte oder deaktivierte Modell-ID.
413payload_too_largeDer Request-Body ist größer als 25 MB.
429rate_limited / daily_limit_reachedDas RPM-Limit oder das tägliche USD-Limit des Schlüssels wurde erreicht.
502upstream_unavailableDer Upstream-Anbieter war nicht erreichbar.

Upstream-Fehler wie eine Überschreitung der Kontextlänge oder Content-Moderation kommen mit ihrem ursprünglichen Statuscode und demselben Fehlerformat zurück. Siehe Fehler.