Processo de solicitação
Para usar a API Claude Messages, primeiro acesse o Console do Ace Data Cloud para obter seu API Token e guarde-o para uso posterior.
Se você ainda não tiver feito login ou se registrado, será redirecionado automaticamente para a página de login, onde será convidado a se registrar e fazer login. Após concluir, retornará automaticamente para a página atual.
Um único API Token permite chamar todos os serviços da plataforma, sem a necessidade de solicitar um separadamente para cada serviço. A primeira solicitação oferece créditos gratuitos para experimentar sem custo; quando os créditos forem insuficientes, você poderá recarregar o saldo geral no console.
📘 Documentação completa: Claude Messages API →
Uso básico
O caminho de solicitação da API Claude Messages é/v1/messages, mantendo-se consistente com a API oficial da Anthropic. Precisamos fornecer pelo menos três parâmetros obrigatórios:
model: escolha o modelo Claude a ser usado.claude-opus-5-5é fornecido apenas pela API Messages, suporta contexto de 1 milhão de Tokens, saída máxima de 128K Tokens e sempre ativa o pensamento adaptativo. O mais recente modelo principal é oclaude-fable-5-1(contexto de 1 milhão de Tokens, saída máxima de 128K Tokens); o antigoclaude-fable-5permanece mantido por compatibilidade. Oclaude-sonnet-5-5foi adicionado à série de interfaces nativas Messages, suportando entrada de imagens e pensamento adaptativo; seus preços de referência oficiais para entrada, saída e leitura de cache são, respectivamente, 2, 10 e 0,20 dólares por milhão de Tokens.messages: array de mensagens de entrada, em que cada mensagem contémrole(função) econtent(conteúdo), sendo querolesuportausereassistant.max_tokens: número máximo de tokens de saída, usado para limitar o comprimento de uma única resposta.
system: prompt de sistema, usado para definir o comportamento e a função do modelo.temperature: aleatoriedade da geração, entre 0 e 1; quanto maior o valor, mais divergente será a resposta.stream: se usa resposta em streaming; definido comotrue, permite o efeito de retorno palavra por palavra.stop_sequences: sequências de parada personalizadas; o modelo interromperá a geração ao encontrar esses textos.top_p: parâmetro de amostragem de núcleo, que controla a aleatoriedade da geração junto com temperature.top_k: amostra somente entre as K opções com maior probabilidade.tools: definição de ferramentas, usada para permitir que o modelo chame funções externas.tool_choice: controla como o modelo usa as ferramentas fornecidas.cache_control: cria automaticamente um ponto de interrupção de cache no último bloco de conteúdo armazenável em cache da solicitação; também pode ser escrito em um bloco de conteúdo específico.
Exemplo cURL
Exemplo Python
id: identificador exclusivo desta mensagem.type: sempre émessage.role: sempre éassistant.content: array de conteúdo da resposta; cada elemento contémtype(comotext) e o conteúdo correspondente.model: nome do modelo que processou a solicitação.stop_reason: motivo da interrupção. Os valores estáveis incluemend_turn,max_tokens,stop_sequence,tool_use,pause_turn(você pode reenviar o conteúdo atual do assistant sem alterações para continuar),refusalemodel_context_window_exceeded.stop_sequence: se a interrupção ocorreu devido a uma sequência de parada personalizada, exibe o texto da sequência de parada correspondente.stop_details: quandostop_reasonforrefusal, pode incluir a categoria e a descrição da recusa.usage: estatísticas de uso de tokens.input_tokensé a entrada não armazenada em cache;cache_creation_input_tokensecache_read_input_tokenssão, respectivamente, gravação e leitura de cache;output_tokensé o número total de tokens de saída. Seoutput_tokens_details.thinking_tokensfor retornado, esse valor será um subconjunto deoutput_tokens; não o some novamente ao calcular o total ou o custo. Esse detalhamento poderá sernullou ser omitido quando não houver uma contagem confiável.usage.cache_creation: detalhamento opcional do TTL de gravação de cache, incluindoephemeral_5m_input_tokenseephemeral_1h_input_tokens. Quando o objeto existir, a soma dos dois será igual acache_creation_input_tokens; se o campo fornullou omitido, isso indica que a resposta atual não possui uma divisão de TTL disponível e não deve ser interpretado como0.usage.cost: respostas não em streaming podem incluir o objeto de consumo de créditos registrado pelo Ace Data Cloud, em queamounté o consumo real desta vez,currencyé a unidade de medição, elist_amounté o valor antes do desconto (se houver). O preço base oficial de leitura de cache do Fable 5.1 é de US 12,50 e US$ 20/milhão de Tokens; os preços reais da plataforma são convertidos conforme os descontos do plano.
Prompt de sistema
A API Claude Messages permite definir o prompt de sistema por meio do camposystem, usado para definir o comportamento, a função e o contexto do modelo.
Exemplo Python
system, é possível controlar com precisão o papel e o comportamento do Claude.
Resposta em streaming
Esta interface também oferece suporte a respostas em streaming; basta definir o parâmetrostream como true para obter um efeito de retorno gradual, sendo muito adequado para implementar a exibição palavra por palavra em páginas da web.
Exemplo em Python
event: e data:. Os tipos de eventos em streaming incluem:
message_start: início da mensagem, contendo as informações básicas da mensagem e o nome do modelo.content_block_start: início do bloco de conteúdo.content_block_delta: atualização incremental do bloco de conteúdo, contendo o fragmento de texto recém-gerado.content_block_stop: fim do bloco de conteúdo.message_delta: atualização incremental no nível da mensagem, contendostop_reasone as informações finais deusage. O valor autoritativo deoutput_tokens_details.thinking_tokensdeve ser lido somente do últimomessage_delta.usage; não o acumule entre eventos.message_stop: fim da mensagem.
content_block_delta contém o conteúdo de texto gerado gradualmente; ao concatenar todos os text_delta, é possível obter a resposta completa.
Exemplo em JavaScript
Conversas com múltiplas rodadas
Se você quiser integrar a funcionalidade de conversas com múltiplas rodadas, deverá alternar as mensagens dos papéisuser e assistant no array messages e enviar junto todo o histórico anterior da conversa.
Exemplo em Python
messages, o Claude pode fornecer respostas precisas com base no contexto.
Modelo de raciocínio profundo
O thinking e o thinking summary do Claude são dois conceitos diferentes: o modelo pode realizar raciocínio interno, mas a API não retorna a cadeia de pensamento original. Quando é necessário exibir o processo de raciocínio, o que a API retorna é um resumo processado. Atualmente, recomenda-se que o modelo use adaptive thinking e controle o investimento geral de raciocínio por meio deoutput_config.effort:
display: "summarized"retorna um resumo legível do raciocínio; não é a cadeia de pensamento original.display: "omitted"retornathinking: "", mas ainda preserva asignatureopaca para oferecer suporte a conversas subsequentes.display: "updates"é o modo beta da Anthropic, e requeranthropic-beta: thinking-display-updates-2026-08-18. A definição oficial é ocultar o corpo do raciocínio e exibir breves atualizações de progresso entre chamadas de ferramentas. A plataforma transmite esse parâmetro e o cabeçalho beta conforme os valores originais, e não os reescreve forçadamente comosummarized; o conteúdo real da saída depende do suporte do modelo selecionado.thinking,output_config, effort, parâmetros de amostragem e campos de extensão recém-adicionados são transmitidos conforme os valores originais. A plataforma não mantém enumerações de valores codificadas por modelo, restrições de combinação, nem reescreve automaticamente o modo thinking; cabe ao modelo selecionado determinar se aceita esses parâmetros, e os erros de parâmetros retornados pelo modelo serão repassados ao cliente.- Os valores padrão de display para Fable 5.1, Fable 5, Opus 5, Sonnet 5, Opus 4.8 e Opus 4.7 são
omitted; Opus 4.6, Sonnet 4.6 e modelos anteriores que suportam thinking usamsummarizedpor padrão. - Display afeta apenas o conteúdo retornado e a latência de streaming, não desativa o raciocínio nem reduz a cobrança de tokens de thinking.
- A ativação padrão de thinking e o valor padrão de display são duas questões independentes. Opus 5 e Sonnet 5 ativam adaptive thinking por padrão; para Opus 5, omitir
thinkingequivale a adaptive, e omitiroutput_config.effortequivale ahigh. Opus 4.8, 4.7 e 4.6 exigem ativação explícita. - Thinking e o corpo final compartilham o orçamento de saída de
max_tokens. Quando o orçamento é muito pequeno, thinking pode consumir a maior parte do limite, deixando o corpo vazio ou truncado; aumentemax_tokensou use effortlow/mediumpara controlar o investimento de raciocínio. - Para modelos que permitem desativar thinking, é possível passar
thinking: {"type":"disabled"}. Novos modos comobetween_toolse combinações de effort dependem do modelo selecionado; a plataforma não rejeita antecipadamente com base em regras de modelos antigos. - Orçamentos fixos de raciocínio podem ser transmitidos por meio de
budget_tokens; novos modelos normalmente usamthinking.type=adaptiveeoutput_config.effort. O suporte a orçamentos fixos ou à desativação de raciocínio depende das capacidades atuais do modelo selecionado. - Em conversas de múltiplos turnos e chamadas de ferramentas, o bloco thinking completo e a signature retornados pelo assistant devem ser enviados de volta sem alterações; não modifique nem gere signatures por conta própria.
- A transmissão de parâmetros não significa que todos os modelos suportam todos os recursos. Chamadas entre protocolos ainda exigem conversão, e o escopo de suporte e os erros para conteúdos como
redacted_thinkingsão determinados pelo serviço do modelo que realmente processa a solicitação.
summarized produz thinking_delta; omitted não produz thinking_delta, preservando apenas o ciclo de vida do bloco thinking e signature_delta.
Modelos visuais
Claude oferece suporte a entradas multimodais e pode processar texto e imagens simultaneamente. Na Messages API, os recursos visuais podem ser usados definindocontent como um formato de array e passando blocos de conteúdo de imagem.
Usando imagens codificadas em Base64
Usando imagens por URL
Exemplo de cURL
image/jpeg, image/png, image/gif, image/webp.
Documentos e PDF
PDF usa o bloco de conteúdodocument, oferecendo suporte a duas fontes estáveis: Base64 e URL. Fontes Base64 devem usar application/pdf:
{"type":"url","url":"https://example.com/report.pdf"}. document também oferece suporte a text/plain e a fontes content compostas por blocos text/image; os campos opcionais incluem title, context e citations. A fonte file_id da Files API pertence a uma funcionalidade beta independente e não faz parte do contrato estável desta interface.
Cache de prompts
Ocache_control de nível superior coloca automaticamente o ponto de interrupção de cache no último bloco armazenável em cache:
cache_control nos blocos de conteúdo text, image, document, tool_use, tool_result ou nas definições de ferramentas. ttl oferece suporte a 5m (padrão) e 1h; determine a gravação e os acertos do cache por meio de usage.cache_creation_input_tokens e usage.cache_read_input_tokens.
Quando a resposta fornecer usage.cache_creation, ephemeral_5m_input_tokens + ephemeral_1h_input_tokens = cache_creation_input_tokens. Se cache_creation for null ou estiver omitido, isso indica que há apenas o total de gravações em cache, sem uma divisão autoritativa de TTL; nesse caso, não trate nenhum bucket como um 0 conhecido, e a cobrança e o total ainda devem se basear no campo agregado.
Exemplo de resultado retornado:
Chamada de ferramentas (Tool Use)
A Claude Messages API oferece suporte nativo ao recurso de chamada de ferramentas, permitindo que o modelo chame suas ferramentas/funções predefinidas quando necessário.Exemplo em Python
content no resultado retornado incluirá um bloco de conteúdo do tipo tool_use:
stop_reason é tool_use, indicando que o modelo precisa chamar a ferramenta. Após receber esse resultado, você precisa executar a função da ferramenta e retornar o resultado ao modelo na forma de tool_result:
Diferenças em relação à Chat Completion API
A Ace Data Cloud fornece simultaneamente dois formatos de Claude API, cujas principais diferenças são as seguintes: Ousage.input_tokens da Messages API representa apenas a entrada não armazenada em cache, enquanto cache_read_input_tokens e cache_creation_input_tokens são buckets de cobrança independentes; os três serão calculados separadamente de acordo com os preços correspondentes.
Se o seu sistema já estiver integrado com a API no formato OpenAI, você pode usar a Chat Completion API para alternar perfeitamente. Se precisar usar todos os recursos nativos do Claude, é recomendável usar a Messages API.
Tratamento de erros
As respostas de erro da interface pública usam o envelope da plataforma Ace Data Cloud:error.code é um código de erro estável, error.message é uma descrição, e trace_id é usado para investigar a solicitação. Os status HTTP comuns incluem:
400: os parâmetros da solicitação ou o conteúdo do protocolo são inválidos.401: o token de autorização é inválido, está ausente ou expirou.403: acesso proibido, saldo insuficiente ou cota limitada.404: a API ou o modelo não existe.413: o corpo da solicitação é grande demais.429: solicitações demais.500/503/504: erro de serviço, indisponibilidade temporária ou tempo limite de processamento excedido.
Exemplo de resposta de erro
error.code.

