POST /v1/messages/count_tokens
API count tokens : mesurer un prompt avant de l'envoyer
Le point de terminaison de comptage indique combien de tokens d'entrée une requête consommerait, sans exécuter le modèle. Il accepte le même corps qu'une requête Messages et renvoie un seul nombre. Servez-vous-en pour vérifier qu'un long document tient dans la fenêtre de contexte, découper un travail en lots de bonne taille et estimer un budget avant un gros traitement.
- 01Format d'API: Anthropic Messages
- 02Centres de données dans l'UE
- 03Couvert par un seul DPA
curl https://api.inference.eu/v1/messages/count_tokens \
-H "x-api-key: $INFERENCE_EU_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-oss-120b",
"system": "You summarise supplier contracts for a procurement team.",
"messages": [
{"role": "user", "content": "Summarise the termination and liability clauses in the contract below.\n\n..."}
]
}'
# {"input_tokens": 2147}Ce que fait le point de terminaison
POST /v1/messages/count_tokens suit le format de comptage de tokens d'Anthropic. Vous envoyez model, messages et, si vous les utilisez, system et tools. L'API découpe le tout exactement comme pour une vraie requête, avec le tokenizer du modèle indiqué, et renvoie {"input_tokens": N}.
Rien n'est généré : l'appel est rapide et max_tokens n'est pas nécessaire. Le total inclut le prompt système, chaque message, les définitions d'outils et la mise en forme ajoutée par le modèle de chat du modèle. Il est donc plus fiable que de compter des mots ou d'utiliser vous-même un tokenizer générique.
Pourquoi le tokenizer compte
Chaque modèle ouvert découpe le texte à sa façon. Un même contrat peut représenter nettement plus de tokens pour un modèle que pour un autre, surtout en français, en allemand, dans du code ou des tableaux. La fenêtre de contexte comme la facturation au token se mesurent dans les tokens du modèle concerné.
C'est pourquoi le champ model est obligatoire et qu'il faut compter avec le modèle que vous appellerez réellement. Si vous changez de modèle, recomptez. Une estimation tirée d'un autre tokenizer peut suffire à faire dépasser la limite à un long prompt, et l'API refuse alors la requête avec une erreur 400.
Un schéma éprouvé pour les longs documents
Avant d'envoyer un long document, comptez ensemble le prompt système, le document et la question. Si le total, augmenté de la réponse attendue, tient dans la fenêtre de contexte, envoyez une seule requête. Sinon, découpez le document en morceaux qui tiennent chacun, résumez ou extrayez l'information de chaque morceau, puis combinez les résultats dans un dernier appel.
Le même contrôle sert pour les traitements par lots. Comptez un échantillon d'entrées, multipliez par le nombre de lignes et vous obtenez une estimation réaliste du volume avant de soumettre le lot, plutôt que de la découvrir sur la facture.
Erreurs et cas particuliers
Les erreurs suivent le format d'Anthropic. Un model inconnu renvoie not_found_error (404) ; des messages mal formés, par exemple deux tours user consécutifs quand le modèle ne l'accepte pas, renvoient invalid_request_error (400). Une clé invalide renvoie un 401.
Seule l'entrée est comptée. Les tokens de sortie, y compris la réflexion des modèles de raisonnement, s'ajoutent lors de la génération : gardez-leur de la place. Les images sont comptées selon les règles du modèle de vision, qui dépendent de la résolution. Les résultats reflètent le tokenizer et le modèle de chat de la version actuelle ; ne les réutilisez pas d'une version à l'autre.
Count tokens : questions fréquentes
Les questions que nous posent le plus les achats, les développeurs et les juristes. Il en manque une ? Posez-la-nous directement.
Pages liées
- Messages (Anthropic format)Appelez des modèles open-weight au format Messages d'Anthropic sur inference.eu. Compatible avec les SDK Anthropic et Claude Code, traité dans l'UE.Endpoints
- Prompt cachingRéutilisez le début déjà traité d'un prompt d'une requête à l'autre grâce au cache automatique. Structurer vos prompts et lire cached_tokens.Guides
- BatchesExécutez des milliers de requêtes de chat ou d'embeddings en un seul traitement asynchrone avec une API batch compatible OpenAI, traitée dans l'UE.Endpoints
- Rate limits and errorsFonctionnement des limites de débit et des erreurs de l'API inference.eu : codes HTTP, objet d'erreur, en-têtes de limite et schéma de reprise fiable.Guides
Faites passer vos charges IA sur une infrastructure européenne
Dites-nous quels modèles vous utilisez et votre volume approximatif. Nous répondons sous un jour ouvré avec un tarif et la suite.
- Réponse sous un jour ouvré
- Tarif adapté à votre volume
- DPA prêt à signer