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..
The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization.
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
imageoudocumentavec une sourceurloufile.
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()){ "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()){ "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()){ "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()){ "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()){ "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’utilisation | Requêtes par minute (RPM) |
|---|---|
| Start | 5 000 |
| Build | 10 000 |
| Scale | 20 000 |
FAQ
Non, le comptage des tokens fournit une estimation sans utiliser la logique de mise en cache. Bien que vous puissiez fournir des blocs cache_control dans votre requête de comptage des tokens, la « prompt caching » (mise en cache des prompts) n’a lieu que lors de la création effective d’un message.
É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é
Claude API
- API
- Messages API
- Managed Agents Non pris en charge
- Modèles
- Tous les modèles
Claude Platform on AWS
- API
- Messages API
- Managed Agents Non pris en charge
- Modèles
- Tous les modèles
Claude Models on Google Cloud (Anthropic managed)
- API
- Messages API
- Managed Agents Non pris en charge
- Modèles
- Tous les modèles
Amazon Bedrock
- API
- Messages API
- Modèles
- Tous les modèles
Amazon Bedrock (InvokeModel)
- API
- Messages API
- Modèles
- Tous les modèles
Claude Models on Google Cloud (Google managed)
- API
- Messages API
- Modèles
- Tous les modèles
Microsoft Foundry
- API
- Messages API
- Modèles
- Tous les modèles
Traitement des données
Présentation du traitement des donnéesPoints de terminaison concernés
/v1/messages/count_tokens
Exclut Modèles couverts
Comptez les tokens avant d’envoyer des requêtes.
Cette page vous a-t-elle été utile ?