Messages
MarkdownFormat Anthropic Messages, utilisé par Claude Code, Anthropic SDK et de nombreux agents.
Guide complet
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": "Bonjour ! Que sais-tu faire ?"}]
}' import anthropic
import os
client = anthropic.Anthropic(max_retries=0,
base_url="https://api.ailoot.ai", # sans /v1 : le SDK ajoutera lui-même /v1/messages
api_key=os.environ["AILOOT_API_KEY"],
)
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Explique en deux phrases ce qu’est une API."}],
)
print(msg.content[0].text)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ maxRetries: 0,
baseURL: "https://api.ailoot.ai", // sans /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 en deux phrases ce qu’est une 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": "Bonjour ! Je sais écrire et expliquer du code, répondre à des questions…" }
],
"stop_reason": "end_turn",
"usage": { "input_tokens": 14, "output_tokens": 52 }
}Autorisation
- x-api-keyheaderobligatoire
Clé
sk-…. Vous pouvez aussi utiliserAuthorization: Bearer sk-…— c’est ce que fait Claude Code avecANTHROPIC_AUTH_TOKEN. - anthropic-versionheaderfacultatif
Version de l’API, par exemple
2023-06-01. Les SDK l’envoient automatiquement.
Corps de la requête
- modelstringobligatoire
ID de modèle au format Messages, soit 776 identifiants : Claude, ainsi que GPT, Gemini, DeepSeek, Qwen et d’autres.
- messagesarrayobligatoire
Messages
useretassistant;content— chaîne ou blocs (text,image,tool_use,tool_result). - max_tokensintegerobligatoire
Nombre maximal de jetons de réponse. Il est pris en compte dans la réserve; si le solde ne couvre pas toute la limite, Ailoot la réduit, sans descendre sous 256 (1025 avec le raisonnement activé), et indique la nouvelle limite dans l’en-tête
X-Ailoot-Max-Tokens-Capped. - systemstring | arrayfacultatif
Instruction système.
- streambooleanfacultatif
Flux d’événements SSE (
message_start,content_block_delta, …,message_stop). Le texte facturé arrive en un seul bloc après le calcul du coût. - temperaturenumberfacultatif
Caractère aléatoire de la réponse, de 0 à 1.
- toolsarrayfacultatif
Outils :
name,description,input_schema. - tool_choiceobjectfacultatif
auto,any,toolounone. - thinkingobjectfacultatif
{"type": "enabled", "budget_tokens": N}— raisonnement pour les modèles qui le prennent en charge. - stop_sequencesarrayfacultatif
Chaînes qui interrompent la génération.
Réponse
- contentarray
Blocs de réponse :
text,thinking,tool_use. - stop_reasonstring
end_turn,max_tokens,stop_sequenceoutool_use. - usageobject
input_tokens,output_tokens, pour le cache :cache_read_input_tokensetcache_creation_input_tokens.