---
title: "API de comptage de tokens · vérifier la taille d'un prompt"
description: "Comptez les tokens d'entrée d'une requête Messages avant de l'envoyer. Point de terminaison count_tokens compatible Anthropic sur inference.eu, traité dans l'UE."
canonical: "https://inference.eu/fr/api/count-tokens/"
language: "fr"
---

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.

[Contacter l'équipe](https://inference.eu/fr/contact/)[Exemple de requête](#example)

1.  01Format d'API: Anthropic Messages
2.  02Centres de données dans l'UE
3.  03Couvert par un seul DPA

POST /v1/messages/count\_tokens

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

Endpoint

POST /v1/messages/count\_tokens

Catégorie

Endpoints

Format d'API

Anthropic Messages

Base URL

api.inference.eu/v1

Traitement

Centres de données dans l'UE

Entraînement sur vos données

Jamais

## 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.

Envoyez le corps de requête prévu, sans \`max\_tokens\`, à \`POST /v1/messages/count\_tokens\`. La réponse contient \`input\_tokens\`, soit le nombre exact que le modèle lirait. Comparez-le à la fenêtre de contexte du modèle, en gardant de la place pour la réponse, avant d'envoyer la vraie requête.

Oui. Le chemin, les en-têtes, le corps et la réponse suivent le point de terminaison d'Anthropic : la méthode \`messages.count\_tokens\` du SDK fonctionne dès que le client pointe vers inference.eu. La différence, c'est que le comptage utilise le tokenizer du modèle ouvert que vous indiquez.

Le comptage n'exécute pas le modèle et ne produit aucune sortie. La façon dont ces requêtes apparaissent sur votre facture dépend de votre offre ; nous vous le confirmons à l'ouverture du compte. Comme toute requête, les appels de comptage peuvent être soumis à des limites de débit.

Chaque famille de modèles a son tokenizer et son modèle de chat. Certains découpent les mots composés ou le code en davantage de morceaux, et les modèles de chat ajoutent des tokens de contrôle différents autour des messages. Comptez toujours avec le modèle que vous allez appeler, et recomptez après un changement.

Oui. Noms, descriptions et schémas JSON des outils sont ajoutés au prompt et consomment des tokens d'entrée à chaque requête. Incluez votre tableau \`tools\` dans la requête de comptage pour obtenir un chiffre réaliste. De longues descriptions sur de nombreux outils pèsent vite.

Le point de terminaison attend le corps Anthropic. Pour une requête OpenAI, placez le prompt système dans \`system\` et le reste dans \`messages\` : le total est le même puisque le modèle et le tokenizer sont identiques. Après un vrai appel, l'objet \`usage\` donne les \`prompt\_tokens\` exacts.

Oui, si vous incluez des blocs image et indiquez un modèle de vision. Le nombre de tokens d'une image dépend de sa résolution et de la façon dont le modèle la découpe en tuiles ; une grande image peut coûter bien plus que prévu. Réduisez les images au niveau de détail utile à la tâche.

Non. Le contenu envoyé pour comptage est découpé en tokens dans des centres de données de l'UE pour renvoyer le résultat, et n'est conservé à aucune autre fin. Il n'est jamais utilisé pour entraîner des modèles, comme toute autre requête à l'API inference.eu.

[Poser une question](https://inference.eu/fr/contact/)

## Pages liées

[Présentation de l'API](https://inference.eu/fr/api/)

-   [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](https://inference.eu/fr/api/messages/)
-   [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](https://inference.eu/fr/api/prompt-caching/)
-   [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](https://inference.eu/fr/api/batches/)
-   [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](https://inference.eu/fr/api/rate-limits-and-errors/)

## 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
