토큰 계산을 통해 메시지를 Claude에 보내기 전에 메시지의 토큰 수를 결정할 수 있으므로 프롬프트 및 사용량에 대해 정보에 입각한 결정을 내릴 수 있습니다. 토큰 계산을 사용하면 다음을 수행할 수 있습니다.
This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
토큰 계산 엔드포인트는 시스템 프롬프트, 도구, 이미지, PDF에 대한 지원을 포함하여 메시지를 생성하기 위한 동일한 구조화된 입력 목록을 허용합니다. 응답에는 입력 토큰의 총 개수가 포함됩니다.
토큰 개수는 추정값으로 간주되어야 합니다. 경우에 따라 메시지를 생성할 때 실제로 사용되는 입력 토큰의 수는 약간 다를 수 있습니다.
토큰 개수에는 시스템 최적화를 위해 Anthropic에서 자동으로 추가한 토큰이 포함될 수 있습니다. 시스템에서 추가한 토큰에 대해서는 청구되지 않습니다. 청구는 귀하의 콘텐츠만 반영합니다.
모든 활성 모델은 토큰 계산을 지원합니다.
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-opus-4-7",
system="You are a scientist",
messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(response.json()){ "input_tokens": 14 }서버 도구 토큰 개수는 첫 번째 샘플링 호출에만 적용됩니다.
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-opus-4-7",
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"],
},
}
],
messages=[{"role": "user", "content": "What's the weather like in San Francisco?"}],
)
print(response.json()){ "input_tokens": 403 }import base64
import httpx
image_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image_media_type = "image/jpeg"
image_data = base64.standard_b64encode(httpx.get(image_url).content).decode("utf-8")
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-opus-4-7",
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": image_media_type,
"data": image_data,
},
},
{"type": "text", "text": "Describe this image"},
],
}
],
)
print(response.json()){ "input_tokens": 1551 }확장 사고를 사용한 컨텍스트 윈도우 계산 방법에서 자세한 내용을 확인하세요
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-sonnet-4-6",
thinking={"type": "enabled", "budget_tokens": 16000},
messages=[
{
"role": "user",
"content": "Are there an infinite number of prime numbers such that n mod 4 == 3?",
},
{
"role": "assistant",
"content": [
{
"type": "thinking",
"thinking": "This is a nice number theory question. Let's think about it step by step...",
"signature": "EuYBCkQYAiJAgCs1le6/Pol5Z4/JMomVOouGrWdhYNsH3ukzUECbB6iWrSQtsQuRHJID6lWV...",
},
{
"type": "text",
"text": "Yes, there are infinitely many prime numbers p such that p mod 4 = 3...",
},
],
},
{"role": "user", "content": "Can you write a formal proof?"},
],
)
print(response.json()){ "input_tokens": 88 }토큰 계산은 Messages API와 동일한 제한사항을 가진 PDF를 지원합니다.
import base64
import anthropic
client = anthropic.Anthropic()
with open("document.pdf", "rb") as pdf_file:
pdf_base64 = base64.standard_b64encode(pdf_file.read()).decode("utf-8")
response = client.messages.count_tokens(
model="claude-opus-4-7",
messages=[
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": pdf_base64,
},
},
{"type": "text", "text": "Please summarize this document."},
],
}
],
)
print(response.json()){ "input_tokens": 2188 }토큰 계산은 무료로 사용할 수 있지만 사용 계층에 따른 분당 요청 수 속도 제한이 적용됩니다. 더 높은 제한이 필요한 경우 Claude Console을 통해 영업팀에 문의하세요.
| 사용 계층 | 분당 요청 수(RPM) |
|---|---|
| 1 | 100 |
| 2 | 2,000 |
| 3 | 4,000 |
| 4 | 8,000 |
토큰 계산과 메시지 생성은 별도의 독립적인 속도 제한을 가집니다. 하나의 사용이 다른 하나의 제한에 영향을 주지 않습니다.
Was this page helpful?