---
title: OpenAI-SDK-Kompatibilität
url: https://platform.claude.com/docs/de/cli-sdks-libraries/libraries/openai-sdk
description: Anthropic stellt eine Kompatibilitätsschicht bereit, mit der du das OpenAI SDK verwenden kannst, um die Claude API zu testen. Mit wenigen Codeänderungen kannst du die Fähigkeiten der Anthropic-Modelle schnell evaluieren.
---

<Note>
  Diese Kompatibilitätsschicht ist in erster Linie dazu gedacht, Modellfähigkeiten zu testen und zu vergleichen, und gilt für die meisten Anwendungsfälle nicht als langfristige oder produktionsreife Lösung. Sie soll zwar voll funktionsfähig bleiben und keine Breaking Changes erhalten, die Priorität liegt jedoch auf der Zuverlässigkeit und Effektivität der [Claude API](https://platform.claude.com/docs/de/api/overview).

  Weitere Informationen zu bekannten Kompatibilitätseinschränkungen findest du unter [Wichtige Einschränkungen der OpenAI-Kompatibilität](https://platform.claude.com/docs/de/cli-sdks-libraries/libraries/openai-sdk#important-openai-compatibility-limitations).

  Wenn du auf Probleme mit der OpenAI-SDK-Kompatibilitätsfunktion stößt, teile uns dein Feedback bitte über dieses [Kompatibilitäts-Feedbackformular](https://forms.gle/oQV4McQNiuuNbz9n8) mit.
</Note>

<Tip>
  Für das beste Erlebnis und Zugriff auf den vollen Funktionsumfang der Claude API ([PDF-Verarbeitung](https://platform.claude.com/docs/de/build-with-claude/pdf-support), [Zitate](https://platform.claude.com/docs/de/build-with-claude/citations), [Nachdenken](https://platform.claude.com/docs/de/build-with-claude/thinking) und [Prompt-Caching](https://platform.claude.com/docs/de/build-with-claude/prompt-caching)) verwende die native [Claude API](https://platform.claude.com/docs/de/api/overview).
</Tip>

## Erste Schritte mit dem OpenAI SDK

Um die OpenAI-SDK-Kompatibilitätsfunktion zu nutzen, musst du:

1. Ein offizielles OpenAI SDK verwenden

2. Folgendes ändern

   * Aktualisiere deine Base-URL, sodass sie auf die Claude API zeigt
   * Ersetze deinen API-Key durch einen [Claude API-Key](https://platform.claude.com/settings/keys)
   * Wenn dein Key ein [persönlicher Key oder ein Service-Account-Key](https://platform.claude.com/docs/de/manage-claude/authentication#key-types) mit Zugriff auf mehrere Workspaces ist, sende zusätzlich bei jeder Anfrage den Header `anthropic-workspace-id` (zum Beispiel `default_headers` im Python SDK oder `defaultHeaders` in TypeScript); siehe [Einen Workspace auswählen](https://platform.claude.com/docs/de/manage-claude/authentication#select-a-workspace)
   * Aktualisiere deinen Modellnamen, sodass ein [Claude-Modell](https://platform.claude.com/docs/de/models/overview) verwendet wird

3. Die folgenden Abschnitte durchsehen, um zu erfahren, welche Funktionen unterstützt werden

### Schnellstart-Beispiel

<CodeGroup exclude="shell, php">
  ```python Python
  import os

  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ.get("ANTHROPIC_API_KEY"),  # Your Claude API key
      base_url="https://api.anthropic.com/v1/",  # the Claude API endpoint
  )

  response = client.chat.completions.create(
      model="claude-opus-5-5",  # Claude model name
      messages=[
          {"role": "system", "content": "You are a helpful assistant."},
          {"role": "user", "content": "Who are you?"},
      ],
  )

  print(response.choices[0].message.content)
  ```

  ```typescript TypeScript
  import OpenAI from "openai";

  const openai = new OpenAI({
    apiKey: process.env.ANTHROPIC_API_KEY, // Your Claude API key
    baseURL: "https://api.anthropic.com/v1/" // Claude API endpoint
  });

  const response = await openai.chat.completions.create({
    messages: [
      { role: "system", content: "You are a helpful assistant." },
      { role: "user", content: "Who are you?" }
    ],
    model: "claude-opus-5-5" // Claude model name
  });

  console.log(response.choices[0].message.content);
  ```

  ```csharp C#
  using System.ClientModel;
  using OpenAI;
  using OpenAI.Chat;

  ChatClient chatClient = new(
      model: "claude-opus-5-5", // Claude model name
      credential: new ApiKeyCredential(
          Environment.GetEnvironmentVariable("ANTHROPIC_API_KEY")), // Your Claude API key
      options: new OpenAIClientOptions()
      {
          Endpoint = new Uri("https://api.anthropic.com/v1/") // the Claude API endpoint
      });

  ChatCompletion completion = chatClient.CompleteChat(
      new SystemChatMessage("You are a helpful assistant."),
      new UserChatMessage("Who are you?"));

  Console.WriteLine(completion.Content[0].Text);
  ```

  ```go Go
  package main

  import (
  	"context"
  	"fmt"
  	"os"

  	"github.com/openai/openai-go/v3"
  	"github.com/openai/openai-go/v3/option"
  )

  func main() {
  	client := openai.NewClient(
  		option.WithAPIKey(os.Getenv("ANTHROPIC_API_KEY")),   // Your Claude API key
  		option.WithBaseURL("https://api.anthropic.com/v1/"), // the Claude API endpoint
  	)

  	response, err := client.Chat.Completions.New(context.Background(), openai.ChatCompletionNewParams{
  		Model: "claude-opus-5-5", // Claude model name
  		Messages: []openai.ChatCompletionMessageParamUnion{
  			openai.SystemMessage("You are a helpful assistant."),
  			openai.UserMessage("Who are you?"),
  		},
  	})
  	if err != nil {
  		panic(err)
  	}

  	fmt.Println(response.Choices[0].Message.Content)
  }
  ```

  ```java Java
  import com.openai.client.OpenAIClient;
  import com.openai.client.okhttp.OpenAIOkHttpClient;
  import com.openai.models.chat.completions.ChatCompletion;
  import com.openai.models.chat.completions.ChatCompletionCreateParams;

  public class QuickStart {
      public static void main(String[] args) {
          OpenAIClient client = OpenAIOkHttpClient.builder()
                  .apiKey(System.getenv("ANTHROPIC_API_KEY")) // Your Claude API key
                  .baseUrl("https://api.anthropic.com/v1/") // the Claude API endpoint
                  .build();

          ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
                  .model("claude-opus-5-5") // Claude model name
                  .addSystemMessage("You are a helpful assistant.")
                  .addUserMessage("Who are you?")
                  .build();

          ChatCompletion completion = client.chat().completions().create(params);
          System.out.println(completion.choices().get(0).message().content().orElse(""));
      }
  }
  ```

  <CodeGroupItem language="PHP">
    OpenAI hat kein offizielles PHP SDK. Um Claude aus PHP heraus zu verwenden, nutze stattdessen das [Claude SDK für PHP](https://platform.claude.com/docs/de/cli-sdks-libraries/sdks/php).
  </CodeGroupItem>

  ```ruby Ruby
  require "openai"

  openai = OpenAI::Client.new(
    api_key: ENV["ANTHROPIC_API_KEY"], # Your Claude API key
    base_url: "https://api.anthropic.com/v1/" # the Claude API endpoint
  )

  response = openai.chat.completions.create(
    model: "claude-opus-5-5", # Claude model name
    messages: [
      {role: "system", content: "You are a helpful assistant."},
      {role: "user", content: "Who are you?"}
    ]
  )

  puts response.choices.first.message.content
  ```
</CodeGroup>

## Wichtige Einschränkungen der OpenAI-Kompatibilität

### API-Verhalten

Hier sind die wesentlichsten Unterschiede zur Verwendung von OpenAI:

* Der Parameter `strict` für Function Calling wird ignoriert, was bedeutet, dass das JSON der Tool-Nutzung nicht garantiert dem übergebenen Schema folgt. Für garantierte Schemakonformität verwende die native [Claude API mit Structured Outputs](https://platform.claude.com/docs/de/build-with-claude/structured-outputs).
* Audio-Eingaben werden nicht unterstützt; sie werden ignoriert und aus der Eingabe entfernt
* Prompt-Caching wird nicht unterstützt, ist aber in den [Anthropic SDKs](https://platform.claude.com/docs/de/cli-sdks-libraries/overview) verfügbar
* System-/Developer-Nachrichten werden an den Anfang verschoben und im Top-Level-Feld `system` zusammengefügt, unabhängig davon, wo sie in der Konversation erscheinen. Um Systemanweisungen mitten in einer Konversation hinzuzufügen, verwende [System-Nachrichten mitten in der Konversation](https://platform.claude.com/docs/de/build-with-claude/mid-conversation-system-messages) in der nativen Claude API.

Die meisten nicht unterstützten Felder werden stillschweigend ignoriert, anstatt Fehler zu erzeugen. Sie sind alle in den folgenden Abschnitten dokumentiert.

### Überlegungen zur Ausgabequalität

Wenn du viel an deinem Prompt gefeilt hast, ist er wahrscheinlich speziell auf OpenAI abgestimmt. Erwäge, ihn mithilfe des [Leitfadens zu Best Practices beim Prompting](https://platform.claude.com/docs/de/build-with-claude/prompt-engineering/claude-prompting-best-practices) für Claude zu überarbeiten.

### Verschieben von System-/Developer-Nachrichten an den Anfang

Die meisten Eingaben des OpenAI SDK lassen sich eindeutig direkt auf die API-Parameter von Anthropic abbilden, ein deutlicher Unterschied ist jedoch die Behandlung von System-/Developer-Prompts. Diese beiden Prompts können bei OpenAI an beliebiger Stelle in einer Chat-Konversation platziert werden. Die Kompatibilitätsschicht nimmt alle System-/Developer-Nachrichten und fügt sie mit einem einzelnen Zeilenumbruch (`\n`) dazwischen zusammen. Dieser vollständige String wird dann als Top-Level-Feld `system` vor allen Nachrichten übergeben.

### Unterstützung für Nachdenken

Du kannst [Nachdenken](https://platform.claude.com/docs/de/build-with-claude/thinking) aktivieren, indem du den Parameter `thinking` hinzufügst. Bei aktuellen Modellen ist das Nachdenken adaptiv, wobei Claude bestimmt, wann und wie tief nachgedacht wird, und bei Claude-5-Modellen ist es standardmäßig aktiviert; manuell konfiguriertes erweitertes Nachdenken ist ein veralteter Modus. Obwohl Nachdenken Claudes Schlussfolgerungen bei komplexen Aufgaben verbessert, gibt das OpenAI SDK Claudes Nachdenken nicht zurück. Für den vollen Funktionsumfang des Nachdenkens, einschließlich des [zusammengefassten Nachdenkens](https://platform.claude.com/docs/de/build-with-claude/thinking#summarized-thinking), verwende die native Claude API.

<CodeGroup exclude="shell, php">
  ```python Python
  response = client.chat.completions.create(
      model="claude-sonnet-4-6",
      messages=[{"role": "user", "content": "Who are you?"}],
      extra_body={"thinking": {"type": "enabled", "budget_tokens": 2000}},
  )
  ```

  ```typescript TypeScript
  const response = await openai.chat.completions.create({
    messages: [{ role: "user", content: "Who are you?" }],
    model: "claude-sonnet-4-6",
    // @ts-expect-error
    thinking: { type: "enabled", budget_tokens: 2000 }
  });
  ```

  ```csharp C#
  // Das .NET SDK hat keinen extra_body-Parameter wie Python, daher sendet dieses Beispiel
  // den thinking-Parameter mit der dokumentierten Protokollmethode des SDK
  // (ein roher JSON-Request-Body).
  BinaryData input = BinaryData.FromString("""
      {
        "model": "claude-sonnet-4-6",
        "messages": [{ "role": "user", "content": "Who are you?" }],
        "thinking": { "type": "enabled", "budget_tokens": 2000 }
      }
      """);

  using BinaryContent content = BinaryContent.Create(input);
  ClientResult result = chatClient.CompleteChat(content);
  ```

  ```go Go
  response, err := client.Chat.Completions.New(
  	context.Background(),
  	openai.ChatCompletionNewParams{
  		Model: "claude-sonnet-4-6",
  		Messages: []openai.ChatCompletionMessageParamUnion{
  			openai.UserMessage("Who are you?"),
  		},
  	},
  	option.WithJSONSet("thinking", map[string]any{"type": "enabled", "budget_tokens": 2000}),
  )
  ```

  ```java Java
  ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
          .model("claude-sonnet-4-6")
          .addUserMessage("Who are you?")
          .putAdditionalBodyProperty("thinking",
                  JsonValue.from(Map.of("type", "enabled", "budget_tokens", 2000)))
          .build();

  ChatCompletion completion = client.chat().completions().create(params);
  ```

  <CodeGroupItem language="PHP">
    OpenAI hat kein offizielles PHP SDK. Um Claude aus PHP heraus zu verwenden, nutze stattdessen das [Claude SDK für PHP](https://platform.claude.com/docs/de/cli-sdks-libraries/sdks/php).
  </CodeGroupItem>

  ```ruby Ruby
  response = openai.chat.completions.create(
    model: "claude-sonnet-4-6",
    messages: [{role: "user", content: "Who are you?"}],
    request_options: {extra_body: {thinking: {type: "enabled", budget_tokens: 2000}}}
  )
  ```
</CodeGroup>

## Ratenlimits

Ratenlimits folgen den [Standardlimits](https://platform.claude.com/docs/de/api/rate-limits) von Anthropic für den Endpunkt `/v1/messages`.

## Detaillierte Unterstützung der OpenAI-kompatiblen API

### Anfragefelder

#### Einfache Felder

| Feld                    | Unterstützungsstatus                                                                                                                                                                                                                                                                                                                                                                                                        |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `model`                 | Verwende Claude-Modellnamen                                                                                                                                                                                                                                                                                                                                                                                                 |
| `max_tokens`            | Vollständig unterstützt                                                                                                                                                                                                                                                                                                                                                                                                     |
| `max_completion_tokens` | Vollständig unterstützt                                                                                                                                                                                                                                                                                                                                                                                                     |
| `stream`                | Vollständig unterstützt                                                                                                                                                                                                                                                                                                                                                                                                     |
| `stream_options`        | Vollständig unterstützt                                                                                                                                                                                                                                                                                                                                                                                                     |
| `top_p`                 | Wird an das Modell weitergegeben. Claude 4.7 und neuere Modelle sowie Claude Mythos Preview geben bei jedem anderen Wert als `0.99`, dem Standardwert, einen 400-Fehler zurück, also lass ihn weg. Eine Anfrage, die sowohl `temperature` als auch `top_p` setzt, gibt ebenfalls einen 400-Fehler zurück. Siehe [Verwendung der Messages API](https://platform.claude.com/docs/de/build-with-claude/working-with-messages). |
| `parallel_tool_calls`   | Vollständig unterstützt                                                                                                                                                                                                                                                                                                                                                                                                     |
| `stop`                  | Alle Stop-Sequenzen ohne Leerraumzeichen funktionieren                                                                                                                                                                                                                                                                                                                                                                      |
| `temperature`           | Zwischen 0 und 1 (einschließlich). Werte größer als 1 werden auf 1 begrenzt. Bei Claude 4.7 und neueren Modellen sowie Claude Mythos Preview gibt jeder Wert unter 1 einen 400-Fehler zurück, also lass ihn weg. Siehe [Verwendung der Messages API](https://platform.claude.com/docs/de/build-with-claude/working-with-messages).                                                                                          |
| `n`                     | Muss genau 1 sein                                                                                                                                                                                                                                                                                                                                                                                                           |
| `logprobs`              | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `metadata`              | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `response_format`       | Ignoriert. Für JSON-Ausgabe verwende [Structured Outputs](https://platform.claude.com/docs/de/build-with-claude/structured-outputs) mit der nativen Claude API                                                                                                                                                                                                                                                              |
| `prediction`            | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `presence_penalty`      | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `frequency_penalty`     | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `seed`                  | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `service_tier`          | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `audio`                 | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `logit_bias`            | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `store`                 | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `user`                  | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `modalities`            | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `top_logprobs`          | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `reasoning_effort`      | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                   |

#### `tools`- / `functions`-Felder

<Accordion title="Felder anzeigen">
  <Tabs>
    <Tab title="Tools">
      `tools[n].function`-Felder

      | Feld          | Unterstützungsstatus                                                                                                                                                        |
      | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | `name`        | Vollständig unterstützt                                                                                                                                                     |
      | `description` | Vollständig unterstützt                                                                                                                                                     |
      | `parameters`  | Vollständig unterstützt                                                                                                                                                     |
      | `strict`      | Ignoriert. Verwende [Structured Outputs](https://platform.claude.com/docs/de/build-with-claude/structured-outputs) mit der nativen Claude API für strikte Schemavalidierung |
    </Tab>

    <Tab title="Functions">
      `functions[n]`-Felder

      <Info>
        OpenAI hat das Feld `functions` abgekündigt und empfiehlt, stattdessen `tools` zu verwenden.
      </Info>

      | Feld          | Unterstützungsstatus                                                                                                                                                        |
      | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | `name`        | Vollständig unterstützt                                                                                                                                                     |
      | `description` | Vollständig unterstützt                                                                                                                                                     |
      | `parameters`  | Vollständig unterstützt                                                                                                                                                     |
      | `strict`      | Ignoriert. Verwende [Structured Outputs](https://platform.claude.com/docs/de/build-with-claude/structured-outputs) mit der nativen Claude API für strikte Schemavalidierung |
    </Tab>
  </Tabs>
</Accordion>

#### Felder des `messages`-Arrays

<Accordion title="Felder anzeigen">
  <Tabs>
    <Tab title="Developer-Rolle">
      Felder für `messages[n].role == "developer"`

      <Info>
        Developer-Nachrichten werden als Teil der initialen System-Nachricht an den Anfang der Konversation verschoben
      </Info>

      | Feld      | Unterstützungsstatus                                   |
      | --------- | ------------------------------------------------------ |
      | `content` | Vollständig unterstützt, aber an den Anfang verschoben |
      | `name`    | Ignoriert                                              |
    </Tab>

    <Tab title="System-Rolle">
      Felder für `messages[n].role == "system"`

      <Info>
        System-Nachrichten werden als Teil der initialen System-Nachricht an den Anfang der Konversation verschoben
      </Info>

      | Feld      | Unterstützungsstatus                                   |
      | --------- | ------------------------------------------------------ |
      | `content` | Vollständig unterstützt, aber an den Anfang verschoben |
      | `name`    | Ignoriert                                              |
    </Tab>

    <Tab title="User-Rolle">
      Felder für `messages[n].role == "user"`

      | Feld      | Variante                         | Unterfeld | Unterstützungsstatus    |
      | --------- | -------------------------------- | --------- | ----------------------- |
      | `content` | `string`                         |           | Vollständig unterstützt |
      |           | `array`, `type == "text"`        |           | Vollständig unterstützt |
      |           | `array`, `type == "image_url"`   | `url`     | Vollständig unterstützt |
      |           |                                  | `detail`  | Ignoriert               |
      |           | `array`, `type == "input_audio"` |           | Ignoriert               |
      |           | `array`, `type == "file"`        |           | Ignoriert               |
      | `name`    |                                  |           | Ignoriert               |
    </Tab>

    <Tab title="Assistant-Rolle">
      Felder für `messages[n].role == "assistant"`

      | Feld            | Variante                     | Unterstützungsstatus    |
      | --------------- | ---------------------------- | ----------------------- |
      | `content`       | `string`                     | Vollständig unterstützt |
      |                 | `array`, `type == "text"`    | Vollständig unterstützt |
      |                 | `array`, `type == "refusal"` | Ignoriert               |
      | `tool_calls`    |                              | Vollständig unterstützt |
      | `function_call` |                              | Vollständig unterstützt |
      | `audio`         |                              | Ignoriert               |
      | `refusal`       |                              | Ignoriert               |
    </Tab>

    <Tab title="Tool-Rolle">
      Felder für `messages[n].role == "tool"`

      | Feld           | Variante                  | Unterstützungsstatus                                                                                                                                                                                                                                                                                                                                                                                                     |
      | -------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
      | `content`      | `string`                  | Vollständig unterstützt                                                                                                                                                                                                                                                                                                                                                                                                  |
      |                | `array`, `type == "text"` | Vollständig unterstützt                                                                                                                                                                                                                                                                                                                                                                                                  |
      | `tool_call_id` |                           | Vollständig unterstützt                                                                                                                                                                                                                                                                                                                                                                                                  |
      | `tool_choice`  |                           | Unterstützt. `"required"` und Werte mit benannten Funktionen erzwingen einen Tool-Aufruf; Claude Opus 5.5, Claude Sonnet 5.5, Claude Fable 5.1 und Claude Mythos 5.1 unterstützen keine erzwungene Tool-Nutzung und geben einen Fehler zurück, verwende daher bei diesen Modellen `"auto"`. Siehe [Tool-Nutzung erzwingen](https://platform.claude.com/docs/de/agents-and-tools/tool-use/define-tools#forcing-tool-use). |
      | `name`         |                           | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                |
    </Tab>

    <Tab title="Function-Rolle">
      Felder für `messages[n].role == "function"`

      | Feld          | Variante                  | Unterstützungsstatus                                                                                                                                                                                                                                                                                                                                                                                                     |
      | ------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
      | `content`     | `string`                  | Vollständig unterstützt                                                                                                                                                                                                                                                                                                                                                                                                  |
      |               | `array`, `type == "text"` | Vollständig unterstützt                                                                                                                                                                                                                                                                                                                                                                                                  |
      | `tool_choice` |                           | Unterstützt. `"required"` und Werte mit benannten Funktionen erzwingen einen Tool-Aufruf; Claude Opus 5.5, Claude Sonnet 5.5, Claude Fable 5.1 und Claude Mythos 5.1 unterstützen keine erzwungene Tool-Nutzung und geben einen Fehler zurück, verwende daher bei diesen Modellen `"auto"`. Siehe [Tool-Nutzung erzwingen](https://platform.claude.com/docs/de/agents-and-tools/tool-use/define-tools#forcing-tool-use). |
      | `name`        |                           | Ignoriert                                                                                                                                                                                                                                                                                                                                                                                                                |
    </Tab>
  </Tabs>
</Accordion>

### Antwortfelder

| Feld                              | Unterstützungsstatus    |
| --------------------------------- | ----------------------- |
| `id`                              | Vollständig unterstützt |
| `choices[]`                       | Hat immer die Länge 1   |
| `choices[].finish_reason`         | Vollständig unterstützt |
| `choices[].index`                 | Vollständig unterstützt |
| `choices[].message.role`          | Vollständig unterstützt |
| `choices[].message.content`       | Vollständig unterstützt |
| `choices[].message.tool_calls`    | Vollständig unterstützt |
| `object`                          | Vollständig unterstützt |
| `created`                         | Vollständig unterstützt |
| `model`                           | Vollständig unterstützt |
| `finish_reason`                   | Vollständig unterstützt |
| `content`                         | Vollständig unterstützt |
| `usage.completion_tokens`         | Vollständig unterstützt |
| `usage.prompt_tokens`             | Vollständig unterstützt |
| `usage.total_tokens`              | Vollständig unterstützt |
| `usage.completion_tokens_details` | Immer leer              |
| `usage.prompt_tokens_details`     | Immer leer              |
| `choices[].message.refusal`       | Immer leer              |
| `choices[].message.audio`         | Immer leer              |
| `logprobs`                        | Immer leer              |
| `service_tier`                    | Immer leer              |
| `system_fingerprint`              | Immer leer              |

### Kompatibilität von Fehlermeldungen

Die Kompatibilitätsschicht behält mit der OpenAI API konsistente Fehlerformate bei. Die detaillierten Fehlermeldungen sind jedoch nicht identisch. Verwende die Fehlermeldungen nur für Logging und Debugging.

### Header-Kompatibilität

Das OpenAI SDK verwaltet Header zwar automatisch, hier ist jedoch die vollständige Liste der von der Claude API unterstützten Header für Entwickler, die direkt mit ihnen arbeiten müssen.

| Header                           | Unterstützungsstatus    |
| -------------------------------- | ----------------------- |
| `x-ratelimit-limit-requests`     | Vollständig unterstützt |
| `x-ratelimit-limit-tokens`       | Vollständig unterstützt |
| `x-ratelimit-remaining-requests` | Vollständig unterstützt |
| `x-ratelimit-remaining-tokens`   | Vollständig unterstützt |
| `x-ratelimit-reset-requests`     | Vollständig unterstützt |
| `x-ratelimit-reset-tokens`       | Vollständig unterstützt |
| `retry-after`                    | Vollständig unterstützt |
| `request-id`                     | Vollständig unterstützt |
| `openai-version`                 | Immer `2020-10-01`      |
| `authorization`                  | Vollständig unterstützt |
| `openai-processing-ms`           | Immer leer              |
