Penghitungan token memungkinkan Anda menentukan jumlah token dalam pesan sebelum mengirimkannya ke Claude, membantu Anda membuat keputusan yang tepat tentang prompt dan penggunaan. Dengan penghitungan token, Anda dapat

  • Mengelola batas tarif dan biaya secara proaktif
  • Membuat keputusan perutean model yang cerdas
  • Mengoptimalkan prompt untuk panjang tertentu

Cara menghitung token pesan

Endpoint penghitungan token menerima daftar terstruktur input yang sama untuk membuat pesan, termasuk dukungan untuk prompt sistem, alat, gambar, dan PDF. Respons berisi jumlah total token input.

Jumlah token harus dianggap sebagai perkiraan. Dalam beberapa kasus, jumlah token input yang sebenarnya digunakan saat membuat pesan mungkin berbeda dalam jumlah kecil.

Model yang didukung

Endpoint penghitungan token mendukung model berikut:

  • Claude Opus 4
  • Claude Sonnet 4
  • Claude Sonnet 3.7
  • Claude Sonnet 3.5
  • Claude Haiku 3.5
  • Claude Haiku 3
  • Claude Opus 3

Menghitung token dalam pesan dasar

import anthropic

client = anthropic.Anthropic()

response = client.messages.count_tokens(
    model="claude-opus-4-20250514",
    system="You are a scientist",
    messages=[{
        "role": "user",
        "content": "Hello, Claude"
    }],
)

print(response.json())
JSON
{ "input_tokens": 14 }

Menghitung token dalam pesan dengan alat

Penghitungan token alat server hanya berlaku untuk panggilan sampling pertama.

import anthropic

client = anthropic.Anthropic()

response = client.messages.count_tokens(
    model="claude-opus-4-20250514",
    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-opus-4-20250514",
    "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 pemikiran diperpanjang

Lihat di sini untuk detail lebih lanjut tentang bagaimana jendela konteks dihitung dengan pemikiran diperpanjang

  • Blok pemikiran dari giliran asisten sebelumnya diabaikan dan tidak dihitung sebagai token input Anda
  • Pemikiran giliran asisten saat ini memang dihitung sebagai 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-opus-4-20250514",
      "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 API Messages.

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-opus-4-20250514",
      "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 tarif

Penghitungan token gratis untuk digunakan tetapi tunduk pada batas permintaan per menit berdasarkan tingkat penggunaan Anda. Jika Anda membutuhkan batas yang lebih tinggi, hubungi bagian penjualan melalui Anthropic Console.

Tingkat penggunaanPermintaan per menit (RPM)
1100
22.000
34.000
48.000

Penghitungan token dan pembuatan pesan memiliki batas tarif yang terpisah dan independen — penggunaan satu tidak dihitung terhadap batas yang lain.


FAQ