• Messages
  • Agents gérés
  • Administration

Search...
⌘K
Premiers pas
Introduction à ClaudeDémarrage rapide
Développer avec Claude
Aperçu des fonctionnalitésUtilisation de l'API MessagesRaisons d'arrêt et repliRefus et repliCrédit de repli
Capacités du modèle
Réflexion étendueRéflexion adaptativeEffortBudgets de tâches (bêta)Mode rapide (aperçu de recherche)Sorties structuréesCitationsStreaming des messagesTraitement par lotsRésultats de rechercheStreaming des refusPrise en charge multilingueEmbeddings
Outils
AperçuFonctionnement de l'utilisation d'outilsTutoriel : Créer un agent utilisant des outilsDéfinir des outilsGérer les appels d'outilsUtilisation d'outils en parallèleTool Runner (SDK)Utilisation d'outils stricteUtilisation d'outils avec mise en cache des promptsOutils serveurDépannageOutil de recherche webOutil de récupération webOutil d'exécution de codeOutil conseillerOutil de mémoireOutil BashOutil d'utilisation de l'ordinateurOutil d'édition de texte
Infrastructure des outils
Référence des outilsGérer le contexte des outilsCombinaisons d'outilsRecherche d'outilsAppel d'outils programmatiqueStreaming d'outils granulaire
Gestion du contexte
Fenêtres de contexteCompactageÉdition du contexteMise en cache des promptsMessages système en cours de conversationCréer un mode d'orchestrationDiagnostics de cache (bêta)Comptage de tokens
Travailler avec des fichiers
API FilesPrise en charge des PDFImages et vision
Compétences
AperçuDémarrage rapideBonnes pratiquesCompétences pour l'entrepriseCompétences dans l'API
MCP
Serveurs MCP distantsConnecteur MCP
Claude sur les plateformes cloud
Amazon BedrockAmazon Bedrock (ancien)Claude Platform sur AWSMicrosoft FoundryVertex AI

Log in
Utilisation de l'API Messages
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Claude on AWS
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Messages/Développer avec Claude

Utilisation de l'API Messages

Modèles pratiques et exemples pour utiliser efficacement l'API Messages

Anthropic propose deux façons de développer avec Claude, chacune adaptée à des cas d'usage différents :

Messages APIClaude Managed Agents
DescriptionAccès direct au modèle via des promptsHarnais d'agent préconfiguré et personnalisable qui s'exécute dans une infrastructure gérée
Idéal pourBoucles d'agent personnalisées et contrôle granulaireTâches de longue durée et travail asynchrone
En savoir plusDocumentation Messages APIDocumentation Claude Managed Agents

Ce guide couvre les modèles courants pour travailler avec l'API Messages, notamment les requêtes de base, les conversations multi-tours, les techniques de préremplissage et les capacités de vision. Pour les spécifications complètes de l'API, consultez la référence de l'API Messages.



Cette fonctionnalité est éligible à la Zero Data Retention (ZDR). Lorsque votre organisation dispose d'un accord ZDR, les données envoyées via cette fonctionnalité ne sont pas stockées après le retour de la réponse de l'API.

Requête et réponse de base



Les paramètres d'échantillonnage temperature, top_p et top_k ne sont pas pris en charge sur Claude Opus 4.7 et les modèles ultérieurs, y compris Claude Opus 4.8. Leur attribuer une valeur autre que celle par défaut renvoie une erreur 400. Omettez-les des charges utiles de requête et utilisez plutôt le prompting pour guider le comportement du modèle. Consultez le guide de migration.

Output
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Hello!"
    }
  ],
  "model": "claude-opus-4-8",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 12,
    "output_tokens": 6
  }
}

Sur Claude Opus 4.7 et les modèles ultérieurs, les réponses de refus (stop_reason: "refusal") incluent également un objet stop_details identifiant la catégorie de politique qui a déclenché le refus. Consultez Gestion des raisons d'arrêt pour la référence des champs et un exemple de code de gestion.

Tours de conversation multiples

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 antérieurs n'ont pas nécessairement besoin de provenir réellement de Claude. Vous pouvez utiliser des messages assistant synthétiques.

