El conteo de tokens te permite determinar el número de tokens en un mensaje antes de enviarlo a Claude, ayudándote a tomar decisiones informadas sobre tus prompts y uso. Con el conteo de tokens, puedes:

  • Gestionar proactivamente los límites de tasa y costos
  • Tomar decisiones inteligentes sobre el enrutamiento de modelos
  • Optimizar prompts para una longitud específica

Cómo contar tokens de mensajes

El endpoint de conteo de tokens acepta la misma lista estructurada de entradas para crear un mensaje, incluyendo soporte para prompts de sistema, herramientas, imágenes y PDFs. La respuesta contiene el número total de tokens de entrada.

El conteo de tokens debe considerarse una estimación. En algunos casos, el número real de tokens de entrada utilizados al crear un mensaje puede diferir en una pequeña cantidad.

Modelos soportados

El endpoint de conteo de tokens soporta los siguientes modelos:

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

Contar tokens en mensajes básicos

import anthropic

client = anthropic.Anthropic()

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

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

Contar tokens en mensajes con herramientas

import anthropic

client = anthropic.Anthropic()

response = client.messages.count_tokens(
    model="claude-3-7-sonnet-20250219",
    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 }

Contar tokens en mensajes con imágenes

#!/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-3-7-sonnet-20250219",
    "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 }

Contar tokens en mensajes con pensamiento extendido

Consulta aquí para más detalles sobre cómo se calcula la ventana de contexto con pensamiento extendido

  • Los bloques de pensamiento de turnos anteriores del asistente son ignorados y no cuentan para tus tokens de entrada
  • El pensamiento del turno actual del asistente cuenta para tus tokens de entrada
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-3-7-sonnet-20250219",
      "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 }

Contar tokens en mensajes con PDFs

El conteo de tokens soporta PDFs con las mismas limitaciones que la API de Mensajes.

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-3-7-sonnet-20250219",
      "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 }

Precios y límites de tasa

El conteo de tokens es gratuito de usar pero está sujeto a límites de solicitudes por minuto basados en tu nivel de uso. Si necesitas límites más altos, contacta con ventas a través de la Consola de Anthropic.

Nivel de usoSolicitudes por minuto (RPM)
1100
22,000
34,000
48,000

El conteo de tokens y la creación de mensajes tienen límites de tasa separados e independientes — el uso de uno no cuenta contra los límites del otro.


Preguntas frecuentes

Was this page helpful?