Claude Token Maliyetleri: Girdi ve Çıktı Farkı
Claude modellerinde çıktı token maliyetinin girdi token maliyetinden 5 kat yüksek olmasının teknik nedenlerini inceleyin. Prefill ve decoding süreçlerini analiz edin.
Çıktı token'larının girdi token'larından daha maliyetli olmasının nedeni
Mevcut katalogdaki her Claude modelinde çıktı token'larının maliyeti, girdi token'larının beş katıdır. Bunun nedeni hesaplama biçimidir. Bir istemi okumak, model üzerinde tek bir geçiş gerektirir. Bir yanıtı yazmak ise her token için ayrı bir geçiş gerektirir ve her geçiş kendinden öncekini beklemek zorundadır.
Bu oran fiyat listesindeki her satırda aynıdır, dolayısıyla seçtiğiniz model faturanızın ne kadarının çıktıdan kaynaklandığını değiştirmez. Bunu iş yükünüzün yapısı belirler. 60,000 token okuyup 800 token ile yanıt veren bir aracı adımı, çıktı için neredeyse hiçbir maliyet oluşturmaz. 2,000 token okuyup 12,000 token yazan bir taslak oluşturma işi ise girdi için neredeyse hiçbir maliyet oluşturmaz. Her iki durum da aşağıda Anthropic'in Ağustos 2026 tarihli yayınlanmış fiyatları üzerinden hesaplanmıştır.
Prefill bir kez çalışır, decoding ise her token için bir kez çalışır
Bir çıkarım (inference) sunucusu, bir isteği birbirinden çok farklı maliyetlere sahip iki aşamada işler. Prefill aşaması istemi (prompt) okur. Decoding aşaması ise yanıtı yazar.
Prefill, istemin tamamını aynı anda alır. Her istem token'ı ağa aynı ileri geçiş (forward pass) ile girer; bu nedenle dikkat (attention) ve ileri beslemeli (feed-forward) işlemler, aynı anda binlerce token'ı kapsayan az sayıda büyük matris çarpımına dönüşür. Model ağırlıklarının bellekten bir kez okunması, tüm istemi işlemek için yeterlidir. Hızlandırıcının matris birimleri meşgul kaldığı için prefill işlemi hesaplama sınırlıdır (compute-bound): sınır, çipin ne kadar hızlı çarpma yapabildiğidir.
Decoding bu şekilde çalışamaz, çünkü 2. token 1. token'a bağlıdır. Modelin az önce ürettiği token, bir sonraki adımın girdisinin bir parçası haline gelir; bu nedenle adımlar aynı anda çalıştırılamaz. Her çıktı token'ı kendi ileri geçişine sahiptir ve bu geçişlerin her biri, tek bir token üretmek için model ağırlıklarının tamamını yüksek bant genişlikli bellekten okur. Bu durum decoding işlemini bellek sınırlı (memory-bound) hale getirir: sınır, ağırlıkların ne kadar hızlı çarpıldığı değil, ne kadar hızlı taşınabildiğidir. Prefill sırasında tüm bir istemi işleyen aynı ağırlık trafiği, decoding sırasında size yalnızca bir token kazandırır.
Sunum sistemleri, toplu işleme (batching) yöntemiyle bu duruma karşı koyar. Birçok istek birlikte decode edilir, böylece ağırlıkların bir kez okunması, gruptaki her istek için bir token üretilmesini sağlar. Decoding işleminin makul maliyetli olmasının nedeni budur. Buradaki tavan yine bellektir. İşlemdeki her istek bir KV cache (key/value cache; şimdiye kadar üretilen her token için saklanan dikkat durumu) tutar; bu önbellek üretilen her token ile büyür ve hızlandırıcıyı doldurduğunda grup daha fazla genişleyemez.
Bunların hiçbiri size kesin bir sayı vermez ve 5x oranını ölçülmüş bir donanım oranı olarak görmemelisiniz. Bu, Anthropic tarafından belirlenen ve bu asimetriye dayanan bir fiyattır. Kendi başınıza kontrol edebileceğiniz şey ise yönelimdir ve bu yaklaşık bir dakikanızı alır.
Giriş ve çıkış boşluğunu kendiniz ölçün
Araçları herhangi bir Ubuntu makinesine kurun:
sudo apt update && sudo apt install -y curl jq moreutilsŞimdi uzun bir yanıt gerektiren kısa bir istemi akışa alın ve her satıra ulaştığı zamanı damgalayın.
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, her satırın başına komutun başlamasından itibaren geçen saniyeyi ekler. Bu çıktıdan okunması gereken iki husus vardır. İlk content_block_delta satırı, ilk belirtece (token) ulaşma sürenizdir ve tüm ön doldurma (prefill) işlemi bu süre içinde gerçekleşmiştir. Bundan sonraki her satır, kod çözme işleminin küçük bir adımıdır ve damgalar message_stop gelene kadar artmaya devam eder.
Şimdi şekli tersine çevirin. İstem içine uzun bir belge koyun ve yanıtı birkaç belirteçle sınırlayın.
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'İlk fark, kısa istemde olduğundan daha uzun sürer; çünkü ön doldurma işleminin okunacak çok daha fazla metni vardır. Yanıt ulaştıktan sonra işlem neredeyse hemen biter, çünkü kod çözülecek sadece birkaç belirteç kalmıştır. On binlerce belirteç içeri girdi ve saat neredeyse hiç ilerlemedi. Birkaç yüz belirteç çıktı ve saat tüm süre boyunca çalıştı.
Akış içermeyen her yanıt, faturalandırıldığınız sayıları içerir.
{
"usage": {
"input_tokens": 41283,
"output_tokens": 6,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}Her istek için dört alanı da günlüğe kaydedin. output_tokens, genişletilmiş düşünme sürecini içerir; bu nedenle yanıt vermeden önce düşünen bir model, bu düşünme sürecini çıkış hızından faturalandırır. Bir istemi göndermeden önce fiyatlandırmak için POST /v1/messages/count_tokens, aynı istek gövdesini kabul eder, modeli çalıştırmadan {"input_tokens": N} değerini döndürür ve ücretsizdir.
Ağustos 2026 itibarıyla Claude'un milyon token başına ücretlendirmesi
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
}
]Son sütun, çıktının girdiye bölünmesiyle elde edilir ve her satırda 5 değerini gösterir. Haiku 4.5, giriş için $1 ve çıkış için $5 ücretlendirme yapar. Opus 5, giriş için $5 ve çıkış için $25 ücretlendirir. En maliyetli model olan Fable 5, giriş için $10 ve çıkış için $50 ücret alır. Üst modellere geçiş, her iki tarafı da aynı katsayıyla çarpar; bu durum toplam maliyetinizi değiştirse de giriş-çıkış oranınızı sabit tutar.
Sonnet 5, giriş fiyatı süreli olduğu için listede iki kez yer alır. 31 Ağustos 2026 tarihine kadar giriş için $2 ve çıkış için $10 ücretlendirilir. 1 Eylül 2026 tarihinden itibaren, her iki tarafta da %50 artış anlamına gelen $3 giriş ve $15 çıkış şeklindeki standart tarife uygulanır. Aşağıdaki tüm örnek hesaplamalarda Ağustos ayı tarifesi kullanılmıştır.
Fiyatlar değişebilir; bu nedenle güncel bilgileri buradan takip etmemelisiniz. claude.com/pricing tek doğru kaynaktır. Fiyat değişikliğinden etkilenmeyen tek şey yöntemdir.
Fiyat listesinde gösterilmeyen bir husus bulunmaktadır. Anthropic belgelerine göre, Claude 4.7 ve sonraki modeller, Sonnet 4.6 ve önceki modellerdeki tokenizer'a kıyasla aynı metin için yaklaşık %30 daha fazla token üreten yeni bir tokenizer kullanmaktadır. Sadece milyon token başına maliyete bakarak iki modeli karşılaştırmak, yeni modelin daha avantajlı görünmesine neden olur; çünkü aynı belge yeni modelde daha fazla token kaplar. Karşılaştırmayı tamamlanmış görev başına maliyet üzerinden yapın ve gerçek istemlerinizi kullanmayı planladığınız model üzerinde test edin. bir milyon Claude token'ının gerçek metin karşılığı bölümü, bu hacmin pratikte neye denk geldiğini açıklamaktadır.
Çıktı maliyeti faturanızda ne zaman baskın hale gelir?
Çıktı fiyatı, girdi fiyatının 5 katı olarak belirlendiğinde, başa baş noktasını zihinden hesaplamak kolaydır. Girdi token'larını I, çıktı token'larını O olarak adlandırın. Girdi maliyeti I kadardır. Çıktı maliyeti ise 5 çarpı O kadardır. 5 çarpı O, I'dan büyük olduğunda çıktı harcamalarınızın yarısından fazlasını oluşturur; bu da 5 girdi token'ına karşılık 1 çıktı token'ı oranına denk gelir.
Yani isteminiz yanıtınızdan beş kat daha uzunsa, girdi daha büyük bir maliyet kalemidir. Bunun altındaki oranlarda ise çıktı daha maliyetlidir.
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
}
]100'e 1 oranında, çıktı harcamanın 4.8%'ini oluşturur ve bu durumda sadece istemi kısaltmak üzerinde çalışmaya değer. 5'e 1 oranında iki taraf eşittir. 1'e 6 oranında ise çıktı 96.8%'i oluşturur ve istem bir yuvarlama hatası kadar önemsiz kalır. Çoğu kişi kendi oranını yanlış tahmin eder, bu nedenle herhangi bir optimizasyon yapmadan önce bu veriyi loglarınızdan çekin.
Bir aracı iş yükü: uzun bağlam girişi, kısa yanıt çıkışı
Bir aracı (agent) adımını ele alalım: 60.000 token'lık getirilen dokümanlar ve konuşma geçmişi girişi ile 800 token'lık bir yanıt. Bu, okuma işleminin yazma işleminden önce geldiği her senaryo için normal kabul edilen 75'e 1 oranına denk gelir.
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
}
]Çıktı, her modeldeki çağrının 6.25%'ini oluşturur; çünkü bu oran tüm fiyat listesi boyunca sabittir. Bu çağrı Opus 5 üzerinde $0.32, Ağustos tarifesiyle Sonnet 5 üzerinde $0.128 ve Haiku 4.5 üzerinde $0.064 maliyete sahiptir. Opus 5 üzerinde günde iki yüz adet bu tür adımın maliyeti günlük 64 dolardır.
Bölünmeyi gördüğünüzde kaldıraç etkisi netleşir. Yanıtı 800 token'dan 400 token'a düşürmek, çağrı maliyetinin yaklaşık %3'ünü tasarruf ettirir. İstemin içinden 20.000 token'lık eski bağlamı çıkarmak ise maliyetin yaklaşık üçte birini tasarruf ettirir. Okuma ağırlıklı bir araçta çıktı uzunluğunu kısıtlamak, neredeyse boşa harcanmış bir çabadır. bir kodlama aracının token'larının aslında nereye gittiği, istemi ilk etapta neyin doldurduğunu detaylandırır.
Bir üretim iş yükü: kısa istem, uzun taslak
Şimdi yapıyı tersine çevirelim. 2.000 token'lık bir özet, 12.000 token'lık bir taslak; yani 1'e 6 oranında bir dağılım.
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
}
]Çıktı, bu faturanın 96.8% oranındaki kısmını oluşturmaktadır. Opus 5 ile taslak başına maliyet 0.31 $ iken, Haiku 4.5 ile bu maliyet 0.062 $ seviyesindedir. Beş katlık bu fark neredeyse tamamen çıktı tarafındaki maliyetlerden kaynaklanmaktadır; daha ucuz bir modelin size en çok tasarruf sağladığı nokta tam olarak burasıdır.
Son sütun, girdi ve çıktı maliyetlerinde %50 indirim sağlayan Batch API üzerinden gerçekleştirilen aynı işi göstermektedir. Opus 5 ile taslak başına maliyet 0.155 $ seviyesine düşmektedir. Batch API, sonuçları anlık olarak değil 24 saat içerisinde iletir; bu nedenle gece raporu oluşturma ve toplu sınıflandırma işlemleri için uygundur. Bir kullanıcının başında beklediği işler için uygun değildir.
Model yönlendirme (routing), ajan adımlarında hiç olmadığı kadar burada değer yaratır. İşin uzun ve detaylı kısmı mekanik bir süreçten ibaretse, yani metni yeniden biçimlendiriyorsanız veya onayladığınız bir taslağı genişletiyorsanız, ucuz model bu token'ları beş kat daha düşük bir maliyetle üretir. Opus, Sonnet ve Haiku arasında seçim yapma rehberi, kalite sınırının gerçekte nerede durduğunu açıklamaktadır.
Girdi önbellekleme indirimleri ve yalnızca girdi
İstem önbellekleme (prompt caching), isteminizin bir önekini sunucuda saklar ve bu kısmı tekrar okumak için standart girdi ücretinin bir kısmını tahsil eder. Ağustos 2026 itibarıyla çarpanlar şu şekildedir: 5 dakikalık bir önbellek yazmak için temel girdi oranının 1,25 katı, 1 saatlik önbellek yazmak için 2 katı ve bir isabet (hit) okumak için 0,1 katı.
Çıktı bu kapsama dahil değildir. Önbelleğe alınmış çıktı diye bir şey yoktur. Modelin yazdığı her token, istemin ne kadarı önbellekten gelirse gelsin, her seferinde tam çıktı oranından ücretlendirilir.
Opus 5 üzerinde aynı aracı adımını ele alalım; 60.000 girdi token'ının 55.000'i sıcak bir önbellekten sağlansın.
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
}
]Çağrı maliyeti $0.32 seviyesinden $0.0725 seviyesine düşer. Çıktı satırı değişmez: Öncesinde $0.02, sonrasında $0.02. Önbellekleme faturayı düşürür ve yapısını değiştirir. Çıktı, bu çağrının %6.25'ini oluşturuyordu. Şimdi ise dörtte birinden fazlasını oluşturuyor; bu da bir sonraki adımda hangi optimizasyonun daha değerli olduğunu değiştirir.
İlk çağrı yazma maliyetini karşılar. 5 dakikalık bir önbellek yazımı, temel girdinin 1,25 katına mal olur, bu nedenle tek bir isabetten sonra kendi maliyetini çıkarır. 1 saatlik yazım 2 katına mal olur, bu nedenle iki isabet gerekir. yazma ve okuma çarpanları ve önbelleklemenin maliyet avantajının bittiği nokta bu aritmetiği detaylandırır.
Kontrol edebileceğiniz dört kaldıraç
max_tokensdeğerini modelin maksimum kapasitesine değil, p95 çıktı uzunluğunuza göre ayarlayın.- Uzun adımları daha düşük maliyetli bir modele yönlendirin.
- Kimsenin beklemediği her türlü işlemi toplu (batch) olarak gerçekleştirin.
- Yanıtları şişiren talimatları silin.
max_tokens katı bir üst sınırdır ve bu değeri yüksek tutmanın tek başına bir maliyeti yoktur; çünkü faturalandırma üretilen token miktarı üzerinden yapılır, üst sınır üzerinden değil. Cömert bir üst sınırın sağladığı avantaj, hatalı giden bir yanıttaki kısıtlamayı kaldırmaktır. Loglarınızdan output_tokens dağılımını çıkarın, üst sınırı 95. yüzdelik dilimin biraz üzerine ayarlayın ve stop_reason: "max_tokens" durumlarını kod içerisinde yanıtı devam ettirerek veya yeniden deneyerek yönetin. Tespit ettiğiniz bir kesilme, ödeme yapıp çöpe attığınız 4.000 token'lık gereksiz bir metinden daha az maliyetlidir. Uzun süreli düşünme süreçleri de output_tokens içerisine dahil olur, bu nedenle bütçeyi aynı veriler ışığında belirleyin.
Yönlendirme, bir adımın maliyetli kısmı yargıdan ziyade hacim olduğunda işe yarar. Karar verme aşamasında güçlü modeli tutun, yazma işini ise daha ucuz bir modele devredin. Yönlendirilmiş sürümü önce kendi değerlendirme setinizde ölçün; çünkü iki deneme gerektiren ucuz bir model, tek seferde sonuç veren pahalı bir modelden daha maliyetli olabilir.
Toplu işleme (batching), çıktı maliyetini düşüren tek kaldıraçtır. Her iki tarafta yüzde 50 indirim sağlar, sonuçlar 24 saat içinde teslim edilir ve zamanlanmış her türlü işlem bu kapsama girer.
Son kaldıraç ise insanların genellikle göz ardı ettiği kısımdır. "Detaylı ol" veya "mantığını açıkla" gibi ifadeler, yapacağınız her çağrıda çıktı uzunluğunu belirler. Bunları istediğiniz formatla değiştirin: "En fazla üç cümleyle yanıtla" veya "Ön açıklama yapmadan sadece JSON nesnesini döndür". Her yanıta 300 token ekleyen bir sistem istemi, aynı 300 token'ın istem (prompt) içinde maliyetinden beş kat daha pahalıya mal olur. çalışan bir ajanın maliyetlerini kontrol altında tutma konusu izleme tarafını kapsar ve API kullanımının mı yoksa sabit aboneliğin mi kullanım şekliniz için daha ucuz olduğu konusu, aboneliğin karşılayabileceği token bazlı harcamaları optimize etmek için bir hafta harcamadan önce netleştirilmelidir.
FAQ
Çıktı token'ları neden girdi token'larından daha pahalıdır?
Bunların üretilmesi, token başına çok daha fazla hızlandırıcı süresi gerektirir. Bir istem, modelin tamamı üzerinden tek bir ileri geçişte işlenir; dolayısıyla model ağırlıklarının tek bir okuması binlerce token'ı kapsar ve donanım, çarpma verimi ile sınırlanır. Bir yanıt ise her seferinde tek bir token olarak üretilir; her token, model ağırlıklarının tamamını yeniden okuyan kendi ileri geçişine ihtiyaç duyar, bu nedenle donanım bellek bant genişliği ile sınırlanır. Anthropic, Haiku 4.5'ten Fable 5'e kadar tüm mevcut katalog genelinde çıktı fiyatlarını girdi fiyatlarının beş katı olarak belirlemiştir.
İstem önbelleğe alma (prompt caching), çıktı token'larını daha ucuz hale getirir mi?
Hayır. İstem önbelleğe alma yalnızca girdi için geçerlidir. Ağustos 2026 itibarıyla bir önbellek okuması, temel girdi oranının 0.1 katına mal olur; önbellek yazmaları ise 5 dakikalık süre için 1.25 kat, 1 saatlik süre için 2 kat maliyet getirir. Çıktı, önbelleğin ne yaptığına bakılmaksızın her çağrıda tam oran üzerinden faturalandırılır. Önbelleğe almanın faturanızın boyutunun yanı sıra şeklini de değiştirmesinin nedeni budur: girdi tarafı küçüldüğünde, maliyetin odak noktası çıktı tarafı haline gelir.
Yanıt kısa gelirse yüksek bir max_tokens bana para kaybettirir mi?
Hayır. Yalnızca modelin fiilen ürettiği token'lar için faturalandırılırsınız; dolayısıyla max_tokens bir rezervasyon değil, bir üst sınırdır. Yine de önemlidir, çünkü kontrolden çıkan bir yanıt üzerindeki tek kesin sınırdır. Bu değeri, gözlemlediğiniz output_tokens değerinin 95. yüzdelik diliminin biraz üzerine ayarlayın ve ardından sessizce kesilmiş bir yanıt göndermek yerine stop_reason: "max_tokens" durumunu kod içerisinde yönetin.
Kendi girdi/çıktı token oranımı nasıl bulabilirim?
Her yanıtın usage nesnesinden input_tokens, output_tokens, cache_read_input_tokens ve cache_creation_input_tokens değerlerini günlükleyin, ardından bir hafta boyunca toplamları birbirine bölün. 5 girdi/1 çıktı oranının üzerindeyseniz, paranız istemin içindedir; bu nedenle sabit kısmı önbelleğe alın ve geri kalanını kırpın. Bunun altındaysanız, paranız yanıtın içindedir; bu nedenle yanıt uzunluğunu sınırlayın ve en çok çıktı üreten adımları daha ucuz bir modele veya Batch API'ye taşıyın.