Output
{
  "id": "msg_018gCsTGsXkYJVqYPxTgDHBU",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Sure, I'd be happy to provide..."
    }
  ],
  "model": "claude-opus-4-8",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 30,
    "output_tokens": 309
  }
}

Rôle système dans les messages

Sur Claude Opus 4.8, vous pouvez inclure des messages avec "role": "system" après un tour utilisateur (sous réserve des règles de placement) pour ajouter une nouvelle instruction système en cours de conversation. Un message system ne peut pas être la première entrée dans messages ; utilisez le champ system de niveau supérieur pour les instructions qui s'appliquent dès le début.

Un message système en cours de conversation a la même autorité que le champ system de niveau supérieur, mais comme il est ajouté à la fin de l'historique des messages, il n'invalide aucun préfixe mis en cache qui le précède. Utilisez le champ system de niveau supérieur pour les instructions qui doivent s'appliquer dès le tout premier tour, et un message système en cours de conversation pour les instructions qui ne deviennent pertinentes que plus tard.

Consultez Messages système en cours de conversation pour le guide complet, y compris comment le combiner avec la mise en cache des prompts.

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 multiple de Claude.



Le préremplissage n'est pas pris en charge sur Claude Fable 5, Claude Mythos 5, Claude Mythos Preview, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6 et Claude Sonnet 4.6. Les requêtes utilisant le préremplissage avec ces modèles renvoient une erreur 400. Utilisez plutôt les sorties structurées sur les modèles qui les prennent en charge, ou des instructions dans l'invite système. Consultez le guide de migration pour les modèles de migration.

Output
{
  "id": "msg_01Q8Faay6S7QPTvEUUQARt7h",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "C"
    }
  ],
  "model": "claude-sonnet-4-5",
  "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. Les images peuvent être fournies en utilisant les types de source base64, url ou file. Le type de source file fait référence à une image téléversée via l'API Files. Les types de médias pris en charge sont image/jpeg, image/png, image/gif et image/webp. Consultez le guide de vision pour plus de détails.

Output
{
  "id": "msg_01EcyWo6m4hyW8KHs2y2pei5",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "This image shows an ant, specifically a close-up view of an ant. The ant is shown in detail, with its distinct head, antennae, and legs clearly visible. The image is focused on capturing the intricate details and features of the ant, likely taken with a macro lens to get an extreme close-up perspective."
    }
  ],
  "model": "claude-opus-4-8",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 1551,
    "output_tokens": 71
  }
}

Utilisation d'outils et utilisation de l'ordinateur

Consultez le guide d'utilisation d'outils pour des exemples d'utilisation des outils avec l'API Messages. Consultez le guide d'utilisation de l'ordinateur pour des exemples de contrôle d'environnements d'ordinateur de bureau avec l'API Messages. Pour une sortie JSON garantie, consultez Sorties structurées. Pour un budget de tokens indicatif sur l'ensemble d'une boucle agentique, définissez output_config.task_budget ; consultez Budgets de tâche.

Was this page helpful?

  • Requête et réponse de base
  • Tours de conversation multiples
  • Rôle système dans les messages
  • Mettre des mots dans la bouche de Claude
  • Vision
  • Utilisation d'outils et utilisation de l'ordinateur
message = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(message)
message = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Claude"},
        {"role": "assistant", "content": "Hello!"},
        {"role": "user", "content": "Can you describe LLMs to me?"},
    ],
)
print(message)
message = anthropic.Anthropic().messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1,
    messages=[
        {
            "role": "user",
            "content": "What is latin for Ant? (A) Apoidea, (B) Rhopalocera, (C) Formicidae",
        },
        {"role": "assistant", "content": "The answer is ("},
    ],
)
print(message)
import base64
import httpx

# 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_data = base64.standard_b64encode(httpx.get(image_url).content).decode("utf-8")

message = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image_media_type,
                        "data": image_data,
                    },
                },
                {"type": "text", "text": "What is in the above image?"},
            ],
        }
    ],
)
print(message)

# Option 2 : Image référencée par URL
message_from_url = anthropic.Anthropic().messages.create(
    model="claude-opus-4-8",
    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": "What is in the above image?"},
            ],
        }
    ],
)
print(message_from_url)