---
title: Compatibilité avec le SDK OpenAI
url: https://platform.claude.com/docs/fr/cli-sdks-libraries/libraries/openai-sdk
description: Anthropic fournit une couche de compatibilité qui vous permet d'utiliser le SDK OpenAI pour tester la Claude API. Avec quelques modifications de code, vous pouvez évaluer rapidement les capacités des modèles Anthropic.
---

<Note>
  Cette couche de compatibilité est principalement destinée à tester et comparer les capacités des modèles, et n'est pas considérée comme une solution à long terme ou prête pour la production pour la plupart des cas d'utilisation. Bien qu'elle soit destinée à rester pleinement fonctionnelle et à ne pas subir de changements majeurs, la priorité reste la fiabilité et l'efficacité de la [Claude API](https://platform.claude.com/docs/fr/api/overview).

  Pour plus d'informations sur les limitations de compatibilité connues, consultez [Limitations importantes de la compatibilité OpenAI](https://platform.claude.com/docs/fr/cli-sdks-libraries/libraries/openai-sdk#important-openai-compatibility-limitations).

  Si vous rencontrez des problèmes avec la fonctionnalité de compatibilité avec le SDK OpenAI, veuillez partager vos commentaires via ce [formulaire de retour sur la compatibilité](https://forms.gle/oQV4McQNiuuNbz9n8).
</Note>

<Tip>
  Pour une expérience optimale et un accès à l'ensemble complet des fonctionnalités de la Claude API ([traitement des PDF](https://platform.claude.com/docs/fr/build-with-claude/pdf-support), [citations](https://platform.claude.com/docs/fr/build-with-claude/citations), [réflexion](https://platform.claude.com/docs/fr/build-with-claude/thinking) et [mise en cache des prompts](https://platform.claude.com/docs/fr/build-with-claude/prompt-caching)), utilisez la [Claude API](https://platform.claude.com/docs/fr/api/overview) native.
</Tip>

## Premiers pas avec le SDK OpenAI

Pour utiliser la fonctionnalité de compatibilité avec le SDK OpenAI, vous devez :

1. Utiliser un SDK OpenAI officiel

2. Modifier les éléments suivants

   * Mettre à jour votre URL de base pour qu'elle pointe vers la Claude API
   * Remplacer votre clé API par une [clé API Claude](https://platform.claude.com/settings/keys)
   * Si votre clé est une [clé personnelle ou de compte de service](https://platform.claude.com/docs/fr/manage-claude/authentication#key-types) ayant accès à plusieurs espaces de travail, envoyer également l'en-tête `anthropic-workspace-id` à chaque requête (par exemple, `default_headers` dans le SDK Python ou `defaultHeaders` en TypeScript) ; consultez [Sélectionner un espace de travail](https://platform.claude.com/docs/fr/manage-claude/authentication#select-a-workspace)
   * Mettre à jour le nom de votre modèle pour utiliser un [modèle Claude](https://platform.claude.com/docs/fr/models/overview)

3. Consulter les sections suivantes pour connaître les fonctionnalités prises en charge

### Exemple de démarrage rapide

<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 ne dispose d'aucun SDK PHP officiel. Pour utiliser Claude depuis PHP, utilisez plutôt le [SDK Claude pour PHP](https://platform.claude.com/docs/fr/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>

## Limitations importantes de la compatibilité OpenAI

### Comportement de l'API

Voici les différences les plus importantes par rapport à l'utilisation d'OpenAI :

* Le paramètre `strict` pour l'appel de fonctions est ignoré, ce qui signifie que le JSON d'utilisation d'outils n'est pas garanti de respecter le schéma fourni. Pour une conformité garantie au schéma, utilisez la [Claude API native avec les sorties structurées](https://platform.claude.com/docs/fr/build-with-claude/structured-outputs).
* L'entrée audio n'est pas prise en charge ; elle sera ignorée et supprimée de l'entrée.
* La « prompt caching » (mise en cache des prompts) n'est pas prise en charge, mais elle l'est dans les [SDK Anthropic](https://platform.claude.com/docs/fr/cli-sdks-libraries/overview).
* Les messages système/développeur sont remontés et concaténés dans le champ `system` de premier niveau, quel que soit leur emplacement dans la conversation. Pour ajouter des instructions système en cours de conversation, utilisez les [messages système en cours de conversation](https://platform.claude.com/docs/fr/build-with-claude/mid-conversation-system-messages) dans la Claude API native.

La plupart des champs non pris en charge sont ignorés silencieusement plutôt que de produire des erreurs. Ils sont tous documentés dans les sections suivantes.

### Considérations sur la qualité des sorties

Si vous avez beaucoup ajusté votre prompt, il est probablement bien adapté à OpenAI spécifiquement. Envisagez de le retravailler pour Claude à l'aide du [guide des meilleures pratiques de prompting](https://platform.claude.com/docs/fr/build-with-claude/prompt-engineering/claude-prompting-best-practices).

### Remontée des messages système / développeur

La plupart des entrées du SDK OpenAI correspondent clairement et directement aux paramètres de l'API d'Anthropic, mais une différence notable concerne la gestion des prompts système / développeur. Avec OpenAI, ces deux types de prompts peuvent être placés tout au long d'une conversation. La couche de compatibilité prend tous les messages système/développeur et les concatène avec un seul saut de ligne (`\n`) entre eux. Cette chaîne complète est ensuite fournie comme champ `system` de premier niveau, avant tous les messages.

### Prise en charge de la réflexion

Vous pouvez activer la [réflexion](https://platform.claude.com/docs/fr/build-with-claude/thinking) en ajoutant le paramètre `thinking`. Sur les modèles actuels, la réflexion est adaptative, Claude déterminant quand et avec quelle profondeur réfléchir, et sur les modèles Claude 5, elle est activée par défaut ; la réflexion étendue configurée manuellement est un mode hérité. Bien que la réflexion améliore le raisonnement de Claude pour les tâches complexes, le SDK OpenAI ne renvoie pas la réflexion de Claude. Pour bénéficier de toutes les fonctionnalités de réflexion, y compris la [réflexion résumée](https://platform.claude.com/docs/fr/build-with-claude/thinking#summarized-thinking), utilisez la Claude API native.

<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#
  // Le SDK .NET n'a pas de paramètre extra_body comme celui de Python ; cet exemple
  // envoie donc le paramètre thinking via la méthode de protocole documentée du SDK
  // (un corps de requête JSON brut).
  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 ne dispose d'aucun SDK PHP officiel. Pour utiliser Claude depuis PHP, utilisez plutôt le [SDK Claude pour PHP](https://platform.claude.com/docs/fr/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>

## Limites de débit

Les « rate limits » (limites de débit) suivent les [limites standard](https://platform.claude.com/docs/fr/api/rate-limits) d'Anthropic pour le point de terminaison `/v1/messages`.

## Prise en charge détaillée de l'API compatible OpenAI

### Champs de requête

#### Champs simples

| Champ                   | État de prise en charge                                                                                                                                                                                                                                                                                                                                                                                      |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `model`                 | Utilisez les noms de modèles Claude                                                                                                                                                                                                                                                                                                                                                                          |
| `max_tokens`            | Entièrement pris en charge                                                                                                                                                                                                                                                                                                                                                                                   |
| `max_completion_tokens` | Entièrement pris en charge                                                                                                                                                                                                                                                                                                                                                                                   |
| `stream`                | Entièrement pris en charge                                                                                                                                                                                                                                                                                                                                                                                   |
| `stream_options`        | Entièrement pris en charge                                                                                                                                                                                                                                                                                                                                                                                   |
| `top_p`                 | Transmis au modèle. Les modèles Claude 4.7 et ultérieurs ainsi que Claude Mythos Preview renvoient une erreur 400 pour toute valeur autre que `0.99`, la valeur par défaut ; omettez-le donc. Une requête qui définit à la fois `temperature` et `top_p` renvoie également une erreur 400. Consultez [Utiliser l'API Messages](https://platform.claude.com/docs/fr/build-with-claude/working-with-messages). |
| `parallel_tool_calls`   | Entièrement pris en charge                                                                                                                                                                                                                                                                                                                                                                                   |
| `stop`                  | Toutes les séquences d'arrêt sans espaces fonctionnent                                                                                                                                                                                                                                                                                                                                                       |
| `temperature`           | Entre 0 et 1 (inclus). Les valeurs supérieures à 1 sont plafonnées à 1. Sur les modèles Claude 4.7 et ultérieurs ainsi que Claude Mythos Preview, toute valeur inférieure à 1 renvoie une erreur 400 ; omettez-le donc. Consultez [Utiliser l'API Messages](https://platform.claude.com/docs/fr/build-with-claude/working-with-messages).                                                                    |
| `n`                     | Doit être exactement 1                                                                                                                                                                                                                                                                                                                                                                                       |
| `logprobs`              | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `metadata`              | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `response_format`       | Ignoré. Pour une sortie JSON, utilisez les [sorties structurées](https://platform.claude.com/docs/fr/build-with-claude/structured-outputs) avec la Claude API native                                                                                                                                                                                                                                         |
| `prediction`            | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `presence_penalty`      | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `frequency_penalty`     | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `seed`                  | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `service_tier`          | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `audio`                 | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `logit_bias`            | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `store`                 | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `user`                  | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `modalities`            | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `top_logprobs`          | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |
| `reasoning_effort`      | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                       |

#### Champs `tools` / `functions`

<Accordion title="Afficher les champs">
  <Tabs>
    <Tab title="Tools">
      Champs `tools[n].function`

      | Champ         | État de prise en charge                                                                                                                                                              |
      | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
      | `name`        | Entièrement pris en charge                                                                                                                                                           |
      | `description` | Entièrement pris en charge                                                                                                                                                           |
      | `parameters`  | Entièrement pris en charge                                                                                                                                                           |
      | `strict`      | Ignoré. Utilisez les [sorties structurées](https://platform.claude.com/docs/fr/build-with-claude/structured-outputs) avec la Claude API native pour une validation stricte du schéma |
    </Tab>

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

      <Info>
        OpenAI a déprécié le champ `functions` et suggère d'utiliser `tools` à la place.
      </Info>

      | Champ         | État de prise en charge                                                                                                                                                              |
      | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
      | `name`        | Entièrement pris en charge                                                                                                                                                           |
      | `description` | Entièrement pris en charge                                                                                                                                                           |
      | `parameters`  | Entièrement pris en charge                                                                                                                                                           |
      | `strict`      | Ignoré. Utilisez les [sorties structurées](https://platform.claude.com/docs/fr/build-with-claude/structured-outputs) avec la Claude API native pour une validation stricte du schéma |
    </Tab>
  </Tabs>
</Accordion>

#### Champs du tableau `messages`

<Accordion title="Afficher les champs">
  <Tabs>
    <Tab title="Rôle developer">
      Champs pour `messages[n].role == "developer"`

      <Info>
        Les messages développeur sont remontés au début de la conversation dans le cadre du message système initial.
      </Info>

      | Champ     | État de prise en charge                  |
      | --------- | ---------------------------------------- |
      | `content` | Entièrement pris en charge, mais remonté |
      | `name`    | Ignoré                                   |
    </Tab>

    <Tab title="Rôle system">
      Champs pour `messages[n].role == "system"`

      <Info>
        Les messages système sont remontés au début de la conversation dans le cadre du message système initial.
      </Info>

      | Champ     | État de prise en charge                  |
      | --------- | ---------------------------------------- |
      | `content` | Entièrement pris en charge, mais remonté |
      | `name`    | Ignoré                                   |
    </Tab>

    <Tab title="Rôle user">
      Champs pour `messages[n].role == "user"`

      | Champ     | Variante                         | Sous-champ | État de prise en charge    |
      | --------- | -------------------------------- | ---------- | -------------------------- |
      | `content` | `string`                         |            | Entièrement pris en charge |
      |           | `array`, `type == "text"`        |            | Entièrement pris en charge |
      |           | `array`, `type == "image_url"`   | `url`      | Entièrement pris en charge |
      |           |                                  | `detail`   | Ignoré                     |
      |           | `array`, `type == "input_audio"` |            | Ignoré                     |
      |           | `array`, `type == "file"`        |            | Ignoré                     |
      | `name`    |                                  |            | Ignoré                     |
    </Tab>

    <Tab title="Rôle assistant">
      Champs pour `messages[n].role == "assistant"`

      | Champ           | Variante                     | État de prise en charge    |
      | --------------- | ---------------------------- | -------------------------- |
      | `content`       | `string`                     | Entièrement pris en charge |
      |                 | `array`, `type == "text"`    | Entièrement pris en charge |
      |                 | `array`, `type == "refusal"` | Ignoré                     |
      | `tool_calls`    |                              | Entièrement pris en charge |
      | `function_call` |                              | Entièrement pris en charge |
      | `audio`         |                              | Ignoré                     |
      | `refusal`       |                              | Ignoré                     |
    </Tab>

    <Tab title="Rôle tool">
      Champs pour `messages[n].role == "tool"`

      | Champ          | Variante                  | État de prise en charge                                                                                                                                                                                                                                                                                                                                                                                                               |
      | -------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | `content`      | `string`                  | Entièrement pris en charge                                                                                                                                                                                                                                                                                                                                                                                                            |
      |                | `array`, `type == "text"` | Entièrement pris en charge                                                                                                                                                                                                                                                                                                                                                                                                            |
      | `tool_call_id` |                           | Entièrement pris en charge                                                                                                                                                                                                                                                                                                                                                                                                            |
      | `tool_choice`  |                           | Pris en charge. Les valeurs `"required"` et de fonction nommée forcent un appel d'outil ; Claude Opus 5.5, Claude Sonnet 5.5, Claude Fable 5.1 et Claude Mythos 5.1 ne prennent pas en charge l'utilisation d'outils forcée et renvoient une erreur ; utilisez donc `"auto"` sur ces modèles. Consultez [Forcer l'utilisation d'outils](https://platform.claude.com/docs/fr/agents-and-tools/tool-use/define-tools#forcing-tool-use). |
      | `name`         |                           | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                                                |
    </Tab>

    <Tab title="Rôle function">
      Champs pour `messages[n].role == "function"`

      | Champ         | Variante                  | État de prise en charge                                                                                                                                                                                                                                                                                                                                                                                                               |
      | ------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | `content`     | `string`                  | Entièrement pris en charge                                                                                                                                                                                                                                                                                                                                                                                                            |
      |               | `array`, `type == "text"` | Entièrement pris en charge                                                                                                                                                                                                                                                                                                                                                                                                            |
      | `tool_choice` |                           | Pris en charge. Les valeurs `"required"` et de fonction nommée forcent un appel d'outil ; Claude Opus 5.5, Claude Sonnet 5.5, Claude Fable 5.1 et Claude Mythos 5.1 ne prennent pas en charge l'utilisation d'outils forcée et renvoient une erreur ; utilisez donc `"auto"` sur ces modèles. Consultez [Forcer l'utilisation d'outils](https://platform.claude.com/docs/fr/agents-and-tools/tool-use/define-tools#forcing-tool-use). |
      | `name`        |                           | Ignoré                                                                                                                                                                                                                                                                                                                                                                                                                                |
    </Tab>
  </Tabs>
</Accordion>

### Champs de réponse

| Champ                             | État de prise en charge         |
| --------------------------------- | ------------------------------- |
| `id`                              | Entièrement pris en charge      |
| `choices[]`                       | Aura toujours une longueur de 1 |
| `choices[].finish_reason`         | Entièrement pris en charge      |
| `choices[].index`                 | Entièrement pris en charge      |
| `choices[].message.role`          | Entièrement pris en charge      |
| `choices[].message.content`       | Entièrement pris en charge      |
| `choices[].message.tool_calls`    | Entièrement pris en charge      |
| `object`                          | Entièrement pris en charge      |
| `created`                         | Entièrement pris en charge      |
| `model`                           | Entièrement pris en charge      |
| `finish_reason`                   | Entièrement pris en charge      |
| `content`                         | Entièrement pris en charge      |
| `usage.completion_tokens`         | Entièrement pris en charge      |
| `usage.prompt_tokens`             | Entièrement pris en charge      |
| `usage.total_tokens`              | Entièrement pris en charge      |
| `usage.completion_tokens_details` | Toujours vide                   |
| `usage.prompt_tokens_details`     | Toujours vide                   |
| `choices[].message.refusal`       | Toujours vide                   |
| `choices[].message.audio`         | Toujours vide                   |
| `logprobs`                        | Toujours vide                   |
| `service_tier`                    | Toujours vide                   |
| `system_fingerprint`              | Toujours vide                   |

### Compatibilité des messages d'erreur

La couche de compatibilité maintient des formats d'erreur cohérents avec l'API OpenAI. Cependant, les messages d'erreur détaillés ne seront pas équivalents. N'utilisez les messages d'erreur que pour la journalisation et le débogage.

### Compatibilité des en-têtes

Bien que le SDK OpenAI gère automatiquement les en-têtes, voici la liste complète des en-têtes pris en charge par la Claude API pour les développeurs qui ont besoin de les manipuler directement.

| En-tête                          | État de prise en charge    |
| -------------------------------- | -------------------------- |
| `x-ratelimit-limit-requests`     | Entièrement pris en charge |
| `x-ratelimit-limit-tokens`       | Entièrement pris en charge |
| `x-ratelimit-remaining-requests` | Entièrement pris en charge |
| `x-ratelimit-remaining-tokens`   | Entièrement pris en charge |
| `x-ratelimit-reset-requests`     | Entièrement pris en charge |
| `x-ratelimit-reset-tokens`       | Entièrement pris en charge |
| `retry-after`                    | Entièrement pris en charge |
| `request-id`                     | Entièrement pris en charge |
| `openai-version`                 | Toujours `2020-10-01`      |
| `authorization`                  | Entièrement pris en charge |
| `openai-processing-ms`           | Toujours vide              |
