DEV Community

Cover image for Claude API Faturanızı Nasıl Düşürürsünüz? (Opus 4.8 ve Fable 5)
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Claude API Faturanızı Nasıl Düşürürsünüz? (Opus 4.8 ve Fable 5)

Claude faturanız çoğunlukla çıktıdan değil, girdi jetonlarından büyür. API durumsuz olduğu için her turda sistem komutunu, araç tanımlarını, belgeleri ve önceki mesajları yeniden gönderirsiniz. Uzun araç döngülerinde veya Claude Code oturumlarında bu bağlam her istekte tekrar faturalandırılır.

Apidog'u bugün deneyin

Bu yüzden maliyeti düşürmek için üç şeye odaklanın: gönderdiğiniz bağlamı küçültmek, doğru modeli seçmek ve tekrar kullanılan bağlamı yeniden ödememek. Bu rehberde önce birinci taraf maliyet kaldıraçlarını, sonra pxpipe gibi proxy tabanlı bir yaklaşımı, en sonda da geliştirme/test aşamasında mock API kullanımını ele alacağız.

Fiyatlandırmanın temelini, jetonların nasıl sayıldığını, önbellekleme ve toplu işlemenin nasıl faturalandırıldığını önce okumak isterseniz: Claude API maliyet açıklayıcımız.

Kaldıraç 1: İstek önbellekleme

İstek önbellekleme, özellikle araç kullanan iş yüklerinde en yüksek getirili değişikliklerden biridir.

Mantık basit:

  1. Sabit bir öneki önbelleğe alınabilir işaretleyin.
  2. Claude bu öneki depolar.
  3. Aynı baytlarla başlayan sonraki isteklerde tam girdi fiyatı yerine önbellek okuma fiyatı ödersiniz.

Önbelleğe alınmaya uygun içerikler:

  • Sistem komutu
  • Araç tanımları
  • Uzun referans belgeleri
  • Sabit yönergeler
  • Sık tekrar eden bağlam blokları

Ekonomi tarafı önemlidir:

  • Önbellek okumaları yaklaşık temel girdi fiyatının 0.1x katına mal olur.
  • 5 dakikalık TTL için önbellek yazımı yaklaşık 1.25x maliyetlidir.
  • 1 saatlik TTL için önbellek yazımı yaklaşık 2x maliyetlidir.
  • 5 dakikalık önbellekte başabaş yaklaşık 2 istek civarındadır.
  • 1 saatlik önbellekte başabaş yaklaşık 3 istek civarındadır.

Yani bir öneki yalnızca bir kez kullanacaksanız önbellekleme pahalıya gelebilir. Aynı öneki onlarca kez kullanıyorsanız, ilk yazımdan sonra büyük tasarruf sağlar.

Dikkat etmeniz gereken kritik nokta: önbellekleme bayt düzeyinde önek eşleşmesi ister. Önbelleğe alınan bölümdeki küçük bir değişiklik bile yeni yazma maliyeti oluşturur.

Sık yapılan hatalar:

  • Sistem komutuna zaman damgası eklemek
  • Oturum kimliğini sabit öneke koymak
  • İstek sayacı veya rastgele değer kullanmak
  • Araç listesinin sırasını değiştirmek
  • JSON alanlarının sırasını her çağrıda farklı üretmek

Önbelleğin gerçekten çalışıp çalışmadığını ölçün. Yanıttaki şu alanı kontrol edin:

{
  "usage": {
    "cache_read_input_tokens": 12345
  }
}
Enter fullscreen mode Exit fullscreen mode

Aynı öneki kullanan tekrarlı isteklerde cache_read_input_tokens büyük ve sıfırdan farklı olmalıdır. Sürekli 0 görüyorsanız, önekiniz her çağrıda değişiyor demektir.

Detaylı mekanik için: istek önbelleklemenin ne olduğunu ve nasıl çalıştığını inceleyebilirsiniz.

Kaldıraç 2: Modeli doğru boyutlandırma

En yaygın aşırı harcama nedeni, görevin gerektirdiğinden daha büyük model kullanmaktır.

Tek bir modeli varsayılan yapmak yerine trafiği göreve göre yönlendirin:

