Messages
MarkdownFormato Anthropic Messages. É utilizado pelo Claude Code, pelo Anthropic SDK e por muitos agentes.
Guia completo
https://api.ailoot.ai/v1/messagescurl https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Olá! O que consegue fazer?"}]
}' import anthropic
import os
client = anthropic.Anthropic(max_retries=0,
base_url="https://api.ailoot.ai", # sem /v1: o SDK acrescenta /v1/messages automaticamente
api_key=os.environ["AILOOT_API_KEY"],
)
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Explique em duas frases o que é uma API."}],
)
print(msg.content[0].text)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ maxRetries: 0,
baseURL: "https://api.ailoot.ai", // sem /v1
apiKey: process.env.AILOOT_API_KEY,
});
const msg = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Explique em duas frases o que é uma API." }],
});
console.log(msg.content[0].type === "text" ? msg.content[0].text : msg.content);{
"id": "msg_01H…",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5-5",
"content": [
{ "type": "text", "text": "Olá! Consigo escrever e explicar código, responder a perguntas…" }
],
"stop_reason": "end_turn",
"usage": { "input_tokens": 14, "output_tokens": 52 }
}Autorização
- x-api-keyheaderobrigatório
Chave
sk-…. Também pode utilizarAuthorization: Bearer sk-…— é assim que o Claude Code funciona comANTHROPIC_AUTH_TOKEN. - anthropic-versionheaderopcional
Versão da API, por exemplo
2023-06-01. Os SDK enviam-na automaticamente.
Corpo do pedido
- modelstringobrigatório
ID de um modelo com o formato Messages — 776 identificadores: Claude, bem como GPT, Gemini, DeepSeek, Qwen e outros.
- messagesarrayobrigatório
Mensagens
usereassistant;content— cadeia de caracteres ou blocos (text,image,tool_use,tool_result). - max_tokensintegerobrigatório
Número máximo de tokens da resposta. É incluído na reserva; se o saldo não for suficiente para o limite total, o Ailoot reduz o limite, mas nunca abaixo de 256 (1025 com o raciocínio ativado), e indica o novo limite no cabeçalho
X-Ailoot-Max-Tokens-Capped. - systemstring | arrayopcional
Instrução de sistema.
- streambooleanopcional
Fluxo de eventos SSE (
message_start,content_block_delta, …,message_stop). O texto pago chega num único bloco após o cálculo do custo. - temperaturenumberopcional
Aleatoriedade da resposta de 0 a 1.
- toolsarrayopcional
Ferramentas:
name,description,input_schema. - tool_choiceobjectopcional
auto,any,toolounone. - thinkingobjectopcional
{"type": "enabled", "budget_tokens": N}— raciocínio nos modelos que o suportam. - stop_sequencesarrayopcional
Cadeias de caracteres nas quais a geração deve parar.
Resposta
- contentarray
Blocos da resposta:
text,thinking,tool_use. - stop_reasonstring
end_turn,max_tokens,stop_sequenceoutool_use. - usageobject
input_tokens,output_tokens, para a cache —cache_read_input_tokensecache_creation_input_tokens.