Chat Completions
Nutzen Sie POST /v1/chat/completions im OpenAI-Format und erhalten Sie Antworten im OpenAI-Stil von Claude-Modellen. Mit Python- und Node-Beispielen.
POST /v1/chat/completions akzeptiert die OpenAI-Anfrageform und liefert die OpenAI-Antwortform. Die Modell-ID ist das Einzige, was Sie in Ihrem bisherigen OpenAI-Code austauschen müssen.
Alle Modelle, Funktionen und Preise Dokumentationsindex für KI-Agenten:https://oneprovider.dev/docs/llms.txt Anfrage
httpPOST https://api.oneprovider.dev/v1/chat/completions
Authorization: Bearer sk-...
content-type: application/json
{
"model": "claude-sonnet-5-5",
"messages": [
{ "role": "system", "content": "You are concise." },
{ "role": "user", "content": "Why is the sky blue?" }
],
"max_tokens": 256,
"stream": false
} Antwort
Die Form entspricht OpenAI 1:1 – id, choices[].message, usage.
{
"id": "chatcmpl_01...",
"object": "chat.completion",
"created": 1715472000,
"model": "claude-sonnet-5-5",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "Rayleigh scattering..." },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 48,
"completion_tokens": 92,
"total_tokens": 140
}
} OpenAI SDK (Python)
pythonfrom openai import OpenAI
client = OpenAI(
api_key="<OPENAI_API_KEY>",
base_url="https://api.oneprovider.dev/v1",
)
r = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "Say hi."}],
)
print(r.choices[0].message.content) OpenAI SDK (Node)
tsimport OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: "https://api.oneprovider.dev/v1",
});
const r = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "Say hi." }],
});
console.log(r.choices[0].message?.content); Feld-Zuordnung
| OpenAI-Feld | Verhalten bei OneProvider |
|---|---|
messages | Weitergeleitet; die Rolle system wird in das Anthropic-Feld system verschoben. |
max_tokens | Weitergeleitet. |
temperature, top_p | Weitergeleitet. |
tools, tool_choice | In Anthropic-tools / tool_choice übersetzt – dieselbe Normalisierung wie bei der Tool-Nutzung . |
stream | Weitergeleitet; liefert OpenAI-SSE-Chunks (keine Anthropic-Events). |
response_format | json_object wird über einen System-Hinweis umgesetzt. Der strikte Modus json_schema wird derzeit ignoriert. |
logprobs, top_logprobs | Ignoriert: Die Modelle stellen sie nicht bereit. |
seed | Ignoriert: nicht unterstützt. |
n > 1 | Liefert eine Choice. Rufen Sie den Endpoint N-mal auf, wenn Sie N Varianten brauchen. |
/v1/chat/completions und /v1/messages erreichen dieselben Modelle zum selben Preis. Chat Completions bildet das OpenAI-Format auf das Modell ab; der native Messages-Endpoint spart diesen Schritt. Für neue Projekte empfehlen wir /v1/messages . Für die Migration von OpenAI ist Chat Completions der schnellste Weg. Kurze Antworten
Welche base URL verwende ich?
Claude Code und die Anthropic-SDKs verwenden https://api.oneprovider.dev. OpenAI-SDKs und OpenAI-kompatible Clients verwenden https://api.oneprovider.dev/v1. Ein Schlüssel funktioniert an beiden Adressen; die Modellliste finden Sie auf der Modellseite , die Preise auf der Preisseite .
Wie authentifiziere ich mich?
Senden Sie den unveränderten sk-…-Schlüssel in x-api-key oder Authorization: Bearer: nur eines von beiden, nie beide. Bewahren Sie den Schlüssel in einer Umgebungsvariable auf, nicht in einer Datei, die ins Repository committet wird. Mehr zur Authentifizierung .
Wo bekomme ich einen Schlüssel?
Öffnen Sie Ihr Konto im Telegram-Bot @oneprovider_robot oder auf app.oneprovider.dev, laden Sie das Guthaben auf und tippen Sie auf „Schlüssel ausstellen“. Jeder Schlüssel kann ein eigenes Ausgabenlimit haben. Konto & API-Schlüssel .
Was bedeuten 401, 404 und 429?
401: Der Schlüssel fehlt, ist falsch geschrieben oder steht im falschen Header; fügen Sie den ganzen Schlüssel ohne Anführungszeichen und Leerzeichen ein. 404: meist eine falsche base URL, zum Beispiel ein fehlendes oder doppeltes /v1. 429 mit „Insufficient balance“: Das Guthaben des Kontos oder das Ausgabenlimit des Schlüssels ist aufgebraucht – laden Sie auf, statt es erneut zu versuchen; jedes andere 429 ist ein Rate-Limit, warten Sie dann die Zeit aus Retry-After ab. Details: Fehlercodes und Fehlerbehebung .
Warum brechen Streams ab oder werden zurückgesetzt?
VPN- und VLESS-Proxys puffern SSE oft oder stören die HTTP/2-Aushandlung. OneProvider hat keine regionalen Beschränkungen und puffert keine Streams – schalten Sie den Proxy aus und versuchen Sie es erneut.
Wohin wende ich mich, wenn das nicht reicht?
Schreiben Sie @Oneproviderhelpbot auf Telegram oder öffnen Sie „Support“ im Web-Konto – mit HTTP-Statuscode und genauer Fehlermeldung. So arbeitet der Support .
Zuletzt aktualisiert: 2026-11-08 Fehler gefunden? @Oneproviderhelpbot