Loading...
    • Construir
    • Admin
    • Modelos e preços
    • SDKs do cliente
    • Referência da API
    Search...
    ⌘K
    Primeiros passos
    Introdução ao ClaudeInício rápido
    Construindo com Claude
    Visão geral dos recursosUsando a Messages APIHabilidade Claude APITratando motivos de parada
    Capacidades do modelo
    Extended thinkingAdaptive thinkingEsforçoOrçamentos de tarefas (beta)Modo rápido (beta: visualização de pesquisa)Saídas estruturadasCitaçõesStreaming de mensagensProcessamento em loteResultados de pesquisaRecusas em streamingSuporte multilíngueEmbeddings
    Ferramentas
    Visão geralComo o uso de ferramentas funcionaFerramenta de pesquisa na webFerramenta de busca na webFerramenta de execução de códigoFerramenta de consultorFerramenta de memóriaFerramenta BashFerramenta de uso de computadorFerramenta de editor de texto
    Infraestrutura de ferramentas
    Referência de ferramentasPesquisa de ferramentasChamada de ferramentas programáticaStreaming de ferramentas granular
    Gerenciamento de contexto
    Janelas de contextoCompactaçãoEdição de contextoCache de promptContagem de tokens
    Trabalhando com arquivos
    Files APISuporte a PDFImagens e visão
    Habilidades
    Visão geralInício rápidoMelhores práticasHabilidades para empresasHabilidades na API
    MCP
    Servidores MCP remotosConector MCP
    Engenharia de prompt
    Visão geralMelhores práticas de promptFerramentas de prompt do Console
    Testar e avaliar
    Definir sucesso e construir avaliaçõesUsando a ferramenta de avaliação no ConsoleReduzindo latência
    Fortalecer proteções
    Reduzir alucinaçõesAumentar consistência de saídaMitigar jailbreaksReduzir vazamento de prompt
    Recursos
    Glossário
    Notas de lançamento
    Claude Platform
    Console
    Log in
    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

    • Amazon Bedrock
    • 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
    Construindo com Claude

    Usando a Messages API

    Padrões práticos e exemplos para usar a Messages API de forma eficaz

    Was this page helpful?

    • Requisição e resposta básicas
    • Múltiplos turnos conversacionais
    • Colocando palavras na boca do Claude
    • Visão
    • Uso de ferramentas e uso de computador

    Anthropic offers two ways to build with Claude, each suited to different use cases:

    Messages APIClaude Managed Agents
    What it isDirect model prompting accessPre-built, configurable agent harness that runs in managed infrastructure
    Best forCustom agent loops and fine-grained controlLong-running tasks and asynchronous work
    Learn moreMessages API docsClaude Managed Agents docs

    Este guia cobre padrões comuns para trabalhar com a Messages API, incluindo requisições básicas, conversas multi-turno, técnicas de preenchimento e capacidades de visão. Para especificações completas da API, consulte a referência da Messages API.

    This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.

    Requisição e resposta básicas

    message = anthropic.Anthropic().messages.create(
        model="claude-opus-4-7",
        max_tokens=1024,
        messages=[{"role": "user", "content": "Hello, Claude"}],
    )
    print(message)
    Output
    {
      "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "text",
          "text": "Hello!"
        }
      ],
      "model": "claude-opus-4-7",
      "stop_reason": "end_turn",
      "stop_sequence": null,
      "usage": {
        "input_tokens": 12,
        "output_tokens": 6
      }
    }

    Múltiplos turnos conversacionais

    A Messages API é sem estado, o que significa que você sempre envia o histórico conversacional completo para a API. Você pode usar esse padrão para construir uma conversa ao longo do tempo. Os turnos conversacionais anteriores não necessariamente precisam realmente originar do Claude. Você pode usar mensagens sintéticas de assistant.

    Output
    {
      "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
      }
    }

    Colocando palavras na boca do Claude

    Você pode pré-preenchimento 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.

    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
      }
    }

    O preenchimento não é suportado em Claude Mythos Preview, Claude Opus 4.7, Claude Opus 4.6 e Claude Sonnet 4.6. Requisições usando preenchimento com esses modelos retornam um erro 400. Use saídas estruturadas ou instruções de prompt de sistema em vez disso. Consulte o guia de migração para padrões de migração.

    Visão

    Claude pode ler tanto texto quanto imagens em solicitações. As imagens podem ser fornecidas usando os tipos de fonte base64, url ou file. O tipo de fonte file faz referência a uma imagem enviada através da API de Arquivos. Os tipos de mídia suportados são image/jpeg, image/png, image/gif e image/webp. Consulte o guia de visão para mais detalhes.

    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-7",
      "stop_reason": "end_turn",
      "stop_sequence": null,
      "usage": {
        "input_tokens": 1551,
        "output_tokens": 71
      }
    }

    Uso de ferramentas e uso de computador

    Consulte o guia de uso de ferramentas para exemplos de como usar ferramentas com a API de Mensagens. Consulte o guia de uso de computador para exemplos de como controlar ambientes de computador desktop com a API de Mensagens. Para saída JSON garantida, consulte Saídas Estruturadas.

    message = anthropic.Anthropic().messages.create(
        model="claude-opus-4-7",
        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: Base64-encoded image
    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-7",
        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: URL-referenced image
    message_from_url = anthropic.Anthropic().messages.create(
        model="claude-opus-4-7",
        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)