Consulte a referência da API para obter documentação completa sobre os parâmetros disponíveis.

Solicitação e resposta básicas

JSON
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Olá!"
    }
  ],
  "model": "claude-3-5-sonnet-20240620",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 12,
    "output_tokens": 6
  }
}

Múltiplos turnos de conversação

A API de Mensagens é stateless, 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. Os turnos anteriores da conversa não precisam necessariamente se originar do Claude — você pode usar mensagens sintéticas do assistant.

Shell
#!/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-3-5-sonnet-20240620",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Olá, Claude"},
        {"role": "assistant", "content": "Olá!"},
        {"role": "user", "content": "Você pode me descrever os LLMs?"}
        
    ]
}'
Python
import anthropic

message = anthropic.Anthropic().messages.create(
    model="claude-3-5-sonnet-20240620",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Olá, Claude"},
        {"role": "assistant", "content": "Olá!"},
        {"role": "user", "content": "Você pode me descrever os LLMs?"}
    ],
)
print(message)

TypeScript
import Anthropic from '@anthropic-ai/sdk';

const anthropic = new Anthropic();

await anthropic.messages.create({
  model: 'claude-3-5-sonnet-20240620',
  max_tokens: 1024,
  messages: [
    {"role": "user", "content": "Olá, Claude"},
    {"role": "assistant", "content": "Olá!"},
    {"role": "user", "content": "Você pode me descrever os LLMs?"}
  ]
});
JSON
{
    "id": "msg_018gCsTGsXkYJVqYPxTgDHBU",
    "type": "message",
    "role": "assistant",
    "content": [
        {
            "type": "text",
            "text": "Claro, ficarei feliz em fornecer..."
        }
    ],
    "stop_reason": "end_turn",
    "stop_sequence": null,
    "usage": {
      "input_tokens": 30,
      "output_tokens": 309
    }
}

Colocando palavras na boca do Claude

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.

JSON
{
  "id": "msg_01Q8Faay6S7QPTvEUUQARt7h",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "C"
    }
  ],
  "model": "claude-3-5-sonnet-20240620",
  "stop_reason": "max_tokens",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 42,
    "output_tokens": 1
  }
}

Visão

Claude pode ler tanto texto quanto imagens nas solicitações. Atualmente, suportamos o tipo de fonte base64 para imagens e os tipos de mídia image/jpeg, image/png, image/gif e image/webp. Consulte nosso guia de visão para mais detalhes.

JSON
{
  "id": "msg_01EcyWo6m4hyW8KHs2y2pei5",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Esta imagem mostra uma formiga, especificamente uma visão em close-up de uma formiga. A formiga é mostrada em detalhes, com sua cabeça distinta, antenas e pernas claramente visíveis. A imagem está focada em capturar os detalhes e características intrincadas da formiga, provavelmente tirada com uma lente macro para obter uma perspectiva de close-up extremo."
    }
  ],
  "model": "claude-3-5-sonnet-20240620",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 1551,
    "output_tokens": 71
  }
}

Uso de ferramentas e modo JSON

Consulte nosso guia para exemplos de como usar ferramentas com a API de Mensagens.