Model Model Kimliği Girdi Çıktı Bağlam penceresi
Fable 5 claude-fable-5 $10 $50 1M
Opus 4.8 claude-opus-4-8 $5 $25 1M
Sonnet 5 claude-sonnet-5 $3 ($2 intro) $15 ($10 intro) 1M
Haiku 4.5 claude-haiku-4-5 $1 $5 200K

Pratik yönlendirme stratejisi:

  • Fable 5: Yalnızca ekstra muhakeme kalitesi sonucu gerçekten değiştiriyorsa kullanın.
  • Opus 4.8: Çoğu ajan tabanlı iş, kodlama akışı ve Claude Code benzeri araç döngüleri için mantıklı varsayılan.
  • Sonnet 5: Daha düşük maliyetle iyi kalite gerektiren yüksek hacimli üretim trafiği.
  • Haiku 4.5: Sınıflandırma, çıkarma, yönlendirme, kısa yanıtlar ve hız kritik basit işler.

Örnek model yönlendirme mantığı:

function selectClaudeModel(task: {
  type: "classification" | "coding" | "long_reasoning" | "batch_generation";
  complexity: "low" | "medium" | "high";
}) {
  if (task.type === "classification") return "claude-haiku-4-5";
  if (task.type === "batch_generation") return "claude-sonnet-5";
  if (task.type === "coding") return "claude-opus-4-8";
  if (task.type === "long_reasoning" && task.complexity === "high") {
    return "claude-fable-5";
  }

  return "claude-opus-4-8";
}
Enter fullscreen mode Exit fullscreen mode

Fable 5 ile ilgili faturalandırma detayı: bir güvenlik sınıflandırıcısı isteği reddederse, beta fallbacks parametresi bu turu Opus 4.8'e yönlendirebilir ve yeniden yönlendirilen tur Opus oranlarından faturalandırılır. Bu genellikle indirim anlamına gelir, ancak Fable trafiğinizde Opus fiyatlı satırlar görebileceğinizi bilmek gerekir.

Daha derin maliyet dökümleri için:

Kaldıraç 3: Toplu API ile %50 indirim

İşiniz gerçek zamanlı yanıt gerektirmiyorsa, Toplu API doğrudan maliyet düşürür.

İşleri şu uç noktaya gönderirsiniz:

POST /v1/messages/batches
Enter fullscreen mode Exit fullscreen mode

İstekler eş zamansız çalışır ve sonuçları daha sonra alırsınız. Çoğu toplu işlem bir saat içinde tamamlanır; üst sınır 24 saattir. %50 indirim hem girdi hem çıktı jetonlarına uygulanır.

Toplu işlem için uygun işler:

  • Test kümesi değerlendirmeleri
  • Birikmiş kayıtlar üzerinde sınıflandırma
  • Toplu çıkarım işleri
  • Özet, etiket veya meta veri doldurma
  • Gecikmeye toleranslı çevrimdışı işler

Örneğin Claude harcamanızın yarısı gece çalışan senkron işlemlerden geliyorsa, bu işleri Toplu API'ye taşımak o bölümde doğrudan %50 tasarruf sağlar. Kalite değişmez; yalnızca gecikme kabul edilir.

Kaldıraç 4: effort, max_tokens ve count_tokens kullanın

Tek bir isteğin ne kadar harcayabileceğini üç ayarla kontrol edebilirsiniz.

output_config.effort

output_config.effort modelin yanıt vermeden önce ne kadar düşüneceğini belirler.

Desteklenen değerler:

low
medium
high
xhigh
max
Enter fullscreen mode Exit fullscreen mode

Düşünme jetonları da faturalandırılır. Bu yüzden her şeyi alışkanlıkla high çalıştırmayın.

Pratik test akışı:

  1. Mevcut kaliteyi high ile ölçün.
  2. Aynı görevleri medium ile çalıştırın.
  3. Kalite düşmüyorsa medium kullanın.
  4. Basit görevlerde low deneyin.

Örnek yapı:

