Messages (Anthropic)
Génère un message au format Anthropic Messages. Même clé, même portefeuille, mêmes tarifs que
la surface /v1.
Authentification#
x-api-key: zir_ai_<48 caractères hexadécimaux>
content-type: application/json
Authorization: Bearer … est également accepté.
Paramètres#
| Champ | Type | Description |
|---|---|---|
model requis | string | Identifiant Mina listé par GET /anthropic/v1/models. |
max_tokens requis | integer | Obligatoire. Plafonné par le modèle (8192 / 16384 / 32768). |
messages requis | array | Alternance user / assistant. Contenu : chaîne ou blocs. |
max_cost_micro_dzd | integer | Plafond de dépense en micro-DZD, uniquement avec mina-auto. La requête échoue si elle le dépasse. |
system | string ou array | Instructions. Chaîne, ou liste de blocs text. |
temperature | number | 0 à 2. |
top_p | number | ]0, 1]. |
stop_sequences | array | 4 séquences maximum. |
thinking | object | type vaut enabled ou disabled. Avec enabled, budget_tokens choisit le niveau d'effort. |
output_config.effort | string | off, minimal, low, medium, high, xhigh ou max. |
stream | boolean | Flux d'événements SSE nommés. |
tools | array | name, description, input_schema. |
tool_choice | object | {"type":"auto"} · {"type":"any"} ·
{"type":"tool","name":"…"} · {"type":"none"} |
metadata.user_id | string | Isolement des limites de débit (≤ 512, alphanumérique). |
Supporté : thinking (enabled/disabled,
budget_tokens traduit en niveau d'effort) et output_config.effort :
voir Mode de pensée. Le raisonnement revient dans un bloc de
contenu thinking, et usage.cache_read_input_tokens indique la part
servie par le cache.
Acceptés puis ignorés : cache_control (cache automatique),
top_k, anthropic-version, betas,
mcp_servers, container.
Blocs image supportés (base64 ou url) : Vision.
Refusés (400) : blocs document.
Modèles Mina disponibles#
Les identifiants sélectionnables sont mina-flash, mina-low
et mina-full. La liste activée pour votre clé est renvoyée par
GET /anthropic/v1/models.
Requête#
curl https://api.cloudzir.com/anthropic/v1/messages \
-H "x-api-key: $CLOUDZIR_API_KEY" \
-H "content-type: application/json" \
-d '{
"model": "mina-full",
"max_tokens": 512,
"system": "Tu es un assistant concis.",
"messages": [{"role": "user", "content": "Cite trois wilayas côtières."}]
}'
Réponse#
{
"id": "msg_4334a6f158894999",
"type": "message",
"role": "assistant",
"model": "mina-full",
"content": [{"type": "text", "text": "Alger, Oran et Béjaïa."}],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {"input_tokens": 24, "output_tokens": 9}
}
| Champ | Valeurs |
|---|---|
content[] | Blocs text et/ou tool_use. |
stop_reason |
end_turn · max_tokens · tool_use · stop_sequence (non émis aujourd'hui : un arrêt sur une séquence remonte en end_turn) |
usage | input_tokens, output_tokens. |
Appel d'outil#
{
"content": [{
"type": "tool_use",
"id": "toolu_a1b2c3",
"name": "stock_produit",
"input": {"reference": "DEMO-001"}
}],
"stop_reason": "tool_use"
}
Répondez au tour suivant avec un bloc tool_result portant le même
tool_use_id.
Streaming#
event: message_start
data: {"type":"message_start","message":{"id":"msg_…","type":"message","role":"assistant",
"model":"mina-low","content":[],"stop_reason":null,
"usage":{"input_tokens":0,"output_tokens":0}}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Alger"}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},
"usage":{"input_tokens":24,"output_tokens":9}}
event: message_stop
data: {"type":"message_stop"}
Des événements ping sont émis pendant l'attente. Pour un outil, les arguments
arrivent en input_json_delta (fragments à concaténer).
Erreurs#
{"type":"error","error":{"type":"rate_limit_error","message":"Limite de débit atteinte…"}}
Types : invalid_request_error, authentication_error,
permission_error, not_found_error, rate_limit_error,
api_error, overloaded_error. Correspondance HTTP complète :
Codes d'erreur.
Lister les modèles#
curl https://api.cloudzir.com/anthropic/v1/models \
-H "x-api-key: $CLOUDZIR_API_KEY"