Saltar al contenido principal
La API de Conteo de Tokens de Claude Messages puede calcular la cantidad de tokens de entrada de un mensaje sin crear realmente el mensaje, incluyendo el conteo de tokens de herramientas, imágenes y documentos. Esto es muy útil cuando se necesita estimar costos o verificar si la entrada excede el límite de contexto del modelo. Este documento describe principalmente el proceso de uso de la API de Conteo de Tokens de Claude Messages.

Proceso de Solicitud

Para usar la API de Conteo de Tokens de Claude Messages, primero puedes ir a la página de API de Conteo de Tokens de Claude Messages y hacer clic en el botón “Acquire” para obtener las credenciales necesarias para la solicitud. Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invita a registrarte e iniciar sesión; después de iniciar sesión o registrarte, serás devuelto automáticamente a la página actual. Esta API es completamente gratuita, no consume cuota.

Uso Básico

La ruta de solicitud de la API de Conteo de Tokens de Claude Messages es /v1/messages/count_tokens, manteniendo la consistencia con la API oficial de Anthropic. Necesitamos proporcionar al menos dos parámetros obligatorios:
  • model: seleccionar el modelo de Claude a utilizar, como claude-sonnet-4-5-20250929, claude-opus-4-20250514, etc.
  • messages: un array de mensajes de entrada, donde cada mensaje incluye role (rol) y content (contenido).
Parámetros opcionales comunes:
  • system: mensaje del sistema, que se contabiliza en la cantidad de tokens.
  • tools: definición de herramientas, que se contabiliza en la cantidad de tokens.
  • thinking: configuración de pensamiento extendido.

Ejemplo de cURL

curl -X POST 'https://api.acedata.cloud/v1/messages/count_tokens' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer {token}' \
  -H 'content-type: application/json' \
  -d '{
    "model": "claude-sonnet-4-5-20250929",
    "messages": [
      {
        "role": "user",
        "content": "Hello, Claude"
      }
    ]
  }'

Ejemplo de Python

import httpx

url = "https://api.acedata.cloud/v1/messages/count_tokens"
headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json",
}
payload = {
    "model": "claude-sonnet-4-5-20250929",
    "messages": [
        {
            "role": "user",
            "content": "Hello, Claude"
        }
    ],
}
response = httpx.post(url, headers=headers, json=payload)
print(response.json())
Ejemplo de resultado devuelto:
{
  "input_tokens": 11
}

Uso del SDK de Anthropic

La API de Conteo de Tokens de Claude Messages es completamente compatible con el SDK oficial de Anthropic, y se puede utilizar directamente la biblioteca anthropic para hacer la llamada.
from anthropic import Anthropic

client = Anthropic(
    api_key="{token}",
    base_url="https://api.acedata.cloud",
)

result = client.messages.count_tokens(
    model="claude-sonnet-4-5-20250929",
    messages=[
        {
            "role": "user",
            "content": "Hello, Claude"
        }
    ],
)
print(result.input_tokens)

Conteo de Tokens que Incluye Herramientas

Si tu solicitud incluye definiciones de herramientas, estas herramientas también se contabilizarán en la cantidad de tokens:
result = client.messages.count_tokens(
    model="claude-sonnet-4-5-20250929",
    messages=[
        {
            "role": "user",
            "content": "What is the weather in San Francisco?"
        }
    ],
    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"]
            }
        }
    ],
)
print(result.input_tokens)

Conteo de Tokens que Incluye Mensajes del Sistema

Los mensajes del sistema también se contabilizarán en la cantidad de tokens:
result = client.messages.count_tokens(
    model="claude-sonnet-4-5-20250929",
    system="You are a helpful assistant that speaks Chinese.",
    messages=[
        {
            "role": "user",
            "content": "Hello"
        }
    ],
)
print(result.input_tokens)

Consideraciones

  • Esta API solo calcula la cantidad de tokens de entrada y no generará ninguna salida del modelo.
  • Los resultados del conteo de tokens se pueden utilizar para estimar el costo de llamar a la API de Claude Messages.
  • La forma de tokenización puede variar entre diferentes modelos, asegúrate de usar el mismo parámetro de modelo que en la llamada real.
  • Esta API es completamente gratuita y no consume ninguna cuota.