{
  "model": "claude-opus-4-8",
  "messages": [
    {
      "role": "user",
      "content": "Bu JSON şemasını doğrula ve hataları listele."
    }
  ],
  "output_config": {
    "effort": "medium"
  }
}
Enter fullscreen mode Exit fullscreen mode

max_tokens

max_tokens, çıktı için üst sınırdır. Kısa yanıtları ucuzlatmaz, ancak beklenmeyen uzun çıktıları engeller.

Örneğin JSON bekliyorsanız ve yanıt 300 jetonu geçmemeliyse:

{
  "model": "claude-haiku-4-5",
  "max_tokens": 300,
  "messages": [
    {
      "role": "user",
      "content": "Aşağıdaki metinden alanları JSON olarak çıkar..."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Bu, modelin beklenmedik şekilde uzun açıklamalar üretmesini sınırlar.

count_tokens

İsteği göndermeden önce maliyeti tahmin edin. count_tokens, Claude'un kendi tokenizer'ı ile kaç girdi jetonu faturalandırılacağını söyler.

Burada tiktoken kullanmayın. tiktoken, OpenAI tokenizer'ıdır ve Claude için yaklaşık %15-20 eksik sayabilir. Bu da bütçe tahmininizin gerçek faturadan düşük kalmasına neden olur.

Pratik kullanım:

  • Büyük belge göndermeden önce sayın.
  • İstek başına bütçe sınırı koyun.
  • Sınırı aşan istekleri özetleme veya kırpma adımına yönlendirin.

Basit kontrol mantığı:

const MAX_INPUT_TOKENS = 50_000;

async function guardRequest(inputTokens: number) {
  if (inputTokens > MAX_INPUT_TOKENS) {
    throw new Error("İstek çok büyük. Önce bağlamı kırpın veya özetleyin.");
  }
}
Enter fullscreen mode Exit fullscreen mode

Kaldıraç 5: Yeniden gönderdiğiniz bağlamı kırpın

API durumsuz olduğu için uzun araç döngülerinde her turda tüm geçmişi yeniden gönderirsiniz. 30. turda bu geçmişin büyük bölümü artık gereksiz olabilir:

  • Önceden işlenmiş araç çıktıları
  • Artık kullanılmayan keşifler
  • Bir kez okunmuş dosya içerikleri
  • Eski ara sonuçlar

Bu bağlamı yeniden göndermek tam girdi fiyatı ödemeye devam etmek anlamına gelir.

Bunu azaltmak için iki sunucu tarafı özellik kullanılabilir:

  • Bağlam düzenleme (clear_tool_uses_20250919): Eski araç sonuçlarını yeniden gönderilen bağlamdan düşürür.
  • Sıkıştırma (compact_20260112): Eski geçmişi daha kısa biçimde özetler.

Avantajı: kendi özetleyicinizi yazmanız veya mesaj dizilerini manuel kırpmanız gerekmez.

Özellikle uzun Claude Code oturumlarında bu önemlidir. Detaylı açıklama için: Claude Code jeton penceresi ve sıfırlamaları.

Daha ileri: pxpipe ile bağlamı görüntü olarak işlemek

Birinci taraf kaldıraçlar gönderdiğiniz jetonları azaltır veya daha ucuza fiyatlandırır. pxpipe ise büyük ve sabit bağlamı görüntü olarak işleyerek farklı bir yaklaşım kullanır.

pxpipe nedir?

pxpipe, istemciniz ile Anthropic API arasında çalışan yerel bir proxy'dir.

Özellikleri:

  • MIT lisanslıdır.
  • TypeScript ile yazılmıştır.
  • Yerel çalışır.
  • ANTHROPIC_BASE_URL üzerinden araya girer.
  • Giden istekleri denetler.

Maliyeti nasıl düşürür?

Yoğun metin, metin jetonu olarak pahalıdır. pxpipe, isteğin büyük ve sabit bölümlerini sıkıştırılmış PNG görüntülerine dönüştürür.

Örnek dönüştürülebilecek bloklar:

  • Sistem komutu
  • Araç belgeleri
  • Eski geçmiş
  • Yoğun referans metinleri

Proje, yaklaşık 48 bin karakterlik sistem komutu ve araç belgeleri örneğinin metin olarak yaklaşık 25 bin jetona, görüntü olarak yaklaşık 2.7 bin görüntü jetonuna denk geldiğini bildirir.

Önemli detay: pxpipe yalnızca jeton matematiğinin kazançlı olduğu içerikleri görüntüler. Seyrek düzyazıyı metin olarak geçirebilir.

Kurulum

Proxy'yi başlatın:

npx pxpipe-proxy
Enter fullscreen mode Exit fullscreen mode

Varsayılan olarak şu adreste çalışır:

127.0.0.1:47821
Enter fullscreen mode Exit fullscreen mode

Claude Code'u proxy'ye yönlendirin:

ANTHROPIC_BASE_URL=http://127.0.0.1:47821 claude
Enter fullscreen mode Exit fullscreen mode

Model desteği

Varsayılan olarak pxpipe şunlar için istekleri görüntüler:

  • claude-fable-5
  • GPT 5.6

Opus 4.7/4.8 ve GPT 5.5 isteğe bağlıdır. Proje, bu modellerin görüntülenmiş bağlamı ölçülebilir şekilde daha kötü okuyabildiğini bildirir.

Etkinleştirmek için PXPIPE_MODELS kullanabilirsiniz:

PXPIPE_MODELS=claude-opus-4-8 npx pxpipe-proxy
Enter fullscreen mode Exit fullscreen mode

Diğer modeller değişmeden geçer.

Bildirilen tasarruflar

Bunlar pxpipe projesinin kendi bildirdiği sayılardır; bağımsız olarak doğrulanmış rakamlar değildir.

Proje şunları bildirir:

  • 13.709 istekte %59 tasarruf
  • 100 dolarlık faturanın yaklaşık 41 dolara düşmesi
  • SWE-bench Lite pilot uygulamasında %65 istek boyutu azalması

Bunları satıcı kıyaslaması olarak değerlendirin ve kendi trafiğinizde ölçün.

Dikkat edilmesi gereken ödünleşimler

pxpipe her iş yükü için otomatik kazanç değildir.

1. İstek önbellekleme ile etkileşir

Önbellekleme bayt düzeyinde önek eşleşmesi ister. pxpipe istek baytlarını değiştirdiği için önbelleğe alma davranışını etkileyebilir.

Bu yüzden şu iki senaryoyu ayrı ölçün:

  • Yalnızca prompt caching
  • pxpipe ile görüntüleme

Bunların maliyet düşüşlerinin otomatik olarak toplandığını varsaymayın.

2. Model görüntülenmiş bağlamı görsel olarak okur

Yoğun dizelerde hata riski olabilir:

  • Uzun hexadecimal kimlikler
  • Tam token değerleri
  • Hassas sabit dizeler
  • Kod benzeri yoğun bloklar

Bu hatalar her zaman açık şekilde görünmeyebilir. Üretimde kullanmadan önce çıktı kalitesini test edin.

3. İstek yolunuza proxy ekler

Yerel çalışması avantajdır, ancak yine de istek yolunuzda üçüncü taraf bir bileşendir. Üretim trafiği için güvenlik ve uyumluluk açısından değerlendirin.

pxpipe özellikle büyük, sabit ve yoğun bağlam blokları olan iş yüklerinde test etmeye değer. Bağlamınız zaten önbelleğe çok uygunsa, birinci taraf önbellekleme daha iyi sonuç verebilir.

Geliştirme ve test jetonlarını azaltın

Yukarıdaki adımlar üretim maliyetini hedefler. Ancak entegrasyon geliştirirken de ücretli jeton yakarsınız.

Canlı Anthropic API'sine karşı her test çalıştırması maliyet üretir:

  • Başarısız denemeler
  • Yeniden denemeler
  • CI çalışmaları
  • İstek şekli testleri
  • Parser ve hata işleme denemeleri

Bu adımların çoğu gerçek model gerektirmez. İstek/yanıt sözleşmesini doğrulamak için mock API yeterlidir.

Bunun için Anthropic yanıtını Apidog'da sahteleyebilirsiniz.

Pratik akış:

  1. Kullandığınız Claude uç noktasının istek şemasını tanımlayın.
  2. Beklenen yanıt şemasını oluşturun.
  3. Mock yanıtları ekleyin.
  4. Testlerinizi ve CI ortamınızı mock endpoint'e yönlendirin.
  5. Gerçek modele yalnızca model davranışını doğrulamanız gerektiğinde gidin.

Örnek geliştirme ortamı ayrımı:

# Lokal geliştirme
ANTHROPIC_BASE_URL=https://mock-api.example.com

# Üretim
ANTHROPIC_BASE_URL=https://api.anthropic.com
Enter fullscreen mode Exit fullscreen mode

Bu yaklaşım üretim Claude faturanızı düşürmez. Düşürdüğü yer geliştirme ve test döngüsüdür. İstek/yanıt sözleşmesini doğrulamak için gerçek jeton harcamazsınız.

Kaldıraçları birlikte kullanın

En iyi sonuç tek bir optimizasyondan değil, birkaçını birlikte uygulamaktan gelir.

Uygulanabilir sıra:

  1. Sabit öneki önbelleğe alın

    Sistem komutu, araçlar ve belgeler için caching kullanın. cache_read_input_tokens değerini kontrol edin.

  2. Modeli göreve göre seçin

    Opus 4.8'i varsayılan yapın, Fable 5'i yalnızca gerekli olduğunda kullanın, hacimli işleri Sonnet 5'e, basit işleri Haiku 4.5'e yönlendirin.

  3. Çevrimdışı işleri toplu işleyin

    Gecikmeye duyarlı olmayan işleri /v1/messages/batches ile çalıştırın.

  4. İstek başına sınır koyun

    effort, max_tokens ve count_tokens ile maliyet kontrolü ekleyin.

  5. Eski bağlamı kırpın

    Uzun araç döngülerinde bağlam düzenleme ve sıkıştırma kullanın.

  6. pxpipe'ı ayrı ölçün

    Büyük ve yoğun bağlamınız varsa pxpipe ile caching'i karşılaştırın.

  7. Geliştirmede mock kullanın

    CI ve lokal testleri gerçek Claude API yerine mock endpoint'e yönlendirin.

Başlamak için en iyi iki adım genellikle şunlardır:

  • Prompt caching
  • Model yönlendirme

Her değişiklikten sonra ölçüm yapın. Nihai karar gerçek faturadaki değişime göre verilmelidir.

Sıkça Sorulan Sorular

Claude faturamda girdi mi yoksa çıktı jetonları mı daha pahalı?

Jeton başına çıktı jetonları daha pahalıdır. Ancak ajan ve kodlama iş yüklerinde toplam faturanın büyük kısmı çoğu zaman girdi tarafından gelir. Çünkü her turda tüm konuşma geçmişi yeniden gönderilir.

İstek önbellekleme mi, Toplu API mi daha çok tasarruf sağlar?

İş yüküne bağlıdır. Önbellekleme, tekrar eden öneklerde %90'a kadar tasarruf sağlayabilir. Toplu API ise eş zamansız çalışabilen işlerde tüm jetonları %50 indirir. Birçok ekip ikisini birlikte kullanır: etkileşimli yolu önbelleğe alır, çevrimdışı işleri toplu işler.

Her şeyi varsayılan olarak Fable 5'e ayarlamalı mıyım?

Hayır. Fable 5, Opus 4.8'in yaklaşık 2 katı maliyetlidir. En zorlu uzun vadeli muhakeme işleri için kullanın. Çoğu ajan ve kodlama işinde Opus 4.8 daha uygun varsayılandır.

pxpipe, istek önbellekleme ile birlikte çalışır mı?

Birlikte kullanılabilir, ancak tasarrufları otomatik olarak toplanmaz. pxpipe istek baytlarını değiştirdiği için prompt caching davranışını etkileyebilir. Kendi önekinizde ikisini ayrı ayrı ölçün.

Apidog üretim Claude maliyetlerimi düşürür mü?

Hayır. Apidog üretim Claude faturanızı düşürmez. Geliştirme ve test sırasında Anthropic API'sini mock'layarak ücretli jeton yakmadan entegrasyonunuzu doğrulamanıza yardımcı olur.

Top comments (0)