Combien coûtent 1 million de tokens dans Claude ?
Les tokens d’entrée et de sortie Claude sont facturés séparément. Découvrez le calcul exact pour convertir 1 million de tokens en coût mensuel selon le modèle.
Combien coûtent 1M tokens dans Claude ?
1M tokens signifie un million de tokens. Il s’agit de l’unité utilisée pour exprimer le prix de chaque API Claude (interface de programmation d’application). Il n’existe pas de prix unique, car les tokens d’entrée et de sortie sont facturés à des tarifs différents et chaque modèle possède sa propre paire de tarifs. En août 2026, un million de tokens d’entrée coûte 1 $ avec Claude Haiku 4.5, 2 $ avec Claude Sonnet 5 et 5 $ avec Claude Opus 5.
La sortie est la partie la plus coûteuse. Pour chaque modèle actuel, le tarif de sortie est cinq fois supérieur au tarif d’entrée. La répartition entre les deux détermine donc davantage votre facture que le tarif affiché. Une application qui envoie de longs documents et renvoie de courtes réponses se comporte très différemment d’une application qui génère de longues réponses à partir d’un prompt court.
Cette page présente l’économie à l’unité : le coût d’un token et la façon d’estimer une facture avant de développer. Pour savoir où les tokens sont réellement utilisés pendant votre travail, consultez où vont les tokens dans une session Claude Code.
À quoi correspondent 1M tokens
Un token est une portion du texte que le modèle lit ou génère. Selon l’estimation générale d’Anthropic, il faut 1 token pour 4 caractères, soit environ 0.75 mot en anglais. 1 million de tokens correspond donc à environ 750,000 mots, ou à peu près 4 MB de texte brut.
Les estimations publiées pour des entrées courantes donnent une meilleure idée de l’échelle.
The data behind this chart
[
{
"label": "Average web page (10 kB)",
"tokens": "2,500"
},
{
"label": "Documentation page (100 kB)",
"tokens": "25,000"
},
{
"label": "Research paper PDF (500 kB)",
"tokens": "125,000"
}
]À ces taux, 1M tokens correspondent à environ 400 pages web moyennes lues une fois, ou à huit articles de recherche de cette taille. Cela représente un passage sur une base de code de taille moyenne, ou un mois d’utilisation légère d’un chat par une personne.
Considérez toutes ces valeurs comme des estimations. Le code, le JSON et les textes dans des langues autres que l’anglais contiennent moins de mots par token. Le ratio de 0.75 correspond donc à l’hypothèse la plus favorable. Un autre facteur modifie le décompte : Claude Opus 4.7 et les versions ultérieures, notamment Opus 5 et Sonnet 5, utilisent un tokenizer plus récent qui produit environ 30 pour cent de tokens supplémentaires pour un même texte par rapport à Sonnet 4.6 et aux versions antérieures. Claude Haiku 4.5 utilise l’ancien tokenizer. Ainsi, un décompte mesuré avec Haiku 4.5 sous-estime le décompte obtenu avec Sonnet 5 pour une entrée identique. Une comparaison directe du prix par million de tokens de part et d’autre de cette limite n’est donc pas équitable. Comptez les mêmes prompts avec les deux modèles avant de prendre votre décision.
Ce que Claude facture par million de tokens
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_usd": 1,
"output_usd": 5
},
{
"label": "Sonnet 5 (to 31 Aug 2026)",
"input_usd": 2,
"output_usd": 10
},
{
"label": "Sonnet 5 (from 1 Sep 2026)",
"input_usd": 3,
"output_usd": 15
},
{
"label": "Opus 5",
"input_usd": 5,
"output_usd": 25
}
]Claude Sonnet 5 bénéficie d’un tarif de lancement de 2 $ pour l’entrée et de 10 $ pour la sortie jusqu’au 31 août 2026. À partir du 1er septembre 2026, le tarif standard s’applique : 3 $ pour l’entrée et 15 $ pour la sortie. Claude Opus 5 est facturé 5 $ pour l’entrée et 25 $ pour la sortie.
Les tarifs évoluent. Considérez chaque chiffre de cette page comme un exemple calculé en août 2026. Vérifiez les chiffres actuels sur la page officielle des tarifs avant de valider un budget.
La longueur du contexte ne modifie pas le tarif. Avec Claude 4.6 et les versions ultérieures, la fenêtre de contexte complète de 1M token est facturée au tarif standard. Une requête de 900,000 tokens coûte donc le même prix par token qu’une requête de 9,000 tokens. Un prompt long coûte plus cher parce qu’il contient davantage de tokens. Aucun tarif distinct ne s’applique aux contextes longs.
Le calcul qui reste valable après un changement de prix
Chaque facture correspond à deux multiplications et une addition.
cost = (input_tokens / 1,000,000) * input_rate
+ (output_tokens / 1,000,000) * output_rateVoici le code exécutable correspondant :
INPUT_RATE = 2.00 # USD per million input tokens, Sonnet 5, August 2026
OUTPUT_RATE = 10.00 # USD per million output tokens
def cost(input_tokens, output_tokens):
return (input_tokens * INPUT_RATE + output_tokens * OUTPUT_RATE) / 1_000_000
print(f"{cost(4300, 400):.4f}")Le résultat est 0.0126. Une requête qui envoie 4,300 tokens d’entrée et reçoit 400 tokens de sortie coûte environ 1.3 cent sur Sonnet 5. Conservez les deux tarifs au même endroit dans votre code. Lorsqu’un tarif change, vous modifiez deux lignes, et toutes les estimations de votre système sont mises à jour.
Estimation concrète pour une application réelle
Prenons un assistant de support. Son system prompt et sa documentation produit représentent 4,000 tokens. Ils sont envoyés à chaque requête, car l’API Messages est stateless et le modèle ne conserve aucun élément entre les appels. La question d’un utilisateur ajoute environ 300 tokens. Une réponse représente environ 400 tokens. Chaque requête utilise donc 4,300 tokens en entrée et 400 tokens en sortie.
Un million de tokens d’entrée permet environ 232 requêtes de ce type. Avec 1,000 requêtes par jour, l’application consomme 4.3 millions de tokens d’entrée par jour. Ainsi, « 1M tokens » correspond à moins de six heures de trafic.
The data behind this chart
[
{
"label": "Opus 5, list rates",
"cost_per_1k_usd": "31.50"
},
{
"label": "Sonnet 5, list rates",
"cost_per_1k_usd": "12.60"
},
{
"label": "Sonnet 5, Batch API",
"cost_per_1k_usd": "6.30"
},
{
"label": "Haiku 4.5, list rates",
"cost_per_1k_usd": "6.30"
},
{
"label": "Sonnet 5, warm prompt cache",
"cost_per_1k_usd": "5.40"
}
]Avec Claude Opus 5, ce trafic coûte $31.50 pour 1,000 requêtes. Avec Sonnet 5, il coûte $12.60. En passant à Claude Haiku 4.5, le coût tombe à $6.30, et un prompt cache actif sur Sonnet 5 permet de descendre encore à $5.40.
Multipliez ce montant par 30 pour obtenir le coût mensuel de ce trafic. Aux tarifs catalogue, Sonnet 5 coûte environ $378 par mois. Avec un cache actif, la même application coûte environ $162. Le choix du modèle et la mise en cache ont chacun plus d’impact que toute remise tarifaire que vous pourriez négocier à ce volume. Le choix du modèle à utiliser est une question distincte. Le modèle le moins cher qui réussit vos évaluations est le meilleur choix : choisir entre Opus, Sonnet et Haiku explique comment effectuer ce test correctement.
Le prompt caching réduit la partie répétée
Ce préfixe de 4,000 tokens est identique sur chaque requête, et vous payez le tarif d’entrée complet à chaque fois. Le prompt caching stocke le préfixe traité et applique un tarif réduit lorsqu’il est réutilisé.
La lecture du cache coûte 0.1 fois le tarif d’entrée de base. L’écriture du cache coûte 1.25 fois le tarif de base pour une durée de vie de 5 minutes, ou 2 fois le tarif de base pour une durée de vie de 1 heure. Le cache de 5 minutes est donc amorti après une lecture, car l’écriture coûte 0.25 de plus, tandis que chaque lecture économise 0.9. Le cache de 1 heure nécessite deux lectures pour atteindre le seuil de rentabilité.
La méthode la plus simple pour l’activer consiste à utiliser un seul champ de niveau supérieur :
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"max_tokens": 1024,
"cache_control": {"type": "ephemeral"},
"system": "You are a helpful assistant.",
"messages": [
{"role": "user", "content": "What are the key themes in Pride and Prejudice?"}
]
}'Lisez ensuite le bloc usage renvoyé :
{
"usage": {
"cache_creation_input_tokens": 5120,
"cache_read_input_tokens": 1800,
"input_tokens": 50,
"output_tokens": 503
}
}Ces trois compteurs d’entrée sont facturés à trois tarifs différents. Leur somme correspond à votre volume d’entrée réel : total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokens. Une estimation des coûts qui lit uniquement input_tokens sera fortement erronée une fois la mise en cache activée.
Deux éléments empêchent un cache d’être rentable, et les deux échouent silencieusement.
Le préfixe doit être identique au niveau des octets. La recherche dans le cache correspond à un préfixe. Un timestamp ou le nom de l’utilisateur au début de votre system prompt le modifie donc à chaque requête. Vous payez alors 1.25 fois le tarif d’entrée de base à chaque fois et n’effectuez jamais de lecture. Le symptôme est que cache_creation_input_tokens reste élevé tandis que cache_read_input_tokens reste à 0. Placez cache_control sur le dernier bloc dont le contenu est identique d’une requête à l’autre, puis placez tout ce qui varie après ce bloc. La modification de vos définitions tools invalide tout le cache situé en dessous, car l’invalidation suit l’ordre tools, puis system, puis messages.
Le préfixe doit être suffisamment long. La longueur minimale pouvant être mise en cache est de 512 tokens sur Opus 5, de 1,024 sur Sonnet 5 et de 4,096 sur Haiku 4.5. Un prompt plus court n’est pas mis en cache et aucune erreur n’est renvoyée. Le préfixe de 4,000 tokens de l’exemple précédent est mis en cache sur Sonnet 5, mais pas sur Haiku 4.5, car 4,000 est inférieur au seuil de ce modèle. Lorsque les deux compteurs affichent 0, rien n’a été mis en cache.
Le traitement par lots réduit le tarif de moitié
L’API Batch traite les requêtes de manière asynchrone, avec une réduction de 50 pour cent sur les entrées comme sur les sorties. Dans l’exemple précédent, le coût passe de $12.60 pour 1 000 requêtes à $6.30. Cette réduction se cumule avec la mise en cache des prompts. Un batch job mis en cache est donc la solution la moins coûteuse pour les traitements en volume.
En contrepartie, vous perdez en latence. Le traitement par lots ne convient donc pas aux tâches pour lesquelles une personne attend le résultat. Il convient aux classifications effectuées pendant la nuit et au rattrapage de documents.
Pourquoi le coût augmente au sein d’une même conversation
Comme l’API ne conserve aucun état, votre client renvoie l’intégralité de la conversation à chaque tour. Le nombre de tokens utilisés dans un même chat augmente donc selon le carré de sa longueur, et non de manière linéaire.
Prenons des tours de 500 tokens en moyenne. Le tour 1 envoie 500 tokens d’entrée. Le tour 2 en envoie 1,000. Le tour 20 en envoie 10,000. En appliquant la formule n(n+1)/2, une conversation de 20 tours a donc envoyé environ 105,000 tokens d’entrée, alors que sa transcription ne contient que 10,000 tokens.
C’est pourquoi une fonctionnalité de chat coûte plus cher que ne le laisse penser sa transcription, et pourquoi la mise en cache du préfixe stable ou le résumé des anciens tours devient rentable dans les fils de discussion longs. Un agent qui enchaîne les appels d’outils suit la même évolution, avec un coût encore plus élevé : chaque résultat d’outil reste dans l’historique et est renvoyé à chaque tour suivant. Définir une limite stricte de dépenses pour un agent que vous exécutez vous-même est particulièrement important dans ce cas, car cette croissance est automatique et personne ne la surveille.
Comptez les tokens avant de faire une estimation
Ne déduisez plus le nombre de tokens du nombre de mots. L’API les compte pour vous, gratuitement, avec une limite de débit distincte de celle de la création des messages.
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "content-type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"system": "You are a scientist",
"messages": [{
"role": "user",
"content": "Hello, Claude"
}]
}'La réponse contient un champ :
{ "input_tokens": 14 }Fournissez votre véritable system prompt et vos définitions d’outils, avec un message utilisateur représentatif, puis utilisez ce nombre dans la fonction de coût ci-dessus. L’endpoint accepte le même body qu’une requête de message. Les images et les PDF sont donc également comptabilisés correctement. Deux réserves sont importantes. Le nombre obtenu est une estimation et peut différer légèrement de la valeur facturée. Il est aussi mesuré avec le tokenizer du modèle que vous indiquez. Indiquez donc le modèle que vous exécuterez réellement.
Il est impossible de compter les tokens de sortie à l’avance, car ils n’existent pas encore. Limitez-les avec max_tokens, puis mesurez leur distribution réelle à partir de usage.output_tokens sur le trafic en production.
Ce qui s’ajoute à la facture
Les tokens représentent l’essentiel de la facture. Quelques éléments ne sont pas des tokens et peuvent surprendre.
- Les définitions des outils deviennent des tokens d’entrée à chaque requête. Le system prompt du système d’utilisation des outils ajoute à lui seul 286 à 406 tokens sur Opus 5, avant même vos propres schémas. Dix descriptions d’outils verbeuses peuvent doubler un prompt court.
- La recherche Web est facturée 10 $ pour 1 000 recherches, en plus des tokens consommés par les résultats lorsqu’ils sont ajoutés au contexte.
- Web fetch n’ajoute aucuns frais directement, mais la page récupérée devient des tokens d’entrée. Une page de documentation de 100 kB représente environ 25,000 tokens.
- Demander une inférence exclusivement aux États-Unis avec
inference_geosur Claude 4.6 et les versions ultérieures applique un multiplicateur de 1.1 à chaque catégorie de tokens, y compris les lectures et écritures du cache.
La pertinence de l’API dépend également de votre volume d’utilisation. En dessous d’un certain niveau d’utilisation, un forfait mensuel fixe est nettement plus avantageux, et la comparaison entre l’API et un abonnement Claude présente cette comparaison avec des chiffres réels.
FAQ
Combien coûtent 1M de tokens dans Claude ?
Cela dépend du modèle et du fait que les tokens soient des tokens d’entrée ou de sortie. En août 2026, un million de tokens d’entrée coûte $1 sur Claude Haiku 4.5, $2 sur Claude Sonnet 5 avec la tarification de lancement, et $5 sur Claude Opus 5. La sortie coûte cinq fois le tarif d’entrée sur chacun de ces modèles. Le tarif d’entrée de Sonnet 5 passera à $3 et son tarif de sortie à $15 le 1 septembre 2026. Les tarifs évoluent. Vérifiez-les donc sur la page officielle des tarifs avant d’inscrire un montant dans un budget.
1M de tokens équivaut-il à 1M de mots ?
Non. Un token correspond à environ 4 caractères en anglais, soit environ 0,75 mot. Un million de tokens représente donc environ 750,000 mots. Ce ratio est indicatif. Le code, le JSON et les langues autres que l’anglais utilisent davantage de tokens par mot. Claude Opus 4.7 et les versions ultérieures utilisent aussi un tokenizer plus récent, qui produit environ 30 pour cent de tokens supplémentaires pour un texte identique par rapport à Claude Sonnet 4.6 et aux versions antérieures. Les décomptes ne sont donc pas directement comparables entre générations de modèles. Effectuez la mesure avec l’endpoint gratuit /v1/messages/count_tokens, en indiquant le modèle que vous prévoyez d’utiliser.
La mise en cache des prompts permet-elle toujours d’économiser de l’argent ?
Non. L’écriture d’un cache de 5 minutes coûte 1.25 fois le tarif d’entrée de base. Un préfixe écrit puis jamais relu coûte donc 25 pour cent de plus que s’il était envoyé normalement. Le coût est amorti dès la première lecture. Deux problèmes peuvent survenir, tous deux sans message d’erreur. Si le préfixe mis en cache change entre deux requêtes, la recherche ne trouve aucune correspondance, car elle exige une correspondance exacte du préfixe. Si le préfixe est plus court que la longueur minimale pouvant être mise en cache par le modèle, soit 1,024 tokens sur Sonnet 5 et 4,096 sur Haiku 4.5, rien n’est mis en cache et aucune erreur n’est renvoyée. Lorsque cache_creation_input_tokens et cache_read_input_tokens renvoient tous deux 0, le cache ne sert à rien.
Pourquoi ma facture a-t-elle augmenté plus vite que le nombre de messages ?
Parce que l’intégralité de la conversation est renvoyée à chaque tour. L’API Messages ne conserve aucun état. Le tour 20 d’une conversation contient donc de nouveau les 19 tours précédents comme tokens d’entrée. Avec des tours de 500 tokens en moyenne, une conversation de 20 tours envoie environ 105,000 tokens d’entrée, alors que la transcription ne contient que 10,000 tokens. Les boucles d’agent fonctionnent de la même manière, car chaque résultat d’outil reste dans l’historique. Mettez le préfixe stable en cache, ou résumez les anciens tours et supprimez-les de la requête.