Startseite / Lernen / Claude mit dem OpenAI SDK verwenden: OpenAI-kompatibler Endpunkt, Streaming, Tools und Limits
OpenAI SDK + Claude. Zwei einander ergänzende physische Steckerformen verbinden ein Codefenster mit einem anderen — eine klare Metapher für SDK-Kompatibilität.

Claude mit dem OpenAI SDK verwenden: OpenAI-kompatibler Endpunkt, Streaming, Tools und Limits

Für das OpenAI SDK geschriebener Code kann Claude ohne Überarbeitung aufrufen: Richten Sie base_url auf die Gateway-Adresse /v1aus, verwenden Sie einen Gateway-Schlüssel und eine Claude-Modell-ID. Der Endpunkt akzeptiert Chat-Completions-Anfragen, streamt im selben Format und unterstützt Funktionsaufrufe. Einige Claude-Funktionen sind nur im nativen Format von Anthropic verfügbar; der letzte Abschnitt erläutert, wann Sie wechseln sollten.

Eckdaten zum Endpunkt

Eintrag Wert
Basis-URLhttps://aiprimetech.io/v1
Chat-EndpunktPOST https://aiprimetech.io/v1/chat/completions
ModelllisteGET https://aiprimetech.io/v1/models
AuthentifizierungAuthorization: Bearer <key>; x-api-key wird ebenfalls akzeptiert
ModelleClaude-IDs wie claude-sonnet-5; GPT-IDs mit einem Schlüssel aus der Codex-Gruppe

Python

Terminal
pip install openai
app.py
import os
from openai import OpenAI

client = OpenAI(base_url="https://aiprimetech.io/v1", api_key=os.environ["AIPRIME_API_KEY"])

resp = client.chat.completions.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[
        {"role": "system", "content": "You are a concise assistant."},
        {"role": "user", "content": "Explain idempotency keys in two sentences."},
    ],
)
print(resp.choices[0].message.content)
print(resp.usage)

base_url muss enden auf /v1: Das SDK hängt /chat/completions daran an. Ohne /v1 die Anfrage landet auf der Website und liefert HTML zurück; mit /v1 zweimal liefert sie 404 page not found.

Node.js

app.mjs
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://aiprimetech.io/v1", apiKey: process.env.AIPRIME_API_KEY });

const resp = await client.chat.completions.create({
  model: "claude-sonnet-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Write a haiku about retries." }],
});
console.log(resp.choices[0].message.content);

Streaming

stream.py
stream = client.chat.completions.create(
    model="claude-sonnet-5",
    max_tokens=2048,
    stream=True,
    stream_options={"include_usage": True},
    messages=[{"role": "user", "content": "Outline a zero-downtime migration."}],
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
    if chunk.usage:
        print("\n", chunk.usage)

Streamen Sie lange Antworten: Eine Anfrage ohne Streaming muss innerhalb des Timeouts Ihres Clients abgeschlossen sein, ein Stream nicht. include_usage fügt einen abschließenden Chunk mit Token-Anzahlen hinzu. Mehr dazu, warum das wichtig ist, unter LLM-Antworten streamen.

Funktionsaufrufe

tools.py
tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Current weather for a city",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    },
}]

resp = client.chat.completions.create(
    model="claude-sonnet-5", max_tokens=512, tools=tools,
    messages=[{"role": "user", "content": "What is the weather in Paris?"}],
)
call = resp.choices[0].message.tool_calls[0]
print(call.function.name, call.function.arguments)   # get_weather {"city": "Paris"}

Die Antwort enthält finish_reason: "tool_calls" und im OpenAI-Stil tool_calls. Führen Sie die Funktion aus, hängen Sie eine tool Nachricht mit dem Ergebnis und dem passenden tool_call_idan und rufen Sie erneut auf, genau wie bei OpenAI-Modellen.

Reasoning und Thinking

reasoning_effort entspricht der Effort-Einstellung von Claude und akzeptiert low, medium, high, xhigh oder max. Der Wert none wird abgelehnt. Wenn das Modell nachdenkt, wird seine Argumentation in einem separaten reasoning_content Feld neben contentübermittelt, sodass Code, der message.content liest, unverändert weiter funktioniert.

reasoning.py
resp = client.chat.completions.create(
    model="claude-opus-5-5", max_tokens=4096, reasoning_effort="high",
    messages=[{"role": "user", "content": "Find the bug in this function: ..."}],
)

Modelle

Modell-ID Einsatzbereich
claude-sonnet-5Standard für Programmier- und Agentenaufgaben: schnell, leistungsstark, mittleres Preisniveau.
claude-opus-5-5Anspruchsvollere Denkaufgaben, umfangreiche Refactorings, lange Agentenläufe.
claude-fable-5-1Am leistungsfähigsten und am teuersten; für die schwierigsten Aufgaben reservieren.
claude-haiku-4-5Günstig und schnell: Titel, Zusammenfassungen, Klassifizierung, kleine Schritte.

