Comment fonctionne une API pour l’intelligence artificielle ?
MarkdownFonctionnement
Ce qui se passe entre votre application et le modèle lorsqu’une requête est envoyée.
Guide complet
Vous envoyez une requête à l’API Ailoot comme si vous l’envoyiez directement à OpenAI, Anthropic ou Google. Ailoot vérifie la clé et le solde, transmet la requête au modèle, renvoie la réponse au même format et débite le montant selon la consommation réelle.
Une clé, trois formats
Le format dépend du chemin de la requête, et non du modèle. Vous pouvez appeler un même modèle Claude via OpenAI Chat, OpenAI Responses ou Anthropic Messages : la réponse utilise le format du chemin appelé.
| Format | Chemin | Clients qui l’utilisent |
|---|---|---|
| OpenAI Chat Completions | /v1/chat/completions | SDK OpenAI, la plupart des applications de chat et des éditeurs, n8n, LangChain |
| OpenAI Responses | /v1/responses | Codex CLI, OpenAI Agents SDK, versions récentes des SDK |
| Anthropic Messages | /v1/messages | Claude Code, SDK Anthropic, Zed, Cline |
| Gemini | /v1beta/models/{model}:generateContent | Gemini CLI, SDK Google GenAI |
Facturation : réservation et débit unique
- Avant l’envoi d’une nouvelle requête textuelle, Ailoot réserve le coût estimé de l’entrée et d’une réponse de longueur typique, en tenant compte de la limite (
max_tokens) et des conditions du modèle précis utilisé. Si la réservation dépasse le solde disponible ou le plafond de la clé, la limite transmise ne peut être réduite que pour un modèle et une méthode qui la respectent réellement, sans descendre en dessous de 256 tokens ni du minimum de réponse fixé. Pour les images, la vidéo et l’audio en sortie, le coût total du résultat reste réservé. - Après la réponse, un seul débit est effectué selon la consommation réelle. La part inutilisée de la réservation est immédiatement rendue disponible sur le solde.
- Si la réponse coûte plus que la réservation, la différence est prélevée sur le solde disponible. Le solde ne devient jamais négatif.
- Si le solde ne couvre même pas la réservation minimale, la requête n’est pas envoyée : vous recevez une erreur 402 explicite et aucun montant n’est débité.
- Une erreur qui ne produit aucun résultat n’est pas facturée.
Les détails et un exemple de calcul figurent sur la page Réservation et débit.
Erreurs avec Request ID
Chaque réponse reçoit un identifiant de requête, dans l’en-tête X-Request-ID et dans le texte de l’erreur. Les erreurs sont au format JSON de l’API appelée, afin que les SDK les reconnaissent correctement. En cas de problème, transmettez le Request ID à l’assistance — nous pourrons ainsi retrouver la requête en une minute.
{
"code": "API_KEY_REQUIRED",
"error": {
"code": "invalid_api_key",
"message": "No API key was sent with the request. Nothing was charged. Please check that the full key is sent in the Authorization header as \"Bearer <key>\". Request ID: 3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6.",
"param": null,
"reason": "invalid_api_key",
"request_id": "3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6",
"type": "invalid_request_error"
},
"message": "No API key was sent with the request. Nothing was charged. …"
}Streaming et délais d’attente
Les réponses en streaming (stream: true) utilisent Server-Sent Events. Ailoot fournit la réponse textuelle facturée après le calcul du coût. Ainsi, avec stream: true , le format reste un flux SSE, mais le texte arrive en un seul bloc lorsque le modèle a terminé, et non mot par mot. Si la préparation de la réponse dépasse environ 15 secondes, les flux Chat Completions, Responses et Messages commencent par des lignes techniques : ping (environ toutes les 10 secondes), puis la ligne : ailoot-charged-usd … avec le montant débité, puis les données. Les SDK ignorent ces lignes.
Le format Gemini ne contient pas de lignes techniques : la réponse :streamGenerateContent arrive en entier après le calcul. Prévoyez une marge dans le délai d’attente du client pour les modèles de raisonnement : plusieurs minutes sont normales.
En-têtes de réponse
X-Request-ID est présent dans chaque réponse. Ailoot ajoute les autres en-têtes aux réponses textuelles payantes :
| En-tête | Contenu |
|---|---|
X-Request-ID | Identifiant de la requête, demandé par l’assistance |
X-Ailoot-Charged-USD | Montant débité pour cette requête, en dollars |
X-Ailoot-Output-Tokens | Nombre de tokens de réponse facturés |
X-Ailoot-Max-Tokens-Capped | Limite de réponse réduite parce que le solde ne couvrait pas la réservation complète |
X-Ailoot-Notice-Code, X-Ailoot-Notice | Explication si la réponse s’est arrêtée à la limite de longueur |
Si le flux a déjà commencé par des lignes techniques, ces informations sont transmises dans une ligne de commentaire avant les données, et non dans un en-tête.
Cache des prompts
Si le modèle prend en charge le cache, renvoyer un long préfixe, comme une instruction système ou des documents, peut coûter moins cher. Les tarifs de lecture et d’écriture du cache figurent dans la fiche du modèle dans le catalogue. L’utilisation effective du cache dépend du développeur du modèle ; Ailoot ne la garantit pas.
Plus de détails
Questions sur le fonctionnement de l’API
Que fait Ailoot lorsqu’une requête est envoyée à l’API ?
Vous envoyez une requête à l’API Ailoot comme si vous l’envoyiez directement à OpenAI, Anthropic ou Google. Ailoot vérifie la clé et le solde, transmet la requête au modèle, renvoie la réponse au même format et débite le montant selon la consommation réelle.