Token-Zählung
Die Token-Zählung ermöglicht es Ihnen, die Anzahl der Token in einer Nachricht zu bestimmen, bevor Sie sie an Claude senden, und hilft Ihnen dabei, fundierte Entscheidungen über Ihre Prompts und Nutzung zu treffen. Mit der Token-Zählung können Sie
- Ratenlimits und Kosten proaktiv verwalten
- Intelligente Modell-Routing-Entscheidungen treffen
- Prompts auf eine bestimmte Länge optimieren
Wie man Nachrichten-Token zählt
Der Token-Zählung Endpunkt akzeptiert dieselbe strukturierte Liste von Eingaben zum Erstellen einer Nachricht, einschließlich Unterstützung für System-Prompts, Tools, Bilder und PDFs. Die Antwort enthält die Gesamtanzahl der Eingabe-Token.
Die Token-Anzahl sollte als Schätzung betrachtet werden. In einigen Fällen kann sich die tatsächliche Anzahl der verwendeten Eingabe-Token beim Erstellen einer Nachricht um einen kleinen Betrag unterscheiden.
Token-Anzahlen können Token enthalten, die automatisch von Anthropic für Systemoptimierungen hinzugefügt wurden. Sie werden nicht für systemseitig hinzugefügte Token berechnet. Die Abrechnung spiegelt nur Ihren Inhalt wider.
Unterstützte Modelle
Alle aktiven Modelle unterstützen Token-Zählung.
Token in einfachen Nachrichten zählen
import anthropic
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-sonnet-4-5",
system="You are a scientist",
messages=[{
"role": "user",
"content": "Hello, Claude"
}],
)
print(response.json())import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
const response = await client.messages.countTokens({
model: 'claude-sonnet-4-5',
system: 'You are a scientist',
messages: [{
role: 'user',
content: 'Hello, Claude'
}]
});
console.log(response);curl https://api.anthropic.com/v1/messages/count_tokens \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "content-type: application/json" \
--header "anthropic-version: 2023-06-01" \
--data '{
"model": "claude-sonnet-4-5",
"system": "You are a scientist",
"messages": [{
"role": "user",
"content": "Hello, Claude"
}]
}'import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.messages.MessageCountTokensParams;
import com.anthropic.models.messages.MessageTokensCount;
import com.anthropic.models.messages.Model;
public class CountTokensExample {
public static void main(String[] args) {
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
MessageCountTokensParams params = MessageCountTokensParams.builder()
.model(Model.CLAUDE_SONNET_4_20250514)
.system("You are a scientist")
.addUserMessage("Hello, Claude")
.build();
MessageTokensCount count = client.messages().countTokens(params);
System.out.println(count);
}
}{ "input_tokens": 14 }Token in Nachrichten mit Tools zählen
Server-Tool Token-Anzahlen gelten nur für den ersten Sampling-Aufruf.
import anthropic
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-sonnet-4-5",
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 }Token in Nachrichten mit Bildern zählen
#!/bin/sh
IMAGE_URL="https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
IMAGE_MEDIA_TYPE="image/jpeg"
IMAGE_BASE64=$(curl "$IMAGE_URL" | base64)
curl https://api.anthropic.com/v1/messages/count_tokens \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data \
'{
"model": "claude-sonnet-4-5",
"messages": [
{"role": "user", "content": [
{"type": "image", "source": {
"type": "base64",
"media_type": "'$IMAGE_MEDIA_TYPE'",
"data": "'$IMAGE_BASE64'"
}},
{"type": "text", "text": "Describe this image"}
]}
]
}'{ "input_tokens": 1551 }Token in Nachrichten mit erweitertem Denken zählen
Siehe hier für weitere Details darüber, wie das Kontextfenster mit erweitertem Denken berechnet wird
- Denkblöcke aus vorherigen Assistenten-Durchgängen werden ignoriert und zählen nicht zu Ihren Eingabe-Token
- Aktuelles Assistenten-Durchgang-Denken zählt doch zu Ihren Eingabe-Token
curl https://api.anthropic.com/v1/messages/count_tokens \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "content-type: application/json" \
--header "anthropic-version: 2023-06-01" \
--data '{
"model": "claude-sonnet-4-5",
"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. Lets 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?"
}
]
}'{ "input_tokens": 88 }Token in Nachrichten mit PDFs zählen
Token-Zählung unterstützt PDFs mit denselben Einschränkungen wie die Messages API.
curl https://api.anthropic.com/v1/messages/count_tokens \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "content-type: application/json" \
--header "anthropic-version: 2023-06-01" \
--data '{
"model": "claude-sonnet-4-5",
"messages": [{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": "'$(base64 -i document.pdf)'"
}
},
{
"type": "text",
"text": "Please summarize this document."
}
]
}]
}'{ "input_tokens": 2188 }Preise und Ratenlimits
Token-Zählung ist kostenlos zu verwenden, unterliegt aber Anfragen pro Minute Ratenlimits basierend auf Ihrer Nutzungsstufe. Wenn Sie höhere Limits benötigen, kontaktieren Sie den Vertrieb über die Claude Console.
| Nutzungsstufe | Anfragen pro Minute (RPM) |
|---|---|
| 1 | 100 |
| 2 | 2,000 |
| 3 | 4,000 |
| 4 | 8,000 |
Token-Zählung und Nachrichtenerstellung haben separate und unabhängige Ratenlimits -- die Nutzung des einen zählt nicht gegen die Limits des anderen.