Verwenden Sie diese IDs exakt wie angegeben. Alte datierte IDs wie claude-3-5-sonnet-20241022 erscheinen noch in manchen Modelllisten, werden aber nicht bereitgestellt und führen zu einem Fehler wegen eines nicht unterstützten Modells.

Wann Sie stattdessen die native Anthropic API verwenden sollten

Das OpenAI-Format deckt Chat, Streaming, Tools und Bilder ab. Verwenden Sie am selben Gateway das eigene Messages-Format von Anthropic, wenn Sie explizite Prompt-Cache-Haltepunkte, Thinking-Blöcke, die Sie zwischen Gesprächsrunden zurückgeben, PDF-Dokumente oder Quellenangaben benötigen. Die Leitfaden zum Anthropic Python SDK und die Anleitung zum Vercel AI SDK behandeln diesen Weg.

Fehlerbehebung

Was Sie sehen Ursache Lösung
Ein JSON-Parsing-Fehler, die Antwort beginnt mit <base_url ohne /v1https://aiprimetech.io/v1
404 page not found/v1 zweimalGenau ein /v1
401 Invalid API keyFehlender oder falscher Schlüssel im ProzessPrüfen Sie die Variable; ein Schlüssel gehört zu einem Gateway
Modell nicht unterstütztAlte datierte oder falsch geschriebene Modell-IDVerwenden Sie eine ID aus der obigen Tabelle
'none' is not supportedreasoning_effort="none"Verwenden Sie low oder höher, oder lassen Sie die Angabe weg
429 Concurrency limit exceeded for userZu viele gleichzeitig laufende AnfragenBegrenzen Sie die Parallelität; siehe Ratenlimits und Wiederholungsversuche
Timeouts bei langen AntwortenLange Anfrage ohne StreamingVerwenden Sie Streaming oder erhöhen Sie den Client-Timeout

Häufig gestellte Fragen

Kann ich Claude mit dem OpenAI SDK verwenden?
Ja, über einen OpenAI-kompatiblen Endpunkt: Setzen Sie base_url auf die /v1-Adresse des Gateways und verwenden Sie einen Gateway-API-Schlüssel sowie eine Claude-Modell-ID wie claude-sonnet-5. Streaming und Funktionsaufrufe funktionieren im OpenAI-Format.
Welche Basis-URL verwende ich für Claude im OpenAI SDK?
Die Gateway-URL mit der Endung /v1, z. B. https://aiprimetech.io/v1. Das SDK hängt /chat/completions an.
Funktionieren Funktionsaufrufe mit Claude über das OpenAI-Format?
Ja. Übergeben Sie tools im OpenAI-Format; Claude gibt tool_calls mit finish_reason tool_calls zurück, und Sie antworten wie gewohnt mit tool-Nachrichten.
Wann sollte ich stattdessen die native Anthropic API verwenden?
Wenn Sie explizites Prompt-Caching, Thinking-Blöcke über mehrere Gesprächsrunden hinweg, PDF-Eingaben oder Quellenangaben benötigen. Diese gehören zum Messages-Format von Anthropic.
Claude in wenigen Minuten nutzen

Holen Sie sich einen API-Schlüssel – ohne Anthropic-Konto oder Warteliste.

API-Schlüssel erhalten

AI Prime Tech ist ein unabhängiges API-Gateway. Es ist weder mit Anthropic verbunden noch von Anthropic empfohlen und auch kein Wiederverkäufer von Anthropic. Claude und zugehörige Modellnamen sind Marken ihrer jeweiligen Inhaber.

Weitere Anleitungen zur Claude API

