Berapa Harga 1 Juta Token di Claude?
Ketahui biaya 1 juta token Claude API: tarif input dan output berbeda, output 5 kali input, serta harga tiap model agar tagihan bulanan dapat dihitung.
Berapa biaya 1M token di Claude?
1M token berarti satu juta token. Satuan ini digunakan untuk menyatakan harga setiap Claude API (application programming interface). Tidak ada satu harga tetap, karena token input dan output dikenai tarif berbeda, dan setiap model memiliki tarifnya masing-masing. Per Agustus 2026, satu juta token input berharga $1 pada Claude Haiku 4.5, $2 pada Claude Sonnet 5, dan $5 pada Claude Opus 5.
Output merupakan bagian yang lebih mahal. Pada setiap model saat ini, tarif output lima kali tarif input. Karena itu, perbandingan jumlah input dan output lebih menentukan tagihan Anda daripada angka utama tarif. Aplikasi yang mengirim dokumen panjang dan mengembalikan jawaban singkat akan memiliki pola biaya yang sangat berbeda dari aplikasi yang menulis jawaban panjang berdasarkan prompt singkat.
Halaman ini membahas ekonomi per unit: biaya sebuah token dan cara memperkirakan tagihan sebelum Anda mulai membangun aplikasi. Untuk mengetahui ke mana token benar-benar digunakan selama Anda bekerja, baca ke mana token digunakan dalam sesi Claude Code.
Seperti apa 1M token
Token adalah bagian teks yang dibaca atau ditulis model. Panduan umum Anthropic menyebutkan bahwa 1 token setara dengan 4 karakter, atau sekitar 0.75 kata dalam bahasa Inggris. Jadi, satu juta token setara dengan sekitar 750,000 kata, atau kira-kira 4 MB teks biasa.
Perkiraan yang telah dipublikasikan untuk input umum memberikan gambaran skala yang lebih jelas.
The data behind this chart
[
{
"label": "Average web page (10 kB)",
"tokens": "2,500"
},
{
"label": "Documentation page (100 kB)",
"tokens": "25,000"
},
{
"label": "Research paper PDF (500 kB)",
"tokens": "125,000"
}
]Dengan tingkat tersebut, 1M token setara dengan sekitar 400 halaman web rata-rata yang dibaca satu kali, atau delapan makalah penelitian dengan ukuran yang sama. Jumlah ini setara dengan satu kali pemrosesan codebase berukuran sedang, atau penggunaan chat ringan selama satu bulan oleh satu orang.
Anggap semua angka tersebut sebagai perkiraan. Kode, JSON, dan teks dalam bahasa selain bahasa Inggris memuat lebih sedikit kata dalam satu token, sehingga rasio 0.75 merupakan perkiraan yang optimistis. Ada faktor lain yang memengaruhi jumlah token: Claude Opus 4.7 dan versi setelahnya, termasuk Opus 5 dan Sonnet 5, menggunakan tokenizer yang lebih baru. Tokenizer ini menghasilkan sekitar 30 persen lebih banyak token untuk teks yang sama dibandingkan Sonnet 4.6 dan versi sebelumnya. Claude Haiku 4.5 menggunakan tokenizer lama. Jadi, jumlah yang Anda ukur pada Haiku 4.5 akan lebih rendah daripada jumlah pada Sonnet 5 untuk input yang sama. Artinya, perbandingan langsung harga per juta token pada batas versi tersebut tidak adil. Hitung prompt yang sama pada kedua model sebelum mengambil keputusan.
Biaya Claude per juta token
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_usd": 1,
"output_usd": 5
},
{
"label": "Sonnet 5 (to 31 Aug 2026)",
"input_usd": 2,
"output_usd": 10
},
{
"label": "Sonnet 5 (from 1 Sep 2026)",
"input_usd": 3,
"output_usd": 15
},
{
"label": "Opus 5",
"input_usd": 5,
"output_usd": 25
}
]Claude Sonnet 5 menggunakan harga perkenalan sebesar $2 untuk input dan $10 untuk output hingga 31 August 2026. Mulai 1 September 2026, tarif standar berlaku: $3 untuk input dan $15 untuk output. Claude Opus 5 memiliki harga $5 dan $25.
Tarif dapat berubah. Anggap semua angka di halaman ini sebagai contoh perhitungan bertanggal August 2026. Pastikan angka terbaru di halaman harga resmi sebelum menetapkan anggaran.
Panjang konteks tidak mengubah tarif. Pada Claude 4.6 dan versi yang lebih baru, seluruh jendela konteks 1M token ditagihkan dengan harga standar. Karena itu, permintaan 900,000 token memiliki biaya per token yang sama dengan permintaan 9,000 token. Prompt yang panjang lebih mahal karena jumlah tokennya lebih banyak, bukan karena ada tarif konteks panjang khusus.
Perhitungan yang tetap berlaku setelah perubahan harga
Setiap tagihan terdiri dari dua perkalian dan satu penjumlahan.
cost = (input_tokens / 1,000,000) * input_rate
+ (output_tokens / 1,000,000) * output_rateDitulis sebagai kode yang dapat Anda jalankan:
INPUT_RATE = 2.00 # USD per million input tokens, Sonnet 5, August 2026
OUTPUT_RATE = 10.00 # USD per million output tokens
def cost(input_tokens, output_tokens):
return (input_tokens * INPUT_RATE + output_tokens * OUTPUT_RATE) / 1_000_000
print(f"{cost(4300, 400):.4f}")Kode tersebut mencetak 0.0126. Permintaan yang mengirim 4,300 token input dan menerima 400 token output memerlukan biaya sekitar 1.3 sen pada Sonnet 5. Simpan kedua tarif di satu tempat dalam kode Anda. Jika harga berubah, Anda cukup mengedit dua baris, dan semua estimasi dalam sistem Anda akan ikut berubah.
Contoh perhitungan untuk aplikasi nyata
Gunakan asisten dukungan sebagai contoh. Prompt sistem dan dokumentasi produk berjumlah 4.000 token. Keduanya dikirim pada setiap permintaan karena Messages API bersifat stateless dan model tidak mengingat apa pun di antara panggilan. Pertanyaan pengguna menambahkan sekitar 300 token. Jawaban berjumlah sekitar 400 token. Jadi, setiap permintaan menggunakan 4.300 token input dan 400 token output.
Satu juta token input mencukupi sekitar 232 permintaan dengan pola tersebut. Jika aplikasi menerima 1.000 permintaan per hari, aplikasi menggunakan 4,3 juta token input setiap hari. Jadi, "1M tokens" hanya mencakup kurang dari enam jam traffic.
The data behind this chart
[
{
"label": "Opus 5, list rates",
"cost_per_1k_usd": "31.50"
},
{
"label": "Sonnet 5, list rates",
"cost_per_1k_usd": "12.60"
},
{
"label": "Sonnet 5, Batch API",
"cost_per_1k_usd": "6.30"
},
{
"label": "Haiku 4.5, list rates",
"cost_per_1k_usd": "6.30"
},
{
"label": "Sonnet 5, warm prompt cache",
"cost_per_1k_usd": "5.40"
}
]Pada Claude Opus 5, traffic tersebut berbiaya $31.50 untuk setiap 1.000 permintaan. Pada Sonnet 5, biayanya $12.60. Jika beralih ke Claude Haiku 4.5, biayanya turun menjadi $6.30, sedangkan prompt cache yang tetap aktif pada Sonnet 5 menurunkannya lebih jauh menjadi $5.40.
Kalikan dengan 30 untuk menghitung biaya selama satu bulan dengan traffic tersebut. Sonnet 5 dengan tarif yang tercantum berbiaya sekitar $378 per bulan. Aplikasi yang sama dengan cache yang tetap aktif berbiaya sekitar $162. Pilihan model dan keputusan caching Anda masing-masing lebih berpengaruh daripada tarif apa pun yang dapat Anda negosiasikan pada volume ini. Model yang akan digunakan merupakan pertanyaan tersendiri. Pilih model termurah yang lolos evaluasi Anda: memilih antara Opus, Sonnet, dan Haiku menjelaskan cara mengujinya dengan benar.
Caching prompt mengurangi bagian yang berulang
Prefiks sepanjang 4,000 token itu identik pada setiap request, dan Anda membayar harga input penuh untuknya setiap kali. Caching prompt menyimpan prefiks yang telah diproses dan mengenakan tarif yang lebih rendah saat prefiks tersebut digunakan kembali.
Pembacaan cache dikenai biaya 0.1 kali tarif input dasar. Penulisan cache dikenai biaya 1.25 kali tarif dasar untuk masa berlaku 5 menit, atau 2 kali tarif dasar untuk masa berlaku 1 jam. Jadi, cache 5 menit mencapai titik impas setelah satu pembacaan, karena penulisan menambah biaya 0.25, sedangkan setiap pembacaan menghemat 0.9. Cache 1 jam memerlukan dua pembacaan untuk mencapai titik impas.
Cara paling sederhana untuk mengaktifkannya adalah dengan satu field tingkat teratas:
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"max_tokens": 1024,
"cache_control": {"type": "ephemeral"},
"system": "You are a helpful assistant.",
"messages": [
{"role": "user", "content": "What are the key themes in Pride and Prejudice?"}
]
}'Kemudian baca blok usage yang dikembalikan:
{
"usage": {
"cache_creation_input_tokens": 5120,
"cache_read_input_tokens": 1800,
"input_tokens": 50,
"output_tokens": 503
}
}Ketiga penghitung input tersebut ditagih dengan tiga tarif berbeda dan jumlahnya sama dengan volume input sebenarnya: total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokens. Estimasi biaya yang hanya membaca input_tokens akan sangat keliru setelah caching diaktifkan.
Dua hal dapat membuat cache tidak memberikan manfaat, dan keduanya gagal tanpa pesan kesalahan.
Prefiks harus identik hingga tingkat byte. Pencarian cache mencocokkan prefiks, sehingga timestamp atau nama pengguna di bagian atas system prompt mengubahnya pada setiap request. Akibatnya, Anda membayar 1.25 kali input dasar setiap kali dan tidak pernah melakukan satu pun pembacaan cache. Tandanya adalah cache_creation_input_tokens tetap tinggi, sedangkan cache_read_input_tokens tetap 0. Tempatkan cache_control pada blok terakhir yang isinya sama di seluruh request, lalu letakkan semua bagian yang berubah setelahnya. Perubahan pada definisi tools akan membatalkan seluruh cache di bawahnya, karena pembatalan berjalan mengikuti urutan tools, kemudian system, lalu messages.
Prefiks harus cukup panjang. Panjang minimum yang dapat di-cache adalah 512 token pada Opus 5, 1,024 pada Sonnet 5, dan 4,096 pada Haiku 4.5. Prompt yang lebih pendek tidak di-cache dan tidak menghasilkan error. Prefiks 4,000 token pada contoh di atas di-cache pada Sonnet 5, tetapi tidak di-cache pada Haiku 4.5, karena 4,000 berada di bawah batas minimum model tersebut. Jika kedua penghitung bernilai 0, tidak ada yang di-cache.
Pemrosesan batch mengurangi biaya hingga setengah
Batch API memproses permintaan secara asinkron dengan diskon 50 persen untuk input dan output. Dalam contoh di atas, biayanya turun dari $12.60 per 1.000 permintaan menjadi $6.30. Diskon ini dapat digabungkan dengan caching prompt. Karena itu, batch job dengan cache merupakan cara termurah untuk menjalankan pekerjaan dalam jumlah besar.
Komprominya adalah latensi. Karena itu, batch tidak cocok untuk pekerjaan yang hasilnya harus ditunggu langsung oleh pengguna. Batch cocok untuk klasifikasi yang dijalankan semalaman dan pengisian data dokumen yang belum diproses.
Mengapa biaya chat meningkat dalam satu percakapan
Karena API tidak menyimpan status, klien Anda mengirim ulang seluruh percakapan pada setiap giliran. Oleh karena itu, penggunaan token dalam satu chat meningkat sebanding dengan kuadrat panjangnya, bukan secara linear.
Anggap setiap giliran rata-rata berisi 500 token. Giliran 1 mengirim 500 token input. Giliran 2 mengirim 1.000 token. Giliran 20 mengirim 10.000 token. Jika dijumlahkan menggunakan n(n+1)/2, percakapan dengan 20 giliran telah mengirim sekitar 105.000 token input, sedangkan transkripnya sendiri hanya sepanjang 10.000 token.
Itulah sebabnya fitur chat dapat menghabiskan biaya lebih besar daripada yang terlihat dari transkripnya. Karena itu, melakukan caching pada prefiks yang stabil atau meringkas giliran lama dapat menghemat biaya pada thread yang panjang. Agent yang melakukan loop pada pemanggilan tool memiliki pola yang sama, bahkan lebih buruk: setiap hasil tool tetap berada dalam riwayat dan dikirim ulang pada setiap giliran berikutnya. Menetapkan batas pengeluaran yang ketat untuk agent yang Anda jalankan sendiri sangat penting dalam situasi ini, karena pertumbuhan tersebut terjadi secara otomatis dan tidak ada yang memantaunya.
Hitung token sebelum membuat perkiraan
Jangan lagi menurunkan jumlah token dari jumlah kata. API menghitungnya untuk Anda tanpa biaya, dengan batas laju yang terpisah dari pembuatan pesan.
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "content-type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"system": "You are a scientist",
"messages": [{
"role": "user",
"content": "Hello, Claude"
}]
}'Respons berisi satu bidang:
{ "input_tokens": 14 }Masukkan system prompt dan definisi alat yang sebenarnya, bersama pesan pengguna yang representatif, lalu masukkan jumlah tersebut ke fungsi biaya di atas. Endpoint ini menggunakan body yang sama seperti permintaan pesan, sehingga gambar dan PDF juga dihitung dengan benar. Ada dua hal penting. Jumlah tersebut adalah perkiraan dan dapat sedikit berbeda dari angka yang ditagihkan. Jumlah itu juga diukur menggunakan tokenizer model yang Anda kirimkan. Karena itu, kirimkan model yang benar-benar akan Anda jalankan.
Token output tidak dapat dihitung sebelumnya karena token tersebut belum ada. Batasi jumlahnya dengan max_tokens, lalu ukur distribusi aktualnya dari usage.output_tokens pada traffic jaringan langsung.
Apa lagi yang masuk ke tagihan
Token merupakan sebagian besar biaya. Beberapa komponen bukan token dan sering mengejutkan pengguna.
- Definisi alat menjadi token input pada setiap permintaan. System prompt penggunaan alat saja menambahkan 286 hingga 406 token pada Opus 5, sebelum skema Anda sendiri. Sepuluh deskripsi alat yang panjang dapat menggandakan prompt kecil.
- Penelusuran web dikenai biaya $10 per 1.000 penelusuran, di luar token yang digunakan hasilnya saat masuk ke konteks.
- Pengambilan web tidak menimbulkan biaya tersendiri, tetapi halaman yang diambil menjadi token input. Halaman dokumentasi berukuran 100 kB berisi sekitar 25,000 token.
- Permintaan inferensi khusus AS dengan
inference_geopada Claude 4.6 dan versi setelahnya menerapkan pengali 1.1 pada setiap kategori token, termasuk pembacaan dan penulisan cache.
Apakah API merupakan pilihan yang tepat bergantung pada volume penggunaan Anda. Di bawah tingkat penggunaan tertentu, paket bulanan tetap lebih menguntungkan, dan perbandingan biaya API dengan langganan Claude menghitungnya menggunakan angka nyata.
FAQ
Berapa biaya 1M token di Claude?
Biayanya bergantung pada model dan apakah token tersebut merupakan input atau output. Per Agustus 2026, satu juta token input berbiaya $1 pada Claude Haiku 4.5, $2 pada Claude Sonnet 5 dengan harga perkenalan, dan $5 pada Claude Opus 5. Biaya output lima kali tarif input pada setiap model tersebut. Sonnet 5 akan menggunakan harga input $3 dan harga output $15 mulai 1 September 2026. Tarif dapat berubah, jadi konfirmasikan tarif tersebut di halaman harga resmi sebelum memasukkan angka ke anggaran.
Apakah 1M token sama dengan 1M kata?
Tidak. Satu token kira-kira terdiri dari 4 karakter bahasa Inggris atau sekitar 0.75 kata, sehingga satu juta token setara dengan sekitar 750,000 kata. Rasio tersebut hanya merupakan panduan. Kode, JSON, dan bahasa selain bahasa Inggris menggunakan lebih banyak token per kata. Claude Opus 4.7 dan versi yang lebih baru juga menggunakan tokenizer yang lebih baru. Tokenizer tersebut menghasilkan sekitar 30 persen lebih banyak token untuk teks identik dibandingkan Claude Sonnet 4.6 dan versi sebelumnya. Karena itu, jumlah token tidak dapat digunakan lintas generasi model. Lakukan pengukuran menggunakan endpoint gratis /v1/messages/count_tokens dengan meneruskan model yang akan Anda jalankan.
Apakah prompt caching selalu menghemat biaya?
Tidak. Penulisan cache selama 5 menit dikenai biaya 1.25 kali tarif input dasar. Karena itu, prefix yang ditulis tetapi tidak pernah dibaca berbiaya 25 persen lebih tinggi daripada jika dikirim secara biasa. Biaya tersebut impas sejak pembacaan pertama. Kegagalan dapat terjadi dalam dua cara dan keduanya tidak menampilkan pemberitahuan. Jika prefix yang di-cache berubah di antara permintaan, pencarian tidak pernah cocok karena pencocokan prefix harus sama persis. Jika prefix lebih pendek daripada panjang minimum yang dapat di-cache oleh model, yaitu 1,024 token pada Sonnet 5 dan 4,096 pada Haiku 4.5, tidak ada yang di-cache dan tidak ada error yang dikembalikan. Jika cache_creation_input_tokens dan cache_read_input_tokens sama-sama bernilai 0, cache tidak melakukan apa pun.
Mengapa tagihan saya meningkat lebih cepat daripada jumlah pesan?
Karena seluruh percakapan dikirim ulang pada setiap giliran. Messages API tidak menyimpan status. Karena itu, giliran ke-20 dalam chat kembali membawa semua 19 giliran sebelumnya sebagai input. Jika rata-rata setiap giliran berisi 500 token, percakapan dengan 20 giliran mengirim sekitar 105,000 token input, meskipun panjang transkripnya hanya 10,000 token. Perulangan agen berperilaku sama karena setiap hasil tool tetap berada dalam riwayat. Cache prefix yang stabil, atau buat ringkasan giliran lama dan keluarkan giliran tersebut dari permintaan.