Il conteggio dei token ti consente di determinare il numero di token in un messaggio prima di inviarlo a Claude, aiutandoti a prendere decisioni informate sui tuoi prompt e sull’utilizzo. Con il conteggio dei token, puoi
  • Gestire proattivamente i limiti di velocità e i costi
  • Prendere decisioni intelligenti di routing del modello
  • Ottimizzare i prompt per avere una lunghezza specifica

Come contare i token dei messaggi

L’endpoint di conteggio dei token accetta la stessa lista strutturata di input per creare un messaggio, incluso il supporto per prompt di sistema, strumenti, immagini, e PDF. La risposta contiene il numero totale di token di input.
Il conteggio dei token dovrebbe essere considerato una stima. In alcuni casi, il numero effettivo di token di input utilizzati durante la creazione di un messaggio potrebbe differire di una piccola quantità.I conteggi dei token possono includere token aggiunti automaticamente da Anthropic per ottimizzazioni del sistema. Non ti vengono addebitati i token aggiunti dal sistema. La fatturazione riflette solo il tuo contenuto.

Modelli supportati

Tutti i modelli attivi supportano il conteggio dei token.

Contare i token nei messaggi di base

import anthropic

client = anthropic.Anthropic()

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

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

Contare i token nei messaggi con strumenti

I conteggi dei token degli strumenti server si applicano solo alla prima chiamata di campionamento.
import anthropic

client = anthropic.Anthropic()

response = client.messages.count_tokens(
    model="claude-sonnet-4-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())
JSON
{ "input_tokens": 403 }

Contare i token nei messaggi con immagini

#!/bin/sh

IMAGE_URL="https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
IMAGE_MEDIA_TYPE="image/jpeg"
IMAGE_BASE64=$(curl "$IMAGE_URL" | base64)

curl https://api.anthropic.com/v1/messages/count_tokens \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --data \
'{
    "model": "claude-sonnet-4-5",
    "messages": [
        {"role": "user", "content": [
            {"type": "image", "source": {
                "type": "base64",
                "media_type": "'$IMAGE_MEDIA_TYPE'",
                "data": "'$IMAGE_BASE64'"
            }},
            {"type": "text", "text": "Describe this image"}
        ]}
    ]
}'
JSON
{ "input_tokens": 1551 }

Contare i token nei messaggi con pensiero esteso

Vedi qui per maggiori dettagli su come viene calcolata la finestra di contesto con il pensiero esteso
  • I blocchi di pensiero dai turni dell’assistente precedenti vengono ignorati e non contano verso i tuoi token di input
  • Il pensiero del turno dell’assistente corrente conta verso i tuoi token di input
curl https://api.anthropic.com/v1/messages/count_tokens \
    --header "x-api-key: $ANTHROPIC_API_KEY" \
    --header "content-type: application/json" \
    --header "anthropic-version: 2023-06-01" \
    --data '{
      "model": "claude-sonnet-4-5",
      "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. Lets 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?"
        }
      ]
    }'
JSON
{ "input_tokens": 88 }

Contare i token nei messaggi con PDF

Il conteggio dei token supporta i PDF con le stesse limitazioni dell’API Messages.
curl https://api.anthropic.com/v1/messages/count_tokens \
    --header "x-api-key: $ANTHROPIC_API_KEY" \
    --header "content-type: application/json" \
    --header "anthropic-version: 2023-06-01" \
    --data '{
      "model": "claude-sonnet-4-5",
      "messages": [{
        "role": "user",
        "content": [
          {
            "type": "document",
            "source": {
              "type": "base64",
              "media_type": "application/pdf",
              "data": "'$(base64 -i document.pdf)'"
            }
          },
          {
            "type": "text",
            "text": "Please summarize this document."
          }
        ]
      }]
    }'
JSON
{ "input_tokens": 2188 }

Prezzi e limiti di velocità

Il conteggio dei token è gratuito ma soggetto ai limiti di richieste per minuto basati sul tuo livello di utilizzo. Se hai bisogno di limiti più alti, contatta il team vendite tramite la Console Claude.
Livello di utilizzoRichieste per minuto (RPM)
1100
22,000
34,000
48,000
Il conteggio dei token e la creazione di messaggi hanno limiti di velocità separati e indipendenti — l’utilizzo di uno non conta contro i limiti dell’altro.

FAQ

No, il conteggio dei token fornisce una stima senza utilizzare la logica di caching. Anche se puoi fornire blocchi cache_control nella tua richiesta di conteggio dei token, la cache dei prompt avviene solo durante l’effettiva creazione del messaggio.