> ## 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 AI 集成指南 - XHuoAPI

Claude Messages Count Tokens API pode calcular a quantidade de Tokens de entrada de uma mensagem sem realmente criar a mensagem, incluindo a contagem de Tokens de ferramentas, imagens e documentos. Isso é muito útil quando é necessário estimar custos ou verificar se a entrada excede os limites de contexto do modelo.

Este documento descreve principalmente o processo de uso da Claude Messages Count Tokens API.

## 申请流程

Para usar a Claude Messages Count Tokens API, primeiro você pode acessar a página [Claude Messages Count Tokens API](https://api.xhuoapi.ai/documents/claude-messages-count-tokens) e clicar no botão "Acquire" para obter as credenciais necessárias para a solicitação.

Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, convidando-o a se registrar e fazer login. Após o login ou registro, você será redirecionado de volta para a página atual.

Esta API é totalmente gratuita, sem consumo de cota.

## 基本使用

O caminho de solicitação da Claude Messages Count Tokens API é `/v1/messages/count_tokens`, mantendo a consistência com a API oficial da Anthropic. Precisamos fornecer pelo menos dois parâmetros obrigatórios:

* `model`: escolha o modelo Claude a ser utilizado, como `claude-sonnet-4-5-20250929`, `claude-opus-4-20250514`, etc.
* `messages`: array de mensagens de entrada, onde cada mensagem contém `role` (papel) e `content` (conteúdo).

Parâmetros opcionais comuns:

* `system`: prompt do sistema, que será contabilizado na quantidade de Tokens.
* `tools`: definição de ferramentas, que será contabilizada na quantidade de Tokens.
* `thinking`: configuração de pensamento expandido.

### cURL 示例

```bash theme={null}
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 示例

```python theme={null}
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())
```

返回结果示例：

```json theme={null}
{
  "input_tokens": 11
}
```

### 使用 Anthropic SDK

A Claude Messages Count Tokens API é totalmente compatível com o SDK oficial da Anthropic, podendo ser chamada diretamente usando a biblioteca `anthropic`.

```python theme={null}
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 计数

Se sua solicitação incluir definições de ferramentas, essas ferramentas também serão contabilizadas na quantidade de Tokens:

```python theme={null}
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 计数

Os prompts do sistema também serão contabilizados na quantidade de Tokens:

```python theme={null}
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)
```

## 注意事项

* Esta API calcula apenas a quantidade de Tokens de entrada, não gerando nenhuma saída do modelo.
* Os resultados da contagem de Tokens podem ser usados para estimar os custos de chamadas à Claude Messages API.
* A forma de tokenização pode variar entre diferentes modelos, por favor, use o parâmetro model que corresponde à chamada real.
* Esta API é totalmente gratuita, sem consumo de cota.