So erhalten Sie einen Claude API-SchlüsselClaude-API-Preise erklärtDie günstigste Möglichkeit, die Claude API zu nutzenCursor unbegrenzt mit der Claude API nutzenUnbegrenzter Zugang zu Claude CodeClaude API-Gateway vs. direkter Zugang zu AnthropicClaude-Modelle erklärt: ein Vergleich von Claude Opus, Sonnet, Haiku und Fable — alle Claude-API-Modelle, Anthropic-Modellnamen und Preise (2026)Die Claude API mit Kryptowährungen bezahlenZugang zur Claude API ohne WartelisteSo reduzieren Sie den Token-Verbrauch von ClaudeCline unbegrenzt mit der Claude API nutzenRoo Code unbegrenzt mit der Claude API nutzenClaude unbegrenzt in JetBrains-IDEs nutzenAider mit Claude über ein Gateway: ANTHROPIC_API_BASE, Konfigurationsdateien, Architektenmodus und FehlerbehebungenClaude unbegrenzt in VS Code nutzenOpenCode-Konfiguration für Claude: Einrichtung von opencode.json, Modelle und häufige FehlerHermes Agent mit Claude über ein Gateway: Einrichtung eines benutzerdefinierten Anbieters, Kostenkontrolle und FehlerbehebungenOpenClaw unbegrenzt mit Claude betreibenWas eine Anthropic-kompatible API bedeutetClaude Code-API-Schlüssel — ANTHROPIC_API_KEY: So erhalten und konfigurieren Sie ihn, und wann Sie stattdessen claude setup-token verwenden solltenClaude Code-API-Kosten — Preise und Möglichkeiten zur KostensenkungClaude API-Fehler erklärt: Serverfehler 500, Überlastung 529, Ratenlimit 429, fehlerhafte Anfrage 400 — und die jeweilige LösungSo kaufen Sie Claude API-Guthaben – und warum Claude-Guthaben besser ist als jedes Angebot zum „Kauf eines Claude-Kontos“Kostenlose Claude API: Gibt es einen kostenlosen Claude API-Schlüssel, und was ist in 2026 tatsächlich kostenlos?Claude API vs. Claude Pro/Max-Abonnement — welche Option wählen?Codex CLI mit einem benutzerdefinierten Anbieter: config.toml, GPT- und Claude-Modelle, IDE-Erweiterung und FehlerbehebungenClaude mit n8n verbindenLiteLLM-Anfragen an Claude weiterleitenClaude in Kilo Code verwendenGitHub Copilot Chat mit Claude über ein Gateway: Einrichtung von Custom Endpoint, Agentenmodus und FehlerbehebungenZed über das Gateway mit Claude verbindenCherry Studio mit Claude verbindenChatAnthropic in LangChain: Import, base_url, Streaming, Tools und FehlerAnthropic Python SDK: installieren, base_url setzen, streamen und Fehler behandelnClaude mit dem Vercel AI SDK: createAnthropic baseURL, Streaming und FehlerbehebungFactory Droid mit Claude betreibenDie Claude Code API erklärtDie Claude API in Ihre Anwendung integrierenSo nutzen Sie Claude unbegrenzt – und warum es kein „gecracktes Claude Code“ gibt

Weitere Claude API Guides

Was eine Anthropic-kompatible API bedeutetAnthropic Python SDK: installieren, base_url setzen, streamen und Fehler behandelnSo kaufen Sie Claude API-GuthabenDie günstigste Möglichkeit, die Claude API zu nutzenClaude API-Fehler erklärt: Serverfehler 500, Überlastung 529, Ratenlimit 429, fehlerhafte Anfrage 400 — und die jeweilige LösungKostenlose Claude API: Gibt es einen kostenlosen Claude API-Schlüssel, und was ist in 2026 tatsächlich kostenlos?Die Claude API in Ihre Anwendung integrierenClaude-Modelle erklärt: ein Vergleich von Claude Opus, Sonnet, Haiku und Fable — alle Claude-API-Modelle, Anthropic-Modellnamen und Preise (2026)Claude-API-Preise erklärtClaude API-Gateway vs. direkter Zugang zu AnthropicClaude API vs. Claude Pro/Max-Abonnement — welche Option wählen?Die Claude API mit Kryptowährungen bezahlenZugang zur Claude API ohne WartelisteDie Claude Code API erklärtClaude Code-API-Kosten — Preise und Möglichkeiten zur KostensenkungClaude Code-API-Schlüssel — ANTHROPIC_API_KEY: So erhalten und konfigurieren Sie ihn, und wann Sie stattdessen claude setup-token verwenden solltenSo erhalten Sie unbegrenzte Claude-NutzungSo erhalten Sie einen Claude-API-SchlüsselSo reduzieren Sie den Token-Verbrauch von ClaudeHermes Agent mit Claude über ein Gateway: Einrichtung eines benutzerdefinierten Anbieters, Kostenkontrolle und FehlerbehebungenOpenClaw unbegrenzt mit Claude betreibenWas unbegrenzter Zugriff auf die Claude API bedeutetSo erhalten Sie einen unbegrenzten Claude API-SchlüsselUnbegrenzte Nutzung von Claude Code — ohne Token-LimitsUnbegrenzter Zugang zu Claude Opus 4.8Unbegrenzte Claude-Nutzung — Tarife und PreiseAider mit Claude über ein Gateway: ANTHROPIC_API_BASE, Konfigurationsdateien, Architektenmodus und FehlerbehebungenCherry Studio mit Claude verbindenUnbegrenzter Zugang zu Claude CodeCline unbegrenzt mit der Claude API nutzenCodex CLI mit einem benutzerdefinierten Anbieter: config.toml, GPT- und Claude-Modelle, IDE-Erweiterung und FehlerbehebungenCursor mit unbegrenztem Claude-Zugang nutzenFactory Droid mit Claude betreibenGitHub Copilot Chat mit Claude über ein Gateway: Einrichtung von Custom Endpoint, Agentenmodus und FehlerbehebungenClaude unbegrenzt in JetBrains-IDEs nutzenClaude in Kilo Code verwendenChatAnthropic in LangChain: Import, base_url, Streaming, Tools und FehlerLiteLLM-Anfragen an Claude weiterleitenClaude mit n8n verbindenOpenCode-Konfiguration für Claude: Einrichtung von opencode.json, Modelle und häufige FehlerRoo Code unbegrenzt mit der Claude API nutzenClaude mit dem Vercel AI SDK: createAnthropic baseURL, Streaming und FehlerbehebungClaude unbegrenzt in VS Code nutzenZed über das Gateway mit Claude verbinden