A API de Mensagens é sem estado, o que significa que você sempre envia o histórico completo da conversa para a API. Você pode usar esse padrão para construir uma conversa ao longo do tempo. Rodadas anteriores da conversa não necessariamente precisam ter se originado do Claude — você pode usar mensagens sintéticas de assistant.
#!/bin/shcurl 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":"Hello, Claude"},{"role":"assistant", "content":"Hello!"},{"role":"user", "content":"Can you describe LLMs to me?"}]}'
JSON
{"id":"msg_018gCsTGsXkYJVqYPxTgDHBU","type":"message","role":"assistant","content":[{"type":"text","text":"Sure, I'd be happy to provide..."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":30,"output_tokens":309}}
Você pode pré-preencher parte da resposta do Claude na última posição da lista de mensagens de entrada. Isso pode ser usado para moldar a resposta do Claude. O exemplo abaixo usa "max_tokens": 1 para obter uma única resposta de múltipla escolha do Claude.
#!/bin/shcurl 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":"What is latin for Ant? (A) Apoidea, (B) Rhopalocera, (C) Formicidae"},{"role":"assistant", "content":"The answer is ("}]}'
Claude pode ler tanto texto quanto imagens nas solicitações. Suportamos tipos de origem base64 e url para imagens, e os tipos de mídia image/jpeg, image/png, image/gif e image/webp. Veja nosso guia de visão para mais detalhes.
#!/bin/sh# Opção 1: Imagem codificada em Base64IMAGE_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":"What is in the above image?"}]}]}'# Opção 2: Imagem referenciada por URLcurl 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":"What is in the above image?"}]}]}'
JSON
{"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-20250514","stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":1551,"output_tokens":71}}
Veja nosso guia para exemplos de como usar ferramentas com a API de Mensagens.
Veja nosso guia de uso de computador para exemplos de como controlar ambientes de computador desktop com a API de Mensagens.