Il conteggio dei token ti permette 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 frequenza e i costi
  • Prendere decisioni intelligenti sul routing dei modelli
  • Ottimizzare i prompt per una lunghezza specifica

Come contare i token dei messaggi

L’endpoint conteggio dei token accetta la stessa lista strutturata di input per la creazione di 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à.

Modelli supportati

L’endpoint di conteggio dei token supporta i seguenti modelli:

  • Claude Opus 4
  • Claude Sonnet 4
  • Claude Sonnet 3.7
  • Claude Sonnet 3.5
  • Claude Haiku 3.5
  • Claude Haiku 3
  • Claude Opus 3

Conteggio dei token nei messaggi di base

import anthropic

client = anthropic.Anthropic()

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

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

Conteggio dei token nei messaggi con strumenti

I conteggi dei token per strumenti server si applicano solo alla prima chiamata di campionamento.

import anthropic

client = anthropic.Anthropic()

response = client.messages.count_tokens(
    model="claude-opus-4-20250514",
    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 }

Conteggio dei 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-opus-4-20250514",
    "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 }

Conteggio dei 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 dei turni precedenti dell’assistente vengono ignorati e non contano per i tuoi token di input
  • Il pensiero del turno attuale dell’assistente conta per 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-opus-4-20250514",
      "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 }

Conteggio dei 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-opus-4-20250514",
      "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 frequenza

Il conteggio dei token è gratuito da utilizzare ma soggetto a limiti di richieste al minuto in base al tuo livello di utilizzo. Se hai bisogno di limiti più elevati, contatta il reparto vendite tramite la Console Anthropic.

Livello di utilizzoRichieste al minuto (RPM)
1100
22.000
34.000
48.000

Il conteggio dei token e la creazione di messaggi hanno limiti di frequenza separati e indipendenti — l’utilizzo di uno non conta rispetto ai limiti dell’altro.


FAQ