Messages (Anthropic)

Génère un message au format Anthropic Messages. Même clé, même portefeuille, mêmes tarifs que la surface /v1.

POST https://api.cloudzir.com/anthropic/v1/messages

Authentification#

x-api-key: zir_ai_<48 caractères hexadécimaux>
content-type: application/json

Authorization: Bearer … est également accepté.

Paramètres#

ChampTypeDescription
model requisstring Identifiant Mina listé par GET /anthropic/v1/models.
max_tokens requisinteger Obligatoire. Plafonné par le modèle (8192 / 16384 / 32768).
messages requisarray Alternance user / assistant. Contenu : chaîne ou blocs.
max_cost_micro_dzdinteger Plafond de dépense en micro-DZD, uniquement avec mina-auto. La requête échoue si elle le dépasse.
systemstring ou arrayInstructions. Chaîne, ou liste de blocs text.
temperaturenumber0 à 2.
top_pnumber]0, 1].
stop_sequencesarray4 séquences maximum.
thinkingobjecttype vaut enabled ou disabled. Avec enabled, budget_tokens choisit le niveau d'effort.
output_config.effortstringoff, minimal, low, medium, high, xhigh ou max.
streambooleanFlux d'événements SSE nommés.
toolsarrayname, description, input_schema.
tool_choiceobject {"type":"auto"} · {"type":"any"} · {"type":"tool","name":"…"} · {"type":"none"}
metadata.user_idstringIsolement 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}
}
ChampValeurs
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)
usageinput_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"

Paramètres

Réponse API