Перейти до основного вмісту
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)

Обчислення токенів з інструментами

Якщо ваш запит містить визначення інструментів, ці інструменти також будуть враховані в кількості токенів:
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)

Обчислення токенів з системними підказками

Системні підказки також будуть враховані в кількості токенів:
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.
  • Способи токенізації можуть відрізнятися для різних моделей, будь ласка, використовуйте той же параметр моделі, що й для фактичного виклику.
  • Цей API повністю безкоштовний, не витрачає жодних ресурсів.