메인 콘텐츠로 건너뛰기
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이며, Anthropic 공식 API와 일치합니다. 최소한 두 개의 필수 매개변수를 제공해야 합니다:
  • 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는 Anthropic 공식 SDK와 완전히 호환되며, 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 호출 비용을 예측하는 데 사용할 수 있습니다.
  • 서로 다른 모델의 토큰화 방식이 다를 수 있으므로, 실제 호출과 동일한 model 매개변수를 사용해야 합니다.
  • 이 API는 완전히 무료이며, 어떤 할당량도 소모하지 않습니다.