Consultez la référence API pour la documentation complète sur les paramètres disponibles.

Requête et réponse de base

#!/bin/sh
curl https://api.anthropic.com/v1/messages \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-opus-4-20250514",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Bonjour, Claude"}
    ]
}'
JSON
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Bonjour !"
    }
  ],
  "model": "claude-opus-4-20250514",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 12,
    "output_tokens": 6
  }
}

Plusieurs tours de conversation

L’API Messages est sans état, ce qui signifie que vous envoyez toujours l’historique complet de la conversation à l’API. Vous pouvez utiliser ce modèle pour construire une conversation au fil du temps. Les tours de conversation précédents n’ont pas nécessairement besoin de provenir réellement de Claude — vous pouvez utiliser des messages assistant synthétiques.

#!/bin/sh
curl https://api.anthropic.com/v1/messages \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-opus-4-20250514",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Bonjour, Claude"},
        {"role": "assistant", "content": "Bonjour !"},
        {"role": "user", "content": "Pouvez-vous me décrire les LLM ?"}

    ]
}'
JSON
{
    "id": "msg_018gCsTGsXkYJVqYPxTgDHBU",
    "type": "message",
    "role": "assistant",
    "content": [
        {
            "type": "text",
            "text": "Bien sûr, je serais ravi de vous expliquer..."
        }
    ],
    "stop_reason": "end_turn",
    "stop_sequence": null,
    "usage": {
      "input_tokens": 30,
      "output_tokens": 309
    }
}

Mettre des mots dans la bouche de Claude

Vous pouvez pré-remplir une partie de la réponse de Claude dans la dernière position de la liste des messages d’entrée. Cela peut être utilisé pour façonner la réponse de Claude. L’exemple ci-dessous utilise "max_tokens": 1 pour obtenir une seule réponse à choix multiples de Claude.

#!/bin/sh
curl https://api.anthropic.com/v1/messages \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-opus-4-20250514",
    "max_tokens": 1,
    "messages": [
        {"role": "user", "content": "Quel est le latin pour Fourmi ? (A) Apoidea, (B) Rhopalocera, (C) Formicidae"},
        {"role": "assistant", "content": "La réponse est ("}
    ]
}'
JSON
{
  "id": "msg_01Q8Faay6S7QPTvEUUQARt7h",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "C"
    }
  ],
  "model": "claude-opus-4-20250514",
  "stop_reason": "max_tokens",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 42,
    "output_tokens": 1
  }
}

Vision

Claude peut lire à la fois du texte et des images dans les requêtes. Nous prenons en charge les types de source base64 et url pour les images, ainsi que les types de médias image/jpeg, image/png, image/gif et image/webp. Consultez notre guide de vision pour plus de détails.

#!/bin/sh

# Option 1 : Image encodée en base64
IMAGE_URL="https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
IMAGE_MEDIA_TYPE="image/jpeg"
IMAGE_BASE64=$(curl "$IMAGE_URL" | base64)

curl https://api.anthropic.com/v1/messages \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-opus-4-20250514",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": [
            {"type": "image", "source": {
                "type": "base64",
                "media_type": "'$IMAGE_MEDIA_TYPE'",
                "data": "'$IMAGE_BASE64'"
            }},
            {"type": "text", "text": "Qu'y a-t-il dans l'image ci-dessus ?"}
        ]}
    ]
}'

# Option 2 : Image référencée par URL
curl https://api.anthropic.com/v1/messages \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-opus-4-20250514",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": [
            {"type": "image", "source": {
                "type": "url",
                "url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
            }},
            {"type": "text", "text": "Qu'y a-t-il dans l'image ci-dessus ?"}
        ]}
    ]
}'
JSON
{
  "id": "msg_01EcyWo6m4hyW8KHs2y2pei5",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Cette image montre une fourmi, spécifiquement une vue en gros plan d'une fourmi. La fourmi est montrée en détail, avec sa tête distincte, ses antennes et ses pattes clairement visibles. L'image se concentre sur la capture des détails complexes et des caractéristiques de la fourmi, probablement prise avec un objectif macro pour obtenir une perspective en très gros plan."
    }
  ],
  "model": "claude-opus-4-20250514",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 1551,
    "output_tokens": 71
  }
}

Utilisation d’outils, mode JSON et utilisation d’ordinateur

Consultez notre guide pour des exemples sur l’utilisation d’outils avec l’API Messages. Consultez notre guide d’utilisation d’ordinateur pour des exemples sur le contrôle d’environnements d’ordinateur de bureau avec l’API Messages.