Source: https://aiprimetech.io/de/learn/openai-compatible-claude-api/ [Startseite](/de/) / [Lernen](/de/learn/) / Claude mit dem OpenAI SDK verwenden: OpenAI-kompatibler Endpunkt, Streaming, Tools und Limits # 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-URL | https://aiprimetech.io/v1 | Chat-Endpunkt | POST https://aiprimetech.io/v1/chat/completions | Modellliste | GET https://aiprimetech.io/v1/models | Authentifizierung | Authorization: Bearer ; x-api-key wird ebenfalls akzeptiert | Modelle | Claude-IDs wie claude-sonnet-5; GPT-IDs mit einem Schlüssel aus der Codex-Gruppe ## Python TerminalKopieren ``` pip install openai ``` app.pyKopieren ``` 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.mjsKopieren ``` 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.pyKopieren ``` 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](/de/blog/streaming-api-guide/). ## Funktionsaufrufe tools.pyKopieren ``` 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.pyKopieren ``` 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-5 | Standard für Programmier- und Agentenaufgaben: schnell, leistungsstark, mittleres Preisniveau. | claude-opus-5-5 | Anspruchsvollere Denkaufgaben, umfangreiche Refactorings, lange Agentenläufe. | claude-fable-5-1 | Am leistungsfähigsten und am teuersten; für die schwierigsten Aufgaben reservieren. | claude-haiku-4-5 | Gü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](/de/learn/anthropic-python-sdk/) und die [Anleitung zum Vercel AI SDK](/de/learn/use-claude-api-with-vercel-ai-sdk/) behandeln diesen Weg. ## Fehlerbehebung | Was Sie sehen | Ursache | Lösung | Ein JSON-Parsing-Fehler, die Antwort beginnt mit < | base_url ohne /v1 | https://aiprimetech.io/v1 | 404 page not found | /v1 zweimal | Genau ein /v1 | 401 Invalid API key | Fehlender oder falscher Schlüssel im Prozess | Prüfen Sie die Variable; ein Schlüssel gehört zu einem Gateway | Modell nicht unterstützt | Alte datierte oder falsch geschriebene Modell-ID | Verwenden Sie eine ID aus der obigen Tabelle | 'none' is not supported | reasoning_effort="none" | Verwenden Sie low oder höher, oder lassen Sie die Angabe weg | 429 Concurrency limit exceeded for user | Zu viele gleichzeitig laufende Anfragen | Begrenzen Sie die Parallelität; siehe [Ratenlimits und Wiederholungsversuche](/de/blog/rate-limits-and-retries/) | Timeouts bei langen Antworten | Lange Anfrage ohne Streaming | Verwenden 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](/register) 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üssel](/de/learn/how-to-get-a-claude-api-key/)[Claude-API-Preise erklärt](/de/learn/claude-api-pricing-explained/)[Die günstigste Möglichkeit, die Claude API zu nutzen](/de/learn/cheapest-way-to-use-claude-api/)[Cursor unbegrenzt mit der Claude API nutzen](/learn/use-claude-api-with-cursor/)[Unbegrenzter Zugang zu Claude Code](/de/learn/use-claude-api-with-claude-code/)[Claude API-Gateway vs. direkter Zugang zu Anthropic](/de/learn/claude-api-vs-anthropic-direct/)[Claude-Modelle erklärt: ein Vergleich von Claude Opus, Sonnet, Haiku und Fable — alle Claude-API-Modelle, Anthropic-Modellnamen und Preise (2026)](/de/learn/claude-api-models-compared/)[Die Claude API mit Kryptowährungen bezahlen](/de/learn/claude-api-with-crypto-payment/)[Zugang zur Claude API ohne Warteliste](/de/learn/claude-api-without-waitlist/)[So reduzieren Sie den Token-Verbrauch von Claude](/de/learn/how-to-reduce-claude-token-usage/)[Cline unbegrenzt mit der Claude API nutzen](/de/learn/use-claude-api-with-cline/)[Roo Code unbegrenzt mit der Claude API nutzen](/de/learn/use-claude-api-with-roo-code/)[Claude unbegrenzt in JetBrains-IDEs nutzen](/de/learn/use-claude-api-with-jetbrains/)[Aider mit Claude über ein Gateway: ANTHROPIC_API_BASE, Konfigurationsdateien, Architektenmodus und Fehlerbehebungen](/de/learn/use-claude-api-with-aider/)[Claude unbegrenzt in VS Code nutzen](/de/learn/use-claude-api-with-vscode/)[OpenCode-Konfiguration für Claude: Einrichtung von opencode.json, Modelle und häufige Fehler](/de/learn/use-claude-api-with-opencode/)[Hermes Agent mit Claude über ein Gateway: Einrichtung eines benutzerdefinierten Anbieters, Kostenkontrolle und Fehlerbehebungen](/de/learn/run-hermes-agent-with-claude-api/)[OpenClaw unbegrenzt mit Claude betreiben](/de/learn/run-openclaw-with-claude-api/)[Was eine Anthropic-kompatible API bedeutet](/de/learn/anthropic-compatible-api/)[Claude Code-API-Schlüssel — ANTHROPIC_API_KEY: So erhalten und konfigurieren Sie ihn, und wann Sie stattdessen claude setup-token verwenden sollten](/de/learn/claude-code-api-key-setup/)[Claude Code-API-Kosten — Preise und Möglichkeiten zur Kostensenkung](/de/learn/claude-code-api-costs/)[Claude API-Fehler erklärt: Serverfehler 500, Überlastung 529, Ratenlimit 429, fehlerhafte Anfrage 400 — und die jeweilige Lösung](/de/learn/claude-api-errors-troubleshooting/)[So kaufen Sie Claude API-Guthaben – und warum Claude-Guthaben besser ist als jedes Angebot zum „Kauf eines Claude-Kontos“](/de/learn/buy-claude-api-credits/)[Kostenlose Claude API: Gibt es einen kostenlosen Claude API-Schlüssel, und was ist in 2026 tatsächlich kostenlos?](/de/learn/claude-api-free-trial/)[Claude API vs. Claude Pro/Max-Abonnement — welche Option wählen?](/de/learn/claude-api-vs-subscription/)[Codex CLI mit einem benutzerdefinierten Anbieter: config.toml, GPT- und Claude-Modelle, IDE-Erweiterung und Fehlerbehebungen](/de/learn/use-claude-api-with-codex/)[Claude mit n8n verbinden](/de/learn/use-claude-api-with-n8n/)[LiteLLM-Anfragen an Claude weiterleiten](/de/learn/use-claude-api-with-litellm/)[Claude in Kilo Code verwenden](/de/learn/use-claude-api-with-kilo-code/)[GitHub Copilot Chat mit Claude über ein Gateway: Einrichtung von Custom Endpoint, Agentenmodus und Fehlerbehebungen](/de/learn/use-claude-api-with-github-copilot/)[Zed über das Gateway mit Claude verbinden](/de/learn/use-claude-api-with-zed/)[Cherry Studio mit Claude verbinden](/de/learn/use-claude-api-with-cherry-studio/)[ChatAnthropic in LangChain: Import, base_url, Streaming, Tools und Fehler](/de/learn/use-claude-api-with-langchain/)[Anthropic Python SDK: installieren, base_url setzen, streamen und Fehler behandeln](/de/learn/anthropic-python-sdk/)[Claude mit dem Vercel AI SDK: createAnthropic baseURL, Streaming und Fehlerbehebung](/de/learn/use-claude-api-with-vercel-ai-sdk/)[Factory Droid mit Claude betreiben](/de/learn/use-claude-api-with-factory-droid/)[Die Claude Code API erklärt](/de/learn/claude-code-api/)[Die Claude API in Ihre Anwendung integrieren](/de/learn/claude-api-integration/)[So nutzen Sie Claude unbegrenzt – und warum es kein „gecracktes Claude Code“ gibt](/de/learn/get-unlimited-claude-usage/)