Source: https://ailoot.ai/docs/fr-ch/api/messages/
Canonical: https://ailoot.ai/docs/fr-ch/api/messages/
Language: fr-ch

[API](https://ailoot.ai/docs/fr-ch/) 

# Messages

[Markdown](https://ailoot.ai/docs/fr-ch/api/messages/index.md)

Format Anthropic Messages, utilisé par Claude Code, le SDK Anthropic et de nombreux agents.

POST`https://api.ailoot.ai/v1/messages`

Messages

```bash
curl 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 ?"}]
  }' 
```

```python
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)
```

```js
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);
```

200 OK

```json
{
  "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 }
}
```

## Authentification

| Paramètre | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `x-api-key` | header | obligatoire | Clé `sk-…`. Vous pouvez aussi utiliser `Authorization: Bearer sk-…` — c’est ce que fait Claude Code avec `ANTHROPIC_AUTH_TOKEN`. |
| `anthropic-version` | header | facultatif | Version de l’API, par exemple `2023-06-01`. Les SDK l’envoient automatiquement. |

## Corps de la requête

| Paramètre | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `model` | string | obligatoire | ID d’un modèle compatible avec le format Messages. 776 identifiants sont disponibles : Claude, mais aussi GPT, Gemini, DeepSeek, Qwen et d’autres. |
| `messages` | array | obligatoire | Messages `user` et `assistant`; `content` — chaîne ou blocs (`text`, `image`, `tool_use`, `tool_result`). |
| `max_tokens` | integer | obligatoire | Nombre maximal de tokens de réponse. Il entre dans la réservation. 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`. |
| `system` | string \| array | facultatif | Instruction système. |
| `stream` | boolean | facultatif | 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. |
| `temperature` | number | facultatif | Degré d’aléatoire de la réponse, de 0 à 1. |
| `tools` | array | facultatif | Outils : `name`, `description`, `input_schema`. |
| `tool_choice` | object | facultatif | `auto`, `any`, `tool` ou `none`. |
| `thinking` | object | facultatif | `{"type": "enabled", "budget_tokens": N}` — raisonnement pour les modèles qui le prennent en charge. |
| `stop_sequences` | array | facultatif | Chaînes qui interrompent la génération. |

## Réponse

| Paramètre | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `content` | array |  | Blocs de réponse : `text`, `thinking`, `tool_use`. |
| `stop_reason` | string |  | `end_turn`, `max_tokens`, `stop_sequence` ou `tool_use`. |
| `usage` | object |  | `input_tokens`, `output_tokens`, pour le cache : `cache_read_input_tokens` et `cache_creation_input_tokens`. |

Le comptage des tokens (`POST /v1/messages/count_tokens`) n’est actuellement pas disponible pour les modèles du catalogue.

Encore des questions ? Envoyez le Request ID et une description : nous vous aiderons à l’analyser.[Contacter l’assistance](mailto:support@ailoot.ai)

## Ailoot · L’entreprise et son portefeuille de projets





Ailoot s’appuie sur une expérience opérationnelle éprouvée, une large clientèle, un service stable et un suivi continu des KPI.





L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.





Ailoot met cette expérience opérationnelle au service de l’accès API aux fonctions d’IA dans les produits des clients, leurs agents, applications et automatisations.
