Penghitungan token memungkinkan Anda menentukan jumlah token dalam pesan sebelum mengirimkannya ke Claude, membantu Anda membuat keputusan yang tepat tentang prompt dan penggunaan Anda. Dengan penghitungan token, Anda dapat
  • Mengelola batas tingkat dan biaya secara proaktif
  • Membuat keputusan routing model yang cerdas
  • Mengoptimalkan prompt agar memiliki panjang tertentu

Cara menghitung token pesan

Endpoint penghitungan token menerima daftar input terstruktur yang sama untuk membuat pesan, termasuk dukungan untuk prompt sistem, tools, gambar, dan PDF. Respons berisi jumlah total token input.
Jumlah token harus dianggap sebagai perkiraan. Dalam beberapa kasus, jumlah sebenarnya dari token input yang digunakan saat membuat pesan mungkin berbeda dalam jumlah kecil.Jumlah token mungkin termasuk token yang ditambahkan secara otomatis oleh Anthropic untuk optimisasi sistem. Anda tidak ditagih untuk token yang ditambahkan sistem. Penagihan hanya mencerminkan konten Anda.

Model yang didukung

Semua model aktif mendukung penghitungan token.

Menghitung token dalam pesan dasar

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())
JSON
{ "input_tokens": 14 }

Menghitung token dalam pesan dengan tools

Jumlah token Server tool hanya berlaku untuk panggilan sampling pertama.
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())
JSON
{ "input_tokens": 403 }

Menghitung token dalam pesan dengan gambar

#!/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"}
        ]}
    ]
}'
JSON
{ "input_tokens": 1551 }

Menghitung token dalam pesan dengan extended thinking

Lihat di sini untuk detail lebih lanjut tentang bagaimana jendela konteks dihitung dengan extended thinking
  • Blok thinking dari giliran asisten sebelumnya diabaikan dan tidak dihitung terhadap token input Anda
  • Thinking giliran asisten saat ini dihitung terhadap token input Anda
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?"
        }
      ]
    }'
JSON
{ "input_tokens": 88 }

Menghitung token dalam pesan dengan PDF

Penghitungan token mendukung PDF dengan keterbatasan yang sama seperti 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."
          }
        ]
      }]
    }'
JSON
{ "input_tokens": 2188 }

Harga dan batas tingkat

Penghitungan token gratis untuk digunakan tetapi tunduk pada batas permintaan per menit berdasarkan tingkat penggunaan Anda. Jika Anda memerlukan batas yang lebih tinggi, hubungi penjualan melalui Claude Console.
Tingkat penggunaanPermintaan per menit (RPM)
1100
22,000
34,000
48,000
Penghitungan token dan pembuatan pesan memiliki batas tingkat yang terpisah dan independen — penggunaan satu tidak dihitung terhadap batas yang lain.

FAQ

Tidak, penghitungan token memberikan perkiraan tanpa menggunakan logika caching. Meskipun Anda dapat menyediakan blok cache_control dalam permintaan penghitungan token Anda, prompt caching hanya terjadi selama pembuatan pesan yang sebenarnya.