Passer au contenu principal
Anthropic Claude est un système de dialogue AI très puissant, capable de générer des réponses fluides et naturelles en quelques secondes simplement en saisissant un mot-clé. Claude se distingue dans l’industrie par sa remarquable capacité de compréhension et de génération de langage, et aujourd’hui, Claude est largement utilisé dans divers secteurs et domaines, son influence devenant de plus en plus significative. Que ce soit pour des conversations quotidiennes, de l’écriture créative, ou des consultations professionnelles, ou de la programmation de code, Claude peut fournir une assistance intelligente impressionnante, augmentant considérablement l’efficacité et la créativité humaines. Ce document présente principalement le processus d’utilisation de l’API Claude Chat Completion, qui nous permet d’utiliser facilement les fonctionnalités de dialogue officielles de Claude.

Processus de demande

Pour utiliser l’API Claude Chat Completion, vous pouvez d’abord vous rendre sur la page Claude Chat Completion API et cliquer sur le bouton « Acquire » pour obtenir les informations d’identification nécessaires à la demande : Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter. Après vous être connecté ou inscrit, vous serez automatiquement renvoyé à la page actuelle. Lors de la première demande, un quota gratuit sera offert, vous permettant d’utiliser cette API gratuitement.

Utilisation de base

Ensuite, vous pouvez remplir le contenu correspondant sur l’interface, comme indiqué sur l’image :

Lors de la première utilisation de cette interface, nous devons remplir au moins trois éléments : l’un est authorization, que vous pouvez sélectionner directement dans la liste déroulante. L’autre paramètre est model, qui correspond à la catégorie de modèle que nous choisissons d’utiliser sur le site officiel de Claude. Ici, nous avons principalement 20 modèles, pour plus de détails, vous pouvez consulter les modèles que nous fournissons. Le dernier paramètre est messages, qui est un tableau de nos questions, représentant plusieurs questions pouvant être téléchargées simultanément, chaque question contenant role et content, où role indique le rôle du questionneur, nous avons trois identités : user, assistant, system. L’autre content est le contenu spécifique de notre question. Vous pouvez également remarquer qu’il y a un code d’appel correspondant généré à droite, que vous pouvez copier et exécuter directement, ou cliquer sur le bouton « Try » pour effectuer un test. Paramètres optionnels courants :
  • max_tokens : limite le nombre maximum de tokens pour une réponse unique.
  • temperature : génère de l’aléatoire, entre 0 et 2, plus la valeur est élevée, plus c’est dispersé.
  • n : combien de réponses candidates générer en une seule fois.
  • response_format : paramètres de format de retour.

Après l’appel, nous constatons que le résultat retourné est le suivant :
{
  "id": "msg_bdrk_01Q6WN27v95ypCa1kbanAQ6K",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619365,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 12,
    "total_tokens": 20,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
Le résultat retourné contient plusieurs champs, décrits comme suit :
  • id, l’ID de la tâche de dialogue générée, utilisé pour identifier de manière unique cette tâche de dialogue.
  • model, le modèle choisi sur le site officiel de Claude.
  • choices, les informations de réponse fournies par Claude pour la question posée.
  • usage : les informations statistiques sur les tokens pour cette question-réponse.
Parmi ces choices, on trouve les informations de réponse de Claude, où choices contient les informations spécifiques de la réponse de Claude, comme le montre l’image ci-dessous.

On peut voir que le champ content dans choices contient le contenu spécifique de la réponse de Claude.

Réponse en flux

Cette interface prend également en charge les réponses en flux, ce qui est très utile pour l’intégration web, permettant d’afficher les résultats caractère par caractère. Si vous souhaitez retourner une réponse en flux, vous pouvez modifier le paramètre stream dans l’en-tête de la demande, en le changeant en true. La modification est illustrée sur l’image ci-dessous, mais le code d’appel doit également être modifié pour prendre en charge les réponses en flux.

Après avoir modifié stream en true, l’API renverra les données JSON ligne par ligne, et au niveau du code, nous devons apporter les modifications nécessaires pour obtenir les résultats ligne par ligne. Exemple de code d’appel en Python :
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"Hello"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
L’effet de sortie est le suivant :
data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": ""}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "Bonjour!"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " Comment puis-je vous aider"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " aujourd'hui?"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [], "usage": {"prompt_tokens": 8, "completion_tokens": 12, "total_tokens": 20, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 0, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null, "claude_cache_creation_5_m_tokens": 0, "claude_cache_creation_1_h_tokens": 0}}

data: [DONE]
On peut voir que la réponse contient de nombreux data, où data contient les choices, qui sont le contenu de la réponse la plus récente, conforme à ce qui a été décrit ci-dessus. choices est le contenu de réponse nouvellement ajouté, que vous pouvez intégrer dans votre système. De plus, la fin de la réponse en streaming est déterminée par le contenu de data; si le contenu est [DONE], cela signifie que la réponse en streaming est entièrement terminée. Le résultat data retourné contient plusieurs champs, décrits comme suit :
  • id, l’ID généré pour cette tâche de conversation, utilisé pour identifier de manière unique cette tâche de conversation.
  • model, le modèle choisi sur le site officiel de Claude.
  • choices, les informations de réponse fournies par Claude en réponse aux questions posées.
JavaScript est également pris en charge, par exemple, le code d’appel en streaming pour Node.js est comme suit :
const options = {
  method: "post",
  headers: {
    accept: "application/json",
    authorization: "Bearer {token}",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    model: "claude-opus-4-20250514",
    messages: [{ role: "user", content: "Bonjour" }],
    stream: true,
  }),
};

fetch("https://api.acedata.cloud/v1/chat/completions", options)
  .then((response) => response.json())
  .then((response) => console.log(response))
  .catch((err) => console.error(err));
Exemple de code en Java :
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "claude-opus-4-20250514");
jsonObject.put("messages", [{"role":"user","content":"Bonjour"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/v1/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
D’autres langages peuvent être adaptés de la même manière, le principe reste le même.

Dialogue multi-tours

Si vous souhaitez intégrer une fonctionnalité de dialogue multi-tours, vous devez télécharger plusieurs questions dans le champ messages, des exemples spécifiques de plusieurs questions sont illustrés ci-dessous :

Exemple de code d’appel en Python :
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"Bonjour"},{"role":"assistant","content":"Bonjour! Comment puis-je vous aider aujourd'hui?"},{"role":"user","content":"Que disais-je tout à l'heure?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
En téléchargeant plusieurs questions, vous pouvez facilement réaliser un dialogue multi-tours et obtenir la réponse suivante :
{
  "id": "msg_bdrk_01Y1wfQmd89g968TVbFu57Yc",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619674,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Vous avez dit \"Bonjour\" - c'était votre premier message à moi dans notre conversation."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 29,
    "completion_tokens": 20,
    "total_tokens": 49,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
On peut voir que les informations contenues dans choices sont cohérentes avec le contenu de l’utilisation de base, cela inclut le contenu spécifique des réponses de Claude à plusieurs dialogues, ce qui permet de répondre aux questions correspondantes en fonction de plusieurs contenus de dialogue.

Modèle de réflexion approfondie

Les modèles claude-opus-4-20250514-thinking et claude-sonnet-4-20250514-thinking sont différents des autres modèles, car ils peuvent réfléchir en profondeur en fonction des mots de la question et renvoyer les résultats du processus de réflexion. Cet article démontrera la fonctionnalité de réflexion approfondie à travers un exemple concret. Ensuite, vous pourrez remplir le contenu correspondant sur l’interface de l’API Claude Chat Completion, comme illustré ci-dessous :

Vous pouvez également remarquer qu’il y a un code d’appel correspondant généré à droite, que vous pouvez copier et exécuter directement, ou cliquer sur le bouton « Essayer » pour effectuer un test.

Après l’appel, nous constatons que le résultat retourné est le suivant :
{
  "id": "msg_018J4YaRoGHtbsTVb4Vvz7oH",
  "object": "chat.completion",
  "created": 1755444014,
  "model": "claude-sonnet-4-20250514-thinking",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Le sinus de 30 degrés est **1/2** ou **0.5**.\n\nC'est l'une des valeurs trigonométriques fondamentales. Dans un triangle 30-60-90, les côtés sont dans le rapport 1:√3:2, où le côté opposé à l'angle de 30° a une longueur de 1 et l'hypoténuse a une longueur de 2, ce qui nous donne sin(30°) = 1/2.",
        "reasoning_content": "L'utilisateur demande le sinus de 30 degrés. C'est une question de trigonométrie de base.\n\nLe sinus de 30 degrés est une valeur bien connue. Dans un triangle 30-60-90, les côtés sont dans le rapport 1:√3:2. \n\nPour un angle de 30° :\n- Le côté opposé est 1\n- L'hypoténuse est 2\n- Donc sin(30°) = opposé/hypoténuse = 1/2 = 0.5\n\nC'est l'une des valeurs trigonométriques standard qui est couramment mémorisée."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 60,
    "completion_tokens": 239,
    "total_tokens": 299,
    "prompt_tokens_details": {
      "cached_tokens_details": {}
    },
    "completion_tokens_details": {}
  }
}
On peut voir que les informations de réponse dans choices sont obtenues après une réflexion approfondie, et le contenu du processus de réflexion est également fourni. Dans content, reasoning_content représente le processus de réflexion du modèle. Les informations de réponse dans choices doivent être rendues à l’aide de la syntaxe markdown pour obtenir la meilleure expérience, ce qui met également en évidence la puissance de la fonctionnalité de mise en réseau de notre modèle.

Modèle visuel

claude-sonnet-4-20250514 est un modèle de langage multimodal de grande taille développé par Claude, qui a ajouté des capacités de compréhension visuelle à claude-4. Ce modèle peut traiter simultanément des entrées textuelles et des images, réalisant ainsi une compréhension et une génération intermodales. L’utilisation des capacités de traitement d’images du modèle claude-sonnet-4-20250514 est cohérente avec le contenu d’utilisation de base mentionné ci-dessus. Voici une brève introduction sur la façon d’utiliser les capacités de traitement d’images du modèle. L’utilisation des capacités de traitement d’images du modèle claude-sonnet-4-20250514 se fait principalement en ajoutant un champ type à la base du contenu content existant. Ce champ permet de savoir si le contenu téléchargé est du texte ou une image, permettant ainsi d’utiliser les capacités de traitement d’images du modèle claude-sonnet-4-20250514. Ci-dessous, nous allons principalement aborder deux méthodes pour appeler cette fonctionnalité : Curl et Python.
  • Méthode de script Curl
curl -X POST 'https://api.acedata.cloud/v1/chat/completions' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
    "model": "claude-sonnet-4-20250514",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Qu'est-ce qu'il y a dans cette image ?"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://cdn.acedata.cloud/ueugot.png"
            }
          }
        ]
      }
    ]
  }'
  • Méthode de script Python
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-sonnet-4-20250514",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text", "text": "Qu'est-ce qu'il y a dans cette image ?"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://cdn.acedata.cloud/ueugot.png"
                    }
                },
            ],
        }
    ]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Ensuite, vous pouvez obtenir le résultat suivant, où les informations des champs sont cohérentes avec celles mentionnées ci-dessus :
{
  "id": "msg_bdrk_01NCrxpZmV17bhQJJRQEFEb9",
  "model": "claude-sonnet-4-20250514",
  "object": "chat.completion",
  "created": 1768628904,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Cette image montre une interface de configuration de requête API pour ce qui semble être un service de complétion de chat AI. Voici les éléments clés :\n\n**Paramètres du corps de la requête :**\n\n1. **model** (chaîne requise) - Défini sur \"claude-opus-4-202505...\" - spécifie quel modèle AI utiliser\n\n2. **messages** (tableau requis) - Contient l'historique de la conversation avec :\n   - **role** (chaîne requise) - Défini sur \"user\" \n   - **content** (chaîne requise) - Contient \"Hello\" comme contenu du message\n\n3. **stream** (booléen) - Défini sur \"true\" - active les deltas de message partiels comme dans ChatGPT\n\n4. **max_tokens** (nombre) - Champ pour définir le nombre maximum de tokens pouvant être générés dans la réponse\n\n5. **n** (nombre) - Spécifie combien de choix de complétion de chat générer pour chaque entrée\n\nL'interface a un thème sombre avec du texte blanc sur des fonds noirs/gris foncé. Il y a un bouton \"Remplir l'exemple\" en bas à droite et divers menus déroulants et champs de saisie pour configurer les paramètres de la requête API. Une icône de poubelle/effacement rouge est visible, probablement pour supprimer les entrées de message."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1570,
    "completion_tokens": 252,
    "total_tokens": 1822,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
On peut voir que le contenu des réponses est basé sur des images, donc grâce aux deux méthodes ci-dessus, il est facile d’utiliser les capacités de traitement de texte et d’image du modèle claude-3-7-sonnet-20250219.

Gestion des erreurs

Lors de l’appel de l’API, si une erreur se produit, l’API renverra le code d’erreur et les informations correspondantes. Par exemple :
  • 400 token_mismatched : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 400 api_not_implemented : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 401 invalid_token : Non autorisé, jeton d’autorisation invalide ou manquant.
  • 429 too_many_requests : Trop de requêtes, vous avez dépassé la limite de taux.
  • 500 api_error : Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

Exemple de réponse d’erreur

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "échec de la récupération"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusion

Grâce à ce document, vous avez compris comment utiliser facilement l’API Claude Chat Completion pour réaliser les fonctionnalités de conversation officielles de Claude. Nous espérons que ce document vous aidera à mieux intégrer et utiliser cette API. Si vous avez des questions, n’hésitez pas à contacter notre équipe de support technique.