Token Input vs Output Claude: Mengapa Biayanya Berbeda
Token output Claude berbiaya lima kali lipat dari input. Pahami perbedaan prefill dan decoding serta dampaknya pada tagihan agent bulanan.
Mengapa token output lebih mahal daripada token input
Token output berbiaya lima kali lipat dibandingkan token input pada setiap model Claude dalam katalog saat ini. Penyebabnya adalah bentuk komputasinya. Membaca prompt memerlukan satu kali pemrosesan pada model. Menulis jawaban memerlukan satu kali pemrosesan untuk setiap token, dan setiap pemrosesan harus menunggu pemrosesan sebelumnya selesai.
Rasio tersebut sama pada setiap baris daftar harga. Karena itu, model yang Anda pilih tidak mengubah proporsi tagihan yang berasal dari output. Bentuk beban kerja Anda yang menentukannya. Langkah agent yang membaca 60,000 token dan menjawab dengan 800 token hampir tidak mengeluarkan biaya untuk output. Pekerjaan penyusunan draf yang membaca 2,000 token dan menulis 12,000 token hampir tidak mengeluarkan biaya untuk input. Kedua kasus tersebut dihitung di bawah menggunakan tarif yang diterbitkan Anthropic untuk August 2026.
Prefill berjalan satu kali, decoding berjalan satu kali per token
Server inferensi menangani permintaan dalam dua fase dengan biaya komputasi yang sangat berbeda. Prefill membaca prompt. Decoding menulis respons.
Prefill memproses seluruh prompt sekaligus. Setiap token prompt masuk ke jaringan dalam forward pass yang sama. Karena itu, pekerjaan attention dan feed-forward menjadi sejumlah kecil perkalian matriks besar yang mencakup ribuan token sekaligus. Satu pembacaan bobot model dari memori melayani seluruh prompt. Unit matriks akselerator tetap sibuk. Artinya, prefill bersifat compute-bound: batasnya adalah seberapa cepat chip dapat melakukan perkalian.
Decoding tidak dapat bekerja dengan cara tersebut karena token 2 bergantung pada token 1. Token yang baru dihasilkan model menjadi bagian dari input untuk langkah berikutnya. Karena itu, langkah-langkah tersebut tidak dapat berjalan secara bersamaan. Setiap token output memperoleh forward pass sendiri. Setiap forward pass membaca seluruh bobot model dari high-bandwidth memory untuk menghasilkan satu token. Karena itu, decoding bersifat memory-bound: batasnya adalah seberapa cepat bobot dapat dipindahkan, bukan seberapa cepat bobot dapat dikalikan. Lalu lintas bobot yang sama dan memproses seluruh prompt saat prefill hanya menghasilkan satu token saat decoding.
Sistem serving mengatasi hal ini dengan batching. Banyak permintaan melakukan decoding secara bersamaan. Dengan demikian, satu pembacaan bobot menghasilkan satu token untuk setiap permintaan dalam batch. Karena itulah decoding tetap terjangkau. Batasnya kembali ditentukan oleh memori. Setiap permintaan yang sedang diproses menyimpan KV cache (key/value cache, status attention yang tersimpan untuk setiap token sejauh ini). Cache tersebut bertambah setiap kali token dihasilkan. Saat cache memenuhi kapasitas akselerator, batch tidak dapat diperbesar lagi.
Semua itu tidak memberikan angka yang pasti. Anda juga tidak boleh menganggap 5x sebagai rasio perangkat keras yang diukur. Angka tersebut adalah harga yang ditetapkan oleh Anthropic berdasarkan perbedaan karakteristik tersebut. Hal yang dapat Anda periksa sendiri adalah arahnya. Pemeriksaannya memerlukan waktu sekitar satu menit.
Ukur sendiri jeda input dan output
Instal tools pada mesin Ubuntu mana pun:
sudo apt update && sudo apt install -y curl jq moreutilsSekarang kirim prompt singkat yang meminta jawaban panjang, lalu catat waktu kedatangan setiap baris.
curl -sN https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":1000,"stream":true,
"messages":[{"role":"user","content":"Count from 1 to 300, one number per line."}]}' \
| ts -s '%.s'ts -s menambahkan awalan pada setiap baris yang menunjukkan jumlah detik sejak command dimulai. Ada dua hal penting yang dapat dibaca dari output tersebut. Baris content_block_delta pertama adalah waktu hingga token pertama diterima, dan seluruh proses prefill berlangsung di dalamnya. Setiap baris setelah itu merupakan satu langkah kecil decoding, dan catatan waktunya terus bertambah hingga message_stop tiba.
Sekarang balik bentuknya. Masukkan dokumen panjang ke dalam prompt dan batasi jawaban hingga beberapa token.
curl -sN https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d "$(jq -n --rawfile doc ./long-document.txt \
'{model:"claude-sonnet-5", max_tokens:16, stream:true,
messages:[{role:"user", content:("Answer in one word. Is this document about networking?\n\n" + $doc)}]}')" \
| ts -s '%.s'Delta pertama memerlukan waktu lebih lama dibandingkan prompt singkat karena proses prefill harus membaca jauh lebih banyak teks. Setelah delta tersebut tiba, respons hampir langsung selesai karena hanya beberapa token yang perlu di-decode. Puluhan ribu token masuk, tetapi waktu hampir tidak bertambah. Beberapa ratus token keluar, dan jam terus berjalan sepanjang proses.
Setiap respons non-streaming berakhir dengan angka yang menjadi dasar penagihan Anda.
{
"usage": {
"input_tokens": 41283,
"output_tokens": 6,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}Catat keempat field untuk setiap request. output_tokens mencakup extended thinking, sehingga model yang berpikir sebelum menjawab akan menagihkan proses berpikir tersebut dengan tarif output. Untuk menghitung biaya prompt sebelum mengirimkannya, POST /v1/messages/count_tokens menerima request body yang sama, mengembalikan {"input_tokens": N} tanpa menjalankan model, dan tidak dikenai biaya. Itu bukan satu-satunya bagian API yang tidak dikenai biaya, dan bagian Claude API yang tidak pernah ditagihkan kepada Anda layak diperiksa sebelum Anda menyusun anggaran proyek pertama.
Biaya Claude per satu juta token per Agustus 2026
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_usd": 1,
"output_usd": 5,
"output_multiple": 5
},
{
"label": "Sonnet 5 (to 31 Aug)",
"input_usd": 2,
"output_usd": 10,
"output_multiple": 5
},
{
"label": "Sonnet 5 (from 1 Sep)",
"input_usd": 3,
"output_usd": 15,
"output_multiple": 5
},
{
"label": "Opus 5",
"input_usd": 5,
"output_usd": 25,
"output_multiple": 5
},
{
"label": "Fable 5",
"input_usd": 10,
"output_usd": 50,
"output_multiple": 5
}
]Kolom terakhir adalah output dibagi input, dan nilainya 5 pada setiap baris. Haiku 4.5 mengenakan biaya $1 untuk input dan $5 untuk output. Opus 5 mengenakan biaya $5 untuk input dan $25 untuk output. Fable 5, yang paling mahal, mengenakan biaya $10 untuk input dan $50 untuk output. Apa yang Anda dapatkan dari tarif Fable 5 tersebut layak dibaca sebelum Anda mengabaikan baris teratas itu. Jika berpindah ke tingkat yang lebih tinggi, kedua sisi dikalikan dengan faktor yang sama. Jadi, total biaya berubah, tetapi pembagian biaya input dan output tetap persis sama.
Sonnet 5 muncul dua kali karena tarif perkenalannya berakhir. Hingga 31 August 2026, tarifnya adalah $2 untuk input dan $10 untuk output. Mulai 1 September 2026, tarif standar sebesar $3 untuk input dan $15 untuk output berlaku. Tarif ini 50% lebih tinggi pada kedua sisi. Semua contoh perhitungan di bawah menggunakan tarif Agustus.
Tarif dapat berubah, dan halaman ini bukan tempat untuk memeriksanya. claude.com/pricing adalah sumber rujukan utama. Metode perhitungannya tetap berlaku meskipun harga berubah.
Ada satu hal yang tidak ditampilkan dalam daftar harga. Dokumentasi Anthropic menyatakan bahwa model Claude 4.7 dan yang lebih baru menggunakan tokenizer yang lebih baru. Tokenizer ini menghasilkan kira-kira 30% lebih banyak token untuk teks yang sama dibandingkan tokenizer pada Sonnet 4.6 dan versi sebelumnya. Perbandingan dua model hanya berdasarkan harga per satu juta token akan membuat model yang lebih baru terlihat lebih murah, karena dokumen yang sama menghasilkan lebih banyak token pada model tersebut. Bandingkan biaya per tugas yang selesai, dan hitung prompt yang sebenarnya menggunakan model yang benar-benar akan Anda pakai. Nilai satu juta token Claude dalam teks nyata menjelaskan seperti apa volume tersebut dalam praktik.
Kapan output mulai mendominasi biaya Anda?
Dengan harga output sebesar 5 kali harga input, titik impasnya mudah diingat. Misalkan token input adalah I dan token output adalah O. Biaya input adalah I. Biaya output adalah 5 kali O. Output menyumbang lebih dari setengah total biaya ketika 5 kali O lebih besar daripada I, yaitu pada rasio token 5 input banding 1 output.
Jadi, jika prompt Anda lebih dari lima kali lebih panjang daripada balasan, input menjadi komponen biaya yang lebih besar. Jika kurang dari itu, output yang lebih besar.
The data behind this chart
[
{
"label": "100:1",
"input_share_pct": 95.2,
"output_share_pct": 4.8
},
{
"label": "75:1",
"input_share_pct": 93.75,
"output_share_pct": 6.25
},
{
"label": "20:1",
"input_share_pct": 80,
"output_share_pct": 20
},
{
"label": "10:1",
"input_share_pct": 66.7,
"output_share_pct": 33.3
},
{
"label": "5:1",
"input_share_pct": 50,
"output_share_pct": 50
},
{
"label": "1:1",
"input_share_pct": 16.7,
"output_share_pct": 83.3
},
{
"label": "1:6",
"input_share_pct": 3.2,
"output_share_pct": 96.8
}
]Pada rasio 100 banding 1, output menyumbang 4.8% dari total biaya, sehingga memperpendek prompt adalah satu-satunya pekerjaan yang layak dilakukan. Pada rasio 5 banding 1, kedua komponen memiliki biaya yang sama. Pada rasio 1 banding 6, output menyumbang 96.8% dan biaya prompt dapat diabaikan. Sebagian besar orang keliru memperkirakan rasio mereka sendiri, jadi ambil angkanya dari log sebelum mengoptimalkan apa pun.
Beban kerja agent: konteks panjang, jawaban singkat
Jalankan satu langkah agent retrieval: 60,000 token input berupa dokumen hasil retrieval dan riwayat percakapan, serta jawaban sebanyak 800 token. Rasio ini adalah 75 banding 1, yang normal untuk proses apa pun yang membaca sebelum menulis.
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_cost": 0.06,
"output_cost": 0.004,
"total_cost": 0.064
},
{
"label": "Sonnet 5 (Aug)",
"input_cost": 0.12,
"output_cost": 0.008,
"total_cost": 0.128
},
{
"label": "Opus 5",
"input_cost": 0.3,
"output_cost": 0.02,
"total_cost": 0.32
},
{
"label": "Fable 5",
"input_cost": 0.6,
"output_cost": 0.04,
"total_cost": 0.64
}
]Output sebesar 6.25% dari panggilan tersebut pada setiap model, karena rasionya tetap di seluruh daftar harga. Biaya panggilan tersebut adalah $0.32 pada Opus 5, $0.128 pada Sonnet 5 dengan tarif Agustus, dan $0.064 pada Haiku 4.5. Dua ratus langkah tersebut per hari pada Opus 5 menghabiskan $64 per hari.
Dampaknya jelas setelah pembagiannya terlihat. Mengurangi jawaban dari 800 token menjadi 400 token hanya menghemat sekitar 3% biaya panggilan. Menghapus 20,000 token konteks yang sudah usang dari prompt menghemat sekitar sepertiga biaya tersebut. Memperketat panjang output pada agent yang lebih banyak membaca hampir tidak memberikan manfaat. ke mana token agent coding sebenarnya digunakan menguraikan bagian-bagian yang mengisi prompt tersebut.
Beban generasi: prompt singkat, draf panjang
Sekarang ubah perbandingannya. Brief 2,000 token dan draf 12,000 token menghasilkan rasio 1 banding 6.
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_cost": 0.002,
"output_cost": 0.06,
"total_cost": 0.062,
"batch_total_cost": 0.031
},
{
"label": "Sonnet 5 (Aug)",
"input_cost": 0.004,
"output_cost": 0.12,
"total_cost": 0.124,
"batch_total_cost": 0.062
},
{
"label": "Opus 5",
"input_cost": 0.01,
"output_cost": 0.3,
"total_cost": 0.31,
"batch_total_cost": 0.155
},
{
"label": "Fable 5",
"input_cost": 0.02,
"output_cost": 0.6,
"total_cost": 0.62,
"batch_total_cost": 0.31
}
]Output merupakan 96.8% dari tagihan ini. Opus 5 berbiaya $0.31 per draf, sedangkan Haiku 4.5 berbiaya $0.062. Selisih lima kali lipat itu hampir seluruhnya berasal dari output. Karena itu, model yang lebih murah memberikan penghematan terbesar pada bagian ini.
Kolom terakhir menunjukkan pekerjaan yang sama melalui Batch API, yang memangkas biaya input dan output sebesar 50%. Biaya Opus 5 turun menjadi $0.155 per draf. Batch mengembalikan hasil dalam 24 jam, bukan secara langsung. Karena itu, Batch cocok untuk membuat laporan pada malam hari dan melakukan klasifikasi dalam jumlah besar. Batch tidak cocok untuk pekerjaan yang harus ditunggu langsung oleh seseorang.
Perutean model memberikan manfaat di sini, tetapi tidak pernah memberikan manfaat yang sama pada langkah agent. Jika bagian pekerjaan yang panjang bersifat mekanis, seperti memformat ulang teks atau memperluas outline yang sudah Anda setujui, model murah dapat menghasilkan token tersebut dengan biaya seperlima. memilih antara Opus, Sonnet, dan Haiku menjelaskan letak batas kualitas yang sebenarnya.
Caching mengurangi biaya input, dan hanya input
Prompt caching menyimpan awalan prompt di server dan mengenakan sebagian tarif input saat awalan tersebut dibaca kembali. Per Agustus 2026, pengalinya adalah 1.25x tarif input dasar untuk menulis cache selama 5 menit, 2x untuk menulis cache selama 1 jam, dan 0.1x untuk membaca cache yang cocok.
Output tidak termasuk dalam mekanisme tersebut. Tidak ada output yang di-cache. Setiap token yang ditulis model selalu ditagihkan dengan tarif output penuh, berapa pun jumlah prompt yang dikembalikan sebagai cache yang cocok.
Gunakan langkah agent yang sama pada Opus 5, dengan 55,000 dari 60,000 token input dilayani dari cache aktif.
The data behind this chart
[
{
"label": "No cache",
"input_cost": 0.3,
"output_cost": 0.02,
"total_cost": 0.32
},
{
"label": "55k prefix cache read",
"input_cost": 0.0525,
"output_cost": 0.02,
"total_cost": 0.0725
}
]Biaya panggilan turun dari $0.32 menjadi $0.0725. Baris output tidak berubah: $0.02 sebelumnya dan $0.02 sesudahnya. Caching mengurangi tagihan dan mengubah komposisinya. Output mencakup 6.25% dari panggilan tersebut. Kini output mencakup lebih dari seperempat total biaya, sehingga pilihan optimasi berikutnya juga berubah.
Panggilan pertama membayar biaya penulisan. Penulisan cache selama 5 menit dikenai biaya 1.25x input dasar, sehingga biayanya tertutup setelah satu kali cache digunakan kembali. Penulisan cache selama 1 jam dikenai biaya 2x, sehingga memerlukan dua kali penggunaan kembali. pengali penulisan dan pembacaan, serta kapan caching tidak lagi menguntungkan menjelaskan perhitungan tersebut.
Empat tuas yang dapat Anda kendalikan
- Atur
max_tokenspada panjang output p95, bukan pada maksimum model. - Arahkan langkah-langkah yang panjang ke model yang lebih murah.
- Lakukan batch untuk semua pekerjaan yang tidak sedang ditunggu.
- Hapus instruksi yang membuat balasan menjadi lebih panjang.
max_tokens adalah batas maksimum yang tidak dapat dilampaui. Menetapkannya tinggi tidak menimbulkan biaya tambahan, karena Anda ditagih berdasarkan token yang dihasilkan, bukan berdasarkan batas maksimum tersebut. Batas yang longgar hanya menghilangkan pembatas pada balasan yang bermasalah. Ambil distribusi output_tokens dari log Anda, tetapkan batas sedikit di atas persentil ke-95, lalu tangani stop_reason: "max_tokens" dalam kode dengan melanjutkan respons atau mencoba ulang. Pemotongan yang terdeteksi biayanya lebih rendah daripada balasan bertele-tele sepanjang 4,000 token yang harus Anda bayar lalu buang. Pemikiran tambahan juga masuk ke dalam output_tokens, jadi tetapkan anggarannya berdasarkan data yang sama.
Perutean efektif ketika bagian mahal dari suatu langkah adalah volumenya, bukan penilaiannya. Pertahankan model yang lebih kuat untuk pengambilan keputusan, lalu serahkan pengetikan kepada model yang lebih murah. Ukur versi yang dirutekan pada set evaluasi Anda sendiri terlebih dahulu, karena model murah yang memerlukan dua percobaan dapat lebih mahal daripada satu percobaan dengan model mahal.
Batching adalah satu-satunya tuas yang memberikan diskon pada output. Diskon 50% untuk kedua sisi, hasil tersedia dalam 24 jam, dan pekerjaan terjadwal memenuhi syarat.
Tuas terakhir adalah yang sering dilewati orang. Frasa seperti "bersikap menyeluruh" dan "jelaskan penalaran Anda" menetapkan panjang output pada setiap panggilan yang akan Anda lakukan. Ganti frasa tersebut dengan format yang Anda inginkan: "Jawab dalam paling banyak tiga kalimat", atau "Kembalikan hanya objek JSON, tanpa pengantar". System prompt yang menambahkan 300 token ke setiap balasan biayanya lima kali lipat dibandingkan 300 token yang sama pada prompt. mengendalikan biaya agent yang terus berjalan membahas sisi pemantauan, dan menentukan apakah API atau langganan tetap lebih murah untuk pola penggunaan Anda sebaiknya diselesaikan sebelum Anda menghabiskan seminggu untuk mengoptimalkan biaya per token yang sebenarnya dapat ditanggung oleh langganan. Bagi satu developer, hal ini terutama bergantung pada apakah Claude Pro seharga $20 per bulan dan batas penggunaan yang menyertainya mencukupi untuk pekerjaan yang seharusnya Anda ukur berdasarkan penggunaan. Jika Anda sudah mencapai batas tersebut di tengah sesi, menentukan jendela mana yang sedang Anda tunggu menjadi langkah pertama, karena solusinya dapat berupa model yang lebih kecil, konteks yang lebih ringan, kredit penggunaan tambahan, atau memindahkan pekerjaan tersebut ke API yang ditagihkan berdasarkan penggunaan. Jika API yang ditagihkan berdasarkan penggunaan ternyata menjadi pilihan yang lebih murah untuk pekerjaan tersebut, beralih ke paket yang lebih kecil atau membatalkannya tidak mengurangi sisa bulan yang sudah Anda bayar, sehingga perpindahan itu tidak menimbulkan biaya tambahan. Jika paket yang Anda bandingkan dengan Pro adalah milik ChatGPT, bukan API yang ditagihkan berdasarkan penggunaan, dua tingkatan langganan yang harganya ditampilkan berdampingan menunjukkan mana yang lebih murah untuk pekerjaan coding. Jika pertanyaan tersebut diajukan untuk tim, bukan satu developer, perhatikan bahwa Claude Enterprise menggabungkan biaya per seat dengan token yang diukur berdasarkan tarif API yang sama, sehingga setiap tuas di halaman ini tetap berlaku untuk bagian tagihan yang dihitung berdasarkan penggunaan.
FAQ
Mengapa token output lebih mahal daripada token input?
Pembuatan token output memerlukan waktu akselerator yang jauh lebih banyak untuk setiap token. Prompt diproses dalam satu forward pass untuk seluruh isinya, sehingga satu pembacaan bobot model mencakup ribuan token dan perangkat keras dibatasi oleh throughput operasi perkalian. Respons dihasilkan satu token setiap kali. Setiap token memerlukan forward pass tersendiri yang kembali membaca seluruh bobot model, sehingga perangkat keras dibatasi oleh bandwidth memori. Anthropic menetapkan harga output 5 kali harga input di seluruh katalog saat ini, mulai dari Haiku 4.5 hingga Fable 5.
Apakah prompt caching membuat token output lebih murah?
Tidak. Prompt caching hanya berlaku untuk input. Per Agustus 2026, pembacaan cache dikenai biaya 0.1x dari tarif input dasar. Penulisan cache dikenai biaya 1.25x untuk durasi 5 menit atau 2x untuk durasi 1 jam. Output ditagihkan dengan tarif penuh pada setiap panggilan, terlepas dari pengaruh cache. Karena itu, caching mengubah bentuk tagihan sekaligus ukurannya. Setelah sisi input menyusut, output menjadi bagian yang paling layak dioptimalkan.
Apakah max_tokens yang tinggi membuat saya dikenai biaya jika responsnya singkat?
Tidak. Anda ditagih berdasarkan token yang benar-benar dihasilkan model. Jadi, max_tokens adalah batas maksimum, bukan reservasi. Nilai ini tetap penting karena merupakan satu-satunya batas tegas untuk respons yang terus bertambah. Tetapkan nilainya sedikit di atas persentil ke-95 dari output_tokens yang Anda amati, lalu tangani stop_reason: "max_tokens" dalam kode agar tidak mengirimkan jawaban yang terpotong tanpa pemberitahuan.
Bagaimana cara mengetahui rasio token input terhadap output saya sendiri?
Catat input_tokens, output_tokens, cache_read_input_tokens, dan cache_creation_input_tokens dari objek usage pada setiap respons, lalu bagi totalnya selama satu minggu. Jika rasionya lebih dari 5 input berbanding 1 output, biaya utama Anda berasal dari prompt. Cache bagian yang stabil dan ringkas bagian lainnya. Jika rasionya di bawah itu, biaya utama Anda berasal dari respons. Batasi panjangnya, lalu pindahkan langkah yang menghasilkan sebagian besar output ke model yang lebih murah atau ke Batch API.