Перейти к основному содержанию
Claude Messages Count Tokens API может вычислить количество входных токенов для сообщения без фактического его создания, включая токены для инструментов, изображений и документов. Это очень полезно, когда необходимо оценить стоимость или проверить, превышает ли вводимые данные ограничения контекста модели. В этом документе в основном описывается процесс использования Claude Messages Count Tokens API.

申请流程

Чтобы использовать Claude Messages Count Tokens API, сначала перейдите на страницу Claude Messages Count Tokens API и нажмите кнопку «Acquire», чтобы получить необходимые для запроса учетные данные. Если вы еще не вошли в систему или не зарегистрированы, вас автоматически перенаправят на страницу входа, пригласив зарегистрироваться и войти в систему. После входа или регистрации вы автоматически вернетесь на текущую страницу. Этот API полностью бесплатен, не требует расходования лимитов.

基本使用

Запрос к Claude Messages Count Tokens API осуществляется по пути /v1/messages/count_tokens, что соответствует официальному API Anthropic. Мы должны предоставить как минимум два обязательных параметра:
  • model: выберите используемую модель Claude, например claude-sonnet-4-5-20250929, claude-opus-4-20250514 и т.д.
  • messages: массив входящих сообщений, каждое сообщение содержит role (роль) и content (содержимое).
Распространенные необязательные параметры:
  • system: системный подсказка, будет учитываться в количестве токенов.
  • tools: определение инструментов, будет учитываться в количестве токенов.
  • thinking: расширенная конфигурация размышлений.

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"
      }
    ]
  }'

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())
返回结果示例:
{
  "input_tokens": 11
}

使用 Anthropic SDK

Claude Messages Count Tokens API полностью совместим с официальным SDK Anthropic, вы можете напрямую использовать библиотеку anthropic для вызова.
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)

包含工具的 Token 计数

Если ваш запрос включает определение инструментов, эти инструменты также будут учитываться в количестве токенов:
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)

包含系统提示词的 Token 计数

Системные подсказки также будут учитываться в количестве токенов:
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)

注意事项

  • Этот API только вычисляет количество входящих токенов и не генерирует никакого вывода модели.
  • Результаты подсчета токенов могут быть использованы для оценки стоимости вызова Claude Messages API.
  • Способы токенизации могут различаться для разных моделей, используйте тот же параметр model, что и для фактического вызова.
  • Этот API полностью бесплатен и не расходует никаких лимитов.