Dans cet article, MTok signifie 1 000 000 tokens. Anthropic distingue les Base Input Tokens, les Cache Writes, les Cache Hits et les Output Tokens ; votre modèle de coûts doit donc les séparer lui aussi.
| Poste facturé | Prix | À quoi cela correspond |
|---|---|---|
| Base input tokens | 5 $ / MTok | Tokens d’entrée standard, hors écriture ou lecture de cache. |
| Output tokens | 25 $ / MTok | Tokens générés par Claude dans la réponse. |
| Prompt cache write, TTL 5 minutes | 6,25 $ / MTok | Première écriture d’un prompt réutilisable avec une durée de vie de 5 minutes. |
| Prompt cache write, TTL 1 heure | 10 $ / MTok | Écriture du cache avec une durée de vie de 1 heure. |
| Cache read / hit | 0,50 $ / MTok | Lecture d’un contenu déjà présent dans le cache. |
Le piège classique consiste à prendre un total de tokens et à le multiplier par un prix moyen. Cela marche mal dès que votre application utilise le prompt caching : entrée, sortie, écriture de cache et lecture de cache ont chacun leur tarif.
Si vous n’utilisez pas le cache de prompt, le calcul est direct :
coût = input_tokens ÷ 1 000 000 × 5 + output_tokens ÷ 1 000 000 × 25
Exemple : une requête avec 200 000 tokens en entrée et 20 000 tokens en sortie revient à 1,00 $ + 0,50 $ = 1,50 $, avant tout éventuel frais ou mode de facturation propre à un fournisseur tiers.
Avec le prompt caching, additionnez chaque ligne de consommation :
coût = base_input_tokens ÷ 1 000 000 × 5 + output_tokens ÷ 1 000 000 × 25 + cache_write_5m_tokens ÷ 1 000 000 × 6,25 + cache_write_1h_tokens ÷ 1 000 000 × 10 + cache_read_input_tokens ÷ 1 000 000 × 0,50
Si votre produit n’utilise qu’un seul TTL de cache, gardez uniquement la ligne d’écriture correspondante. Les exemples de streaming d’Anthropic montrent que usage peut contenir input_tokens, output_tokens, cache_creation_input_tokens et cache_read_input_tokens; la page de pricing facture séparément les écritures de cache et les hits.
N’essayez pas de convertir approximativement des caractères ou des mots en tokens. L’endpoint /v1/messages/count_tokens sert précisément à compter les tokens d’un message avant l’envoi à Claude. Il accepte une structure proche de celle de l’API Messages, avec system prompts, tools, images et PDF, puis renvoie le total de tokens d’entrée ; Anthropic indique que tous les modèles actifs prennent en charge ce comptage.
La méthode la plus fiable consiste donc à envoyer à count_tokens le payload exact que vous vous apprêtez à envoyer à l’API Messages : consignes système, historique de conversation, définitions d’outils, images ou documents. Vous obtenez ainsi une estimation d’entrée utilisable pour fixer des alertes, bloquer les requêtes trop chères ou afficher un coût prévisionnel à l’utilisateur.
usage, pas la longueur du texteUne fois la requête terminée, le coût réel doit partir du champ usage renvoyé par l’API, plutôt que d’une estimation faite à partir du texte généré. Les exemples de l’API Messages affichent des champs comme input_tokens et output_tokens; la documentation de streaming montre aussi des champs liés au cache, notamment cache_creation_input_tokens et cache_read_input_tokens.
Attention en streaming : Anthropic précise que les token counts de message_delta.usage sont cumulatifs. Ce ne sont pas des incréments par événement. Les additionner delta par delta reviendrait donc à compter plusieurs fois les mêmes tokens.
Les logs applicatifs sont utiles pour surveiller le coût en temps réel ou couper une fonctionnalité qui dépasse son budget. Pour une clôture mensuelle, une répartition par workspace ou une analyse historique, Anthropic documente une Usage & Cost Admin API donnant un accès programmatique et granulaire aux données d’usage et de coût, avec des découpes par modèle, workspace et service tier.
En pratique, vous pouvez conserver usage à chaque requête pour piloter votre produit, puis rapprocher ces données avec l’Usage & Cost Admin API pour l’analyse et la facturation interne.
Claude Opus 4.7 introduit un nouveau tokenizer. Selon Anthropic, il peut utiliser environ 1× à 1,35× autant de tokens que les modèles précédents pour traiter du texte, soit jusqu’à environ 35 % de plus selon le contenu. Le même input peut donc produire un nombre de tokens différent avec /v1/messages/count_tokens sur Opus 4.7 et sur Opus 4.6.
Autrement dit, un prix affiché de 5 $/MTok en entrée et 25 $/MTok en sortie ne garantit pas que votre facture restera identique après migration. Avant de remplacer Opus 4.6 ou un modèle plus ancien, testez vos prompts les plus fréquents, vos longs contextes, vos payloads avec définitions d’outils et vos workflows les plus coûteux avec /v1/messages/count_tokens, puis ajustez alertes, limites et plafonds de coût.
claude-opus-4-7./v1/messages/count_tokens sur des payloads représentatifs.input_tokens, output_tokens, les écritures de cache et les lectures de cache.message_delta.usage, car ils sont cumulatifs.En résumé : le prix de base de Claude Opus 4.7 est facile à retenir, 5 $/MTok en entrée et 25 $/MTok en sortie. Le coût fiable, lui, se calcule en comptant les tokens avant l’appel, en lisant usage après l’appel, et en traitant le prompt caching ainsi que le nouveau tokenizer comme des variables de budget à part entière.