Claude Platform Docs
MessagesGestion du contexte

Comptage des tokens

Comptez les tokens d’un message avant de l’envoyer à Claude. Utilisez les comptages de tokens pour gérer les limites de débit et les coûts, prendre des décisions de routage de modèles et ajuster les prompts à une longueur cible.

Le « token counting » (comptage des tokens) vous permet de déterminer le nombre de tokens d’un message avant de l’envoyer à Claude. Cela vous aide à prendre des décisions éclairées concernant vos prompts et votre utilisation. Grâce au comptage des tokens, vous pouvez :

  • Gérer de manière proactive les « rate limits » (limites de débit) et les coûts
  • Prendre des décisions intelligentes de routage de modèles
  • Optimiser les prompts pour une longueur spécifique

Comment compter les tokens d’un message

Le point de terminaison de comptage des tokensAperçu disponible avec des liens vers la référence de l’API, appuyez sur Tab jusqu’à ce que le focus entre dans la carte, et sur Échap pour revenir. accepte la même liste structurée d’entrées que pour la création d’un message, y compris la prise en charge des invites système, des outils, des images et des PDF. La réponse contient le nombre total de tokens d’entréeAperçu disponible avec des liens vers la référence de l’API, appuyez sur Tab jusqu’à ce que le focus entre dans la carte, et sur Échap pour revenir..

Count tokens in a Message

POST/v1/messages/count_tokens

Count the number of tokens in a Message.

Ce point de terminaison renvoie une erreur invalid_request_error pour quelques entrées que l’API Messages accepte :

  • Les outils serveur tels que la recherche web, la récupération web, l’exécution de code et la recherche d’outils (tous les outils serveur sauf l’outil advisor).
  • Le connecteur MCP.
  • Les blocs image ou document avec une source url ou file.

Envoyez les images et les PDF en base64 pour les compter. Pour les requêtes qui utilisent des outils serveur ou des serveurs MCP, la réponse de l’API Messages indique les tokens utilisés dans son objet usageAperçu disponible avec des liens vers la référence de l’API, appuyez sur Tab jusqu’à ce que le focus entre dans la carte, et sur Échap pour revenir..

Modèles pris en charge

Tous les modèles actifs prennent en charge le comptage des tokens.

Compter les tokens dans des messages simples

client = anthropic.Anthropic()

response = client.messages.count_tokens(
    model="claude-opus-5-5",
    system="You are a scientist",
    messages=[{"role": "user", "content": "Hello, Claude"}],
)

print(response.json())
Output
{ "input_tokens": 14 }

Compter les tokens dans des messages avec outils

client = anthropic.Anthropic()

response = client.messages.count_tokens(
    model="claude-opus-5-5",
    tools=[
        {
            "name": "get_weather",
            "description": "Get the current weather in a given location",
            "input_schema": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city and state, e.g. San Francisco, CA",
                    }
                },
                "required": ["location"],
            },
        }
    ],
    messages=[{"role": "user", "content": "What's the weather like in San Francisco?"}],
)

print(response.json())
Output
{ "input_tokens": 403 }

Compter les tokens dans des messages avec images

import base64
import httpx2

image_url = "https://platform.claude.com/docs/images/vision-example.jpg"
image_media_type = "image/jpeg"
image_data = base64.standard_b64encode(httpx2.get(image_url).content).decode("utf-8")

client = anthropic.Anthropic()

response = client.messages.count_tokens(
    model="claude-opus-5-5",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image_media_type,
                        "data": image_data,
                    },
                },
                {"type": "text", "text": "Describe this image"},
            ],
        }
    ],
)
print(response.json())
Output
{ "input_tokens": 1028 }

Un bloc d’image intégré qui définit "oversized_image": "error" est rejeté au moment du comptage exactement comme l’API Messages le rejetterait.

Compter les tokens dans des messages avec réflexion

client = anthropic.Anthropic()

response = client.messages.count_tokens(
    model="claude-opus-5-5",
    thinking={"type": "adaptive"},
    messages=[
        {
            "role": "user",
            "content": "Are there an infinite number of prime numbers such that n mod 4 == 3?",
        },
        {
            "role": "assistant",
            "content": [
                {
                    "type": "thinking",
                    "thinking": "This is a nice number theory question. Let's think about it step by step...",
                    "signature": "EuYBCkQYAiJAgCs1le6/Pol5Z4/JMomVOouGrWdhYNsH3ukzUECbB6iWrSQtsQuRHJID6lWV...",
                },
                {
                    "type": "text",
                    "text": "Yes, there are infinitely many prime numbers p such that p mod 4 = 3...",
                },
            ],
        },
        {"role": "user", "content": "Can you write a formal proof?"},
    ],
)

print(response.json())
Output
{ "input_tokens": 88 }

Compter les tokens dans des messages avec PDF

import base64
import anthropic

client = anthropic.Anthropic()

with open("/path/to/document.pdf", "rb") as pdf_file:
    pdf_base64 = base64.standard_b64encode(pdf_file.read()).decode("utf-8")

response = client.messages.count_tokens(
    model="claude-opus-5-5",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "base64",
                        "media_type": "application/pdf",
                        "data": pdf_base64,
                    },
                },
                {"type": "text", "text": "Please summarize this document."},
            ],
        }
    ],
)

print(response.json())
Output
{ "input_tokens": 2188 }

Comptages de tokens sur les modèles Claude Fable et Claude Mythos

Claude Fable 5.2, Claude Mythos 5.2, Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5 et Claude Mythos 5 partagent le tokenizer introduit avec Claude Opus 4.7. Un prompt produit le même comptage sur les six, et environ 30 pour cent de plus que sur les modèles antérieurs à Claude Opus 4.7 (l’augmentation exacte dépend du contenu). Le point de terminaison de comptage des tokens compte selon le tokenizer du model que vous transmettez. Pour mesurer la différence pour votre charge de travail, comptez la même requête une fois avec votre modèle actuel et une fois avec le modèle vers lequel vous prévoyez de migrer. Comparez ensuite les deux valeurs input_tokens.


Tarification et limites de débit

Le comptage des tokens est gratuit mais soumis à des limites de débit en requêtes par minute basées sur votre niveau d’utilisation. Si vous avez besoin de limites plus élevées, utilisez Demander un niveau supérieur sur la page Limites de débit de la Claude Console.

Niveau d’utilisationRequêtes par minute (RPM)
Start5 000
Build10 000
Scale20 000

FAQ


Étapes suivantes

Consultez la référence API complète du point de terminaison de comptage des tokens.

Utilisez les comptages de tokens pour maintenir vos prompts dans la fenêtre de contexte d’un modèle.

Vérifiez les comptages de tokens avant d’envoyer une requête afin de rester dans votre niveau d’utilisation.

Réduisez les coûts et la latence sur les prompts répétés en mettant en cache les préfixes de prompts.

Disponibilité

Comptage des tokens
API
  • Messages API
  • Managed Agents Non pris en charge
Modèles
  • Tous les modèles

Points de terminaison concernés

  • /v1/messages/count_tokens
Zéro conservation des donnéesÉligible

Exclut Modèles couverts

Comptez les tokens avant d’envoyer des requêtes.

HIPAAÉligible

Cette page vous a-t-elle été utile ?