Il conteggio dei token ti consente di determinare il numero di token in un messaggio prima di inviarlo a Claude. Questo ti aiuta a prendere decisioni informate sui tuoi prompt e sul loro utilizzo. Con il conteggio dei token, puoi:
Questa funzionalità è idonea per la Zero Data Retention (ZDR). Quando la tua organizzazione dispone di un accordo ZDR, i dati inviati tramite questa funzionalità non vengono conservati dopo che la risposta dell'API è stata restituita.
L'endpoint di conteggio dei token accetta la stessa lista strutturata di input utilizzata per creare un messaggio, incluso il supporto per i prompt di sistema, gli strumenti, le immagini e i PDF. La risposta contiene il numero totale di token di input.
Il conteggio dei token deve essere considerato una stima. In alcuni casi, il numero effettivo di token di input utilizzati durante la creazione di un messaggio può differire di una piccola quantità.
I conteggi dei token possono includere token aggiunti automaticamente da Anthropic per ottimizzazioni di sistema. Non ti vengono addebitati i token aggiunti dal sistema. La fatturazione riflette solo il tuo contenuto.
Tutti i modelli attivi supportano il conteggio dei token, incluso Claude Sonnet 5.
Claude Opus 4.7 e i modelli Opus successivi, Claude Fable 5, Claude Mythos 5, Claude Mythos Preview e Claude Sonnet 5 utilizzano un tokenizer più recente. Lo stesso testo di input produce circa il 30% di token in più rispetto ai modelli precedenti. Riconta i prompt rispetto al modello che intendi utilizzare invece di riutilizzare conteggi misurati su modelli precedenti.
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-opus-4-8",
system="You are a scientist",
messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(response.json()){ "input_tokens": 14 }I conteggi dei token degli strumenti server si applicano solo alla prima chiamata di campionamento.
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-opus-4-8",
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 }import base64
import httpx
image_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image_media_type = "image/jpeg"
image_data = base64.standard_b64encode(httpx.get(image_url).content).decode("utf-8")
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-opus-4-8",
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": 1551 }Consulta come viene calcolata la finestra di contesto con il pensiero esteso per maggiori dettagli
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-sonnet-4-6",
thinking={"type": "enabled", "budget_tokens": 16000},
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 }Il conteggio dei token supporta i PDF con le stesse limitazioni della Messages API.
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-4-8",
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 }Claude Fable 5 e Claude Mythos 5 utilizzano il tokenizer introdotto con Claude Opus 4.7, che produce circa il 30% di token in più rispetto ai modelli precedenti a Claude Opus 4.7 per lo stesso testo. L'endpoint di conteggio dei token restituisce il conteggio secondo il tokenizer del model che passi, quindi per misurare la differenza per il tuo carico di lavoro, conta la stessa richiesta due volte: una volta con il tuo modello attuale e una volta con model: "claude-fable-5" (o "claude-mythos-5"), e confronta i due valori di input_tokens.
Fatturazione e migrazione: L'utilizzo e la fatturazione su Claude Fable 5 e Claude Mythos 5 riflettono i conteggi di questo tokenizer. Se stai migrando da un modello precedente a Claude Opus 4.7, lo stesso contenuto consuma circa il 30% di token in più. Quando migri un carico di lavoro a Claude Fable 5 e Claude Mythos 5, non riutilizzare i conteggi dei token misurati su un modello precedente a Claude Opus 4.7 per stimare i costi o l'adattamento alla finestra di contesto. Conta i tuoi prompt con model: "claude-fable-5" (o "claude-mythos-5").
Il conteggio dei token è gratuito ma soggetto a limiti di velocità in richieste al minuto basati sul tuo livello di utilizzo. Se hai bisogno di limiti più elevati, usa Request rate limit increase nella pagina Limits.
| Livello di utilizzo | Richieste al minuto (RPM) |
|---|---|
| Start | 2.000 |
| Build | 4.000 |
| Scale | 8.000 |
Il conteggio dei token e la creazione dei messaggi hanno limiti di velocità separati e indipendenti. L'utilizzo di uno non conta ai fini dei limiti dell'altro.
Leggi il riferimento completo dell'API per l'endpoint di conteggio dei token.
Usa i conteggi dei token per mantenere i prompt entro la finestra di contesto di un modello.
Controlla i conteggi dei token prima di inviare una richiesta per rimanere entro il tuo livello di utilizzo.
Riduci costi e latenza sui prompt ripetuti memorizzando nella cache i prefissi dei prompt.
Was this page helpful?