Перейти к основному содержанию

Documentation Index

Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt

Use this file to discover all available pages before exploring further.

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.xhuoapi.ai/v1/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.xhuoapi.ai/v1/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.xhuoapi.ai/v1",
)

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 полностью бесплатен и не расходует никаких лимитов.