Bir LLM API faturasını ilk kez incelediğinde karşına çıkan "token" kelimesi kafa karıştırıcı gelebilir: kelime mi, karakter mi, yoksa başka bir şey mi? Token nedir, bağlam penceresi maliyet hesabını nasıl belirler ve pencere dolduğunda ne olur — bu yazı bu üç soruyu tek bir temel üzerinden, sağlayıcıların resmi fiyat ve dokümantasyon sayfalarına dayanarak cevaplıyor. Model-agnostik bir başlangıç noktası arıyorsan doğru yerdesin.
💡 Pro Tip: Fatura tahmini yaparken yalnız çıktı tokenına değil, sistem promptu + geçmiş mesajlar + araç tanımları dahil TÜM girdiye bak — çoğu sürprizli fatura, unutulan "sessiz" girdi tokenlarından çıkar.
İçindekiler
- Token Nedir, Tokenizer Ne Yapar
- İngilizce Dışı Dillerde Token Maliyeti Neden Yüksek
- Bağlam Penceresi: Girdi + Çıktı + Reasoning
- Pencere Dolduğunda Ne Olur
- Girdi/Çıktı/Cache Fiyatlarıyla Fatura Hesabı
- Basit Bir Maliyet Tahmin Tablosu
- Token Bütçesi Düşürmenin 7 Yolu
- SSS
- Token nedir, bir kelime kaç token eder?
- Bağlam penceresi dolunca ne olur?
- LLM maliyeti nasıl hesaplanır?
- Türkçe metin neden İngilizce'den daha çok token harcar?
- Cache (önbellek) fiyatlandırması nasıl çalışır?
- Batch API ne zaman mantıklı?
- Güncelleme (Eylül 2026)
- Sonuç
- Kaynaklar
Token Nedir, Tokenizer Ne Yapar
Bir LLM metni doğrudan harf harf değil, "token" adı verilen alt-kelime parçaları halinde işler. OpenAI'nin resmi açıklamasına göre bir token kabaca bir kelimenin parçası olabilir; İngilizce'de yaklaşık 4 karakter ya da 0,75 kelime bir tokene denk gelir (help.openai.com, 2025-01-19 arşivi). Bu, "100 token ≈ 75 kelime" gibi kaba bir kural anlamına gelir — ama bu oran dile göre ciddi şekilde değişir.
Tokenizer, ham metni bu alt-kelime birimlerine bölen bileşendir. Model her tokeni işlerken bir sonraki tokenin olasılık dağılımını hesaplar; dolayısıyla hem girdi hem çıktı tokenları, modelin gerçekte "gördüğü" ve ürettiği birimlerdir — karakter sayısı değil.
python
1# Kaba İngilizce token tahmini (OpenAI'nin "~4 karakter = 1 token" kuralı)2import math3 4def estimate_tokens_en(text: str) -> int:5 return max(1, math.ceil(len(text) / 4))6 7print(estimate_tokens_en("How are you today?")) # 5 token (18 karakter / 4 = 4.5 → yukarı yuvarla)Gerçek tokenizasyon bundan daha karmaşıktır (byte-pair encoding tabanlı alt-kelime sözlükleri kullanılır) — yukarıdaki fonksiyon yalnız kaba bir tahmin aracıdır, kesin sayım için sağlayıcının tokenizer kütüphanesi gerekir.
İngilizce Dışı Dillerde Token Maliyeti Neden Yüksek
OpenAI'nin tokenizasyon dokümantasyonu, tokenizasyonun dile göre değiştiğini örnekle gösteriyor: "'Cómo estás' ('How are you' in Spanish) contains 5 tokens (for 10 chars)" — yani token/karakter oranı İngilizce dışı dillerde daha yüksek çıkabiliyor (help.openai.com, 2025-01-19 arşivi). Dokümantasyonun kendi ifadesiyle, bu daha yüksek token/karakter oranı API'yi İngilizce dışındaki diller için uygulamayı daha maliyetli hale getirebiliyor (help.openai.com, 2025-01-19 arşivi). Güncel Help Center sayfası da aynı yapısal noktayı genel biçimde koruyor: karakter, kelime ve token arasındaki ilişki dilden dile değişebiliyor (help.openai.com). Pratik sonucu: İngilizce dışı girdi/çıktı için bütçe planlarken İngilizce'ye göre pay bırakman gerekir.
Bağlam Penceresi: Girdi + Çıktı + Reasoning
Bağlam penceresi, modelin tek bir istek içinde "hatırlayabileceği" toplam token sayısıdır — sistem promptu, sohbet geçmişi, eklenen dosyalar, araç tanımları (girdi) ile modelin ürettiği yanıt (çıktı) bu pencerenin içinden pay alır. 2025-01-21 tarihinde OpenAI'nin o1 modeli 200.000 token bağlam sunuyordu; standart GPT-4o modeli ise 128.000 token bağlam penceresine sahipti (https://web.archive.org/web/20250121103038/https://openai.com/api/pricing/). Aynı dönemde Claude 3.5 Sonnet ve Claude 3.5 Haiku 200k token bağlam penceresiyle çalışıyordu (https://web.archive.org/web/20250119203513/https://docs.anthropic.com/en/docs/about-claude/models).
"Reasoning" (akıl yürütme) modelleri, ör. OpenAI'nin o1 serisi, yanıtı üretmeden önce dahili bir "düşünme" aşaması çalıştırır ve bu aşamanın ürettiği reasoning tokenları da çıktı token bütçesinden ve dolayısıyla faturadan düşülür — kullanıcıya gösterilmese bile ücretlendirilir. Bu, aynı görünür yanıt uzunluğuna sahip iki isteğin, biri reasoning modeliyle biri klasik modelle çalıştığında çok farklı maliyet çıkarabileceği anlamına gelir.
text
1Bağlam penceresi = sistem prompt + geçmiş mesajlar + eklenen dosya/araç çıktısı2 + kullanıcı mesajı (girdi tokenları)3 + model yanıtı + (varsa) reasoning tokenları (çıktı tokenları)Pencere Dolduğunda Ne Olur
Bağlam penceresi dolduğunda ya da aşıldığında istek limiti aşılmış olur; OpenAI'nin destek dokümantasyonu bu durumda promptu yoğunlaştırmayı ya da metni daha küçük parçalara bölmeyi öneriyor (help.openai.com, 2025-01-19 arşivi). Pratikte üç yaygın strateji var:
- Kırpma (truncation): En eski mesajları pencereden çıkarıp yalnız en yeni N mesajı gönderme.
- Özetleme: Eski geçmişi kısa bir özetle değiştirip pencereye yeniden token bırakma.
- Parçalama (chunking): Büyük bir dokümanı tek istekte değil, ardışık küçük isteklerde işleme.
Hangi stratejiyi seçersen seç, sonuç aynı ilkeye dayanır: pencere sabit bir kaynaktır, doldurduğun her token bir sonraki mesaj için kullanılamaz hale gelir.
Girdi/Çıktı/Cache Fiyatlarıyla Fatura Hesabı
Sağlayıcılar girdi ve çıktı tokenlarını farklı fiyatlandırır — çıktı tokenı neredeyse her zaman girdi tokenından daha pahalıdır, çünkü üretimi modelin aktif hesaplama adımını gerektirir. 2025-01-21 itibarıyla OpenAI'nin resmi fiyat sayfasında (https://web.archive.org/web/20250121103038/https://openai.com/api/pricing/) şu rakamlar yer alıyordu: GPT-4o için 1 milyon token başına 2,50 USD girdi / 10,00 USD çıktı, önbellekli (cached) girdi için 1,25 USD; GPT-4o mini için 0,150 USD girdi / 0,600 USD çıktı; o1 reasoning modeli için 15,00 USD girdi / 60,00 USD çıktı. Aynı dönemde Anthropic tarafında Claude 3.5 Sonnet 3,00 USD girdi / 15,00 USD çıktı, Claude 3.5 Haiku 0,80 USD girdi / 4,00 USD çıktı, Claude 3 Opus 15,00 USD girdi / 75,00 USD çıktı olarak listeleniyordu (https://web.archive.org/web/20250119203513/https://docs.anthropic.com/en/docs/about-claude/models).
Bu dönemde her iki sağlayıcı da toplu (batch) işleme için indirim sunuyordu — OpenAI'nin Batch API'si standart fiyatın yaklaşık yarısına (%50 indirim) 24 saatlik SLA ile çalışıyordu (https://web.archive.org/web/20250121103038/https://openai.com/api/pricing/).
json
1{2 "model": "gpt-4o",3 "usage": {4 "prompt_tokens": 1200,5 "completion_tokens": 340,6 "total_tokens": 15407 }8}Fatura hesabı, bu usage nesnesindeki prompt_tokens (girdi) ve completion_tokens (çıktı) değerlerinin ilgili birim fiyatla çarpılıp toplanmasından ibarettir.
Basit Bir Maliyet Tahmin Tablosu
Aşağıdaki tablo 2025-01-21 döneminde geçerli olan resmi liste fiyatlarını (1 milyon token başına USD) özetliyor — güncel fiyatlar için her zaman sağlayıcının canlı fiyat sayfasına bak.
Model | Bağlam penceresi | Girdi ($/1M) | Çıktı ($/1M) |
|---|---|---|---|
GPT-4o | 128K | 2.50 | 10.00 |
GPT-4o mini | 128K | 0.150 | 0.600 |
OpenAI o1 | 200K | 15.00 | 60.00 |
Claude 3.5 Sonnet | 200K | 3.00 | 15.00 |
Claude 3.5 Haiku | 200K | 0.80 | 4.00 |
Claude 3 Opus | 200K | 15.00 | 75.00 |
Örnek hesap: 1.200 girdi + 340 çıktı tokenlık bir GPT-4o isteği, (1200/1.000.000 × 2,50) + (340/1.000.000 × 10,00) = 0,0030 + 0,0034 = 0,0064 USD tutar. Tek istekte küçük görünse de, günde 10.000 benzer istek çalıştıran bir üretim sistemi için bu ~64 USD/gün demektir.
Aynı 1.200/340 token profilini diğer modellerle karşılaştırmak, model seçiminin faturaya ne kadar etki ettiğini somutlaştırır. GPT-4o mini ile aynı istek (1200/1.000.000 × 0,150) + (340/1.000.000 × 0,600) = 0,00018 + 0,000204 = 0,000384 USD tutar — GPT-4o'nun yaklaşık on yedide biri. Claude 3.5 Sonnet ile (1200/1.000.000 × 3,00) + (340/1.000.000 × 15,00) = 0,0036 + 0,0051 = 0,0087 USD; OpenAI o1 reasoning modeliyle ise (1200/1.000.000 × 15,00) + (340/1.000.000 × 60,00) = 0,018 + 0,0204 = 0,0384 USD — bu son rakam yalnız görünür 340 çıktı tokenını kapsar, reasoning modelinde ayrıca görünmeyen reasoning tokenları da aynı çıktı fiyatından faturaya eklenir. Aynı "1200 girdi + 340 çıktı" senaryosunda model tercihi tek başına faturayı ~100 kata kadar değiştirebiliyor; bu yüzden "önce doğru modeli seç" adımı, önbellekleme veya batch gibi optimizasyonlardan önce gelir.
Günlük hacimli bir üretim sistemi için bu hesabı elle tekrar tekrar yapmak yerine, API yanıtındaki usage alanını doğrudan bir günlük/log toplayıcıya yazıp orada toplamak daha güvenilirdir — fatura tahmini, gerçek usage verisine dayanmalı, tahmini ortalamaya değil.
bash
1# API yanıtındaki usage alanını çekip günlük log dosyasına ekleme (örnek)2curl -s https://api.openai.com/v1/chat/completions \3 -H "Authorization: Bearer $OPENAI_API_KEY" \4 -H "Content-Type: application/json" \5 -d '{"model":"gpt-4o","messages":[{"role":"user","content":"merhaba"}]}' \6 | jq '.usage' >> usage-log.jsonlts
1// Basit maliyet hesaplayıcı (1M token birim fiyatlarıyla)2function estimateCostUsd(3 promptTokens: number,4 completionTokens: number,5 inputPricePerM: number,6 outputPricePerM: number,7): number {8 const inputCost = (promptTokens / 1_000_000) * inputPricePerM;9 const outputCost = (completionTokens / 1_000_000) * outputPricePerM;10 return Number((inputCost + outputCost).toFixed(6));11}12 13// GPT-4o örneği14console.log(estimateCostUsd(1200, 340, 2.5, 10.0)); // 0.0064Token Bütçesi Düşürmenin 7 Yolu
- Sistem promptunu kısa tut: Her istekte tekrar gönderilen sistem promptu, günlük hacimde en büyük gizli maliyet kalemidir — 500 tokenlık bir sistem promptu günde 10.000 istekte tek başına 5 milyon girdi tokenına denk gelir, önbellek olmadan bunun tamamı standart fiyattan ücretlendirilir.
- Önbellekten (cache) yararlan: 2025-01-21 itibarıyla OpenAI'nin cached input fiyatı standart girdinin bir kısmı kadardı (GPT-4o için 1,25 USD/1M, standart 2,50 USD/1M'nin yarısı) — sık tekrar eden büyük bağlamları (ör. sabit sistem promptu) önbellekleyen sağlayıcı özelliklerini kullan. Önbellek yalnız isteğin başından itibaren birebir aynı kalan kısımda işler; sıralamayı bozarsan isabet oranı düşer.
- Batch API ile toplu işle: Gerçek zamanlı yanıt gerekmeyen işler için OpenAI'nin Batch API'si standart fiyatın yaklaşık yarısına çalışır (24 saat SLA karşılığında) — gece çalışan özetleme, sınıflandırma veya toplu içerik üretimi işleri bu modele iyi uyar.
- Geçmişi özetle, biriktirme: Uzun sohbetlerde her mesajda tüm geçmişi tekrar göndermek yerine periyodik özetleme uygula; her yeni kullanıcı mesajıyla birlikte büyüyen bir geçmiş, N. mesajda 1. mesajın girdi maliyetini N kez tekrar ödetir.
- Doğru modeli seç: Basit sınıflandırma/özetleme gibi görevlerde GPT-4o mini veya Claude 3.5 Haiku gibi daha ucuz modelleri önce dene ve kendi görevinde ölç — daha düşük birim fiyat tek başına daha düşük toplam maliyet anlamına gelmez; bir önceki bölümdeki hesapta GPT-4o mini, aynı görev için GPT-4o'nun yaklaşık on yedide biri maliyetle çalıştı.
- Çıktı uzunluğunu sınırla: Çıktı tokenı neredeyse her zaman girdiden daha pahalıdır;
max_tokensgibi bir üst sınır koymak, modelin gereksiz uzun yanıt üretmesini engeller. Reasoning modeli kullanıyorsan bu sınırın görünmeyen reasoning tokenlarını kapsamayabileceğini unutma, sağlayıcının dokümantasyonunu kontrol et. - Gerçek
usageverisiyle izle: Tahmini ortalamalarla değil, her istekten dönenusagealanını toplayan bir log/metrik hattıyla günlük/haftalık maliyeti izle; sürpriz fatura genelde varsayımla gerçek tüketim arasındaki farktan çıkar.
ALTIN İPUCU
Bu yazının en değerli bilgisi
Bu ipucu, yazının en önemli çıkarımını içeriyor.
Easter Egg
Gizli bir bilgi buldun!
Bu bölümde gizli bir bilgi var. Keşfetmek ister misin?
Okuyucu Ödülü
Bu yazıyı okuyup token/bağlam/maliyet temelini oturttuysan, bir sonraki adım kendi projen için somut bir kontrol listesi çıkarmak. Aşağıdaki maddeler, bir LLM entegrasyonuna başlamadan önce gözden geçirmen gereken temel noktaları özetliyor.
SSS
Token nedir, bir kelime kaç token eder?
Token, bir LLM'in metni işlerken kullandığı alt-kelime birimidir; kelimenin tamamı olabileceği gibi bir parçası da olabilir. OpenAI'nin kaba kuralına göre İngilizce'de yaklaşık 4 karakter ya da 0,75 kelime bir tokene karşılık gelir — yani 100 token kabaca 75 İngilizce kelimeye denk düşer (help.openai.com).
Bağlam penceresi dolunca ne olur?
Bağlam penceresi aşıldığında istek limiti geçilmiş olur; OpenAI'nin destek dokümantasyonu bu durumda promptu yoğunlaştırmayı ya da metni daha küçük parçalara bölmeyi öneriyor (help.openai.com, 2025-01-19 arşivi). Model, pencereye sığmayan eski mesajları kendiliğinden "hatırlamaz" — bu senin uygulama katmanının sorumluluğundadır.
LLM maliyeti nasıl hesaplanır?
Maliyet, girdi token sayısı × girdi birim fiyatı ile çıktı token sayısı × çıktı birim fiyatının toplamıdır. 2025-01-21 döneminde ör. GPT-4o için girdi 2,50 USD/1M, çıktı 10,00 USD/1M idi (openai.com/api/pricing); güncel rakamlar için sağlayıcının canlı fiyat sayfasına bakmak gerekir çünkü bu değerler zamanla değişir.
Türkçe metin neden İngilizce'den daha çok token harcar?
Bunun olası bir nedeni, tokenizer sözlüklerinin ağırlıklı olarak İngilizce metin üzerinde eğitilmiş olmasıdır; bu yüzden İngilizce alt-kelimeler sözlükte daha sık tek token olarak yer alabilir. OpenAI'nin dokümantasyonundaki İspanyolca örneğinde olduğu gibi ('Cómo estás' 10 karakter için 5 token içeriyor), İngilizce dışı dillerde token/karakter oranı daha yüksek çıkabilir (help.openai.com, 2025-01-19 arşivi) — sağlayıcılar İngilizce dışı diller için ayrı bir çarpan yayınlamıyor, bu yüzden ölçümü kendi metninle sağlayıcının tokenizer aracı üzerinden yapman gerekir.
Cache (önbellek) fiyatlandırması nasıl çalışır?
Sağlayıcılar, önceki istekle aynı önekten (prefix) başlayan girdiyi "cached input" olarak daha düşük birim fiyattan ücretlendirir. 2025-01-21'de OpenAI'nin GPT-4o cached input fiyatı 1,25 USD/1M idi, standart girdinin (2,50 USD/1M) yarısı (openai.com/api/pricing). Önbellek yalnız isteğin baştan itibaren değişmeyen kısmı için geçerlidir.
Batch API ne zaman mantıklı?
Gerçek zamanlı yanıt gerektirmeyen, toplu işlenebilecek işler (ör. gece çalışan özetleme/sınıflandırma job'ları) için mantıklıdır. 2025-01-21'de OpenAI'nin Batch API'si standart fiyatın yaklaşık yarısına, 24 saatlik SLA ile çalışıyordu (openai.com/api/pricing).
Güncelleme (Eylül 2026)
Bu yazının gövdesi 2025-01-21 tarihindeki model ve fiyat verilerine dayanıyor. O tarihten bu yana bağlam penceresi ve fiyatlandırma mimarisinde köklü değişiklikler oldu — sağlayıcıların resmi dokümantasyonuna göre (platform.openai.com/docs, platform.claude.com/docs, 2026-09 erişim):
- Bağlam pencereleri büyüdü: 2025 başındaki 128K-200K aralığından, 2026 itibarıyla OpenAI'nin GPT-6 Astra modeli ~1.050.000 token bağlam penceresine, Anthropic'in Claude Fable 5.1 / Opus 5.5 / Sonnet 5 modelleri de 1 milyon token bağlam penceresine ulaştı (Claude Haiku 4.5 ise 200K'da kaldı).
- Fiyatlandırma artık tek katman değil: GPT-6 Astra dokümantasyonuna göre 272.000 tokenin üzerindeki promptlar, isteğin TAMAMI için 2× girdi ve cache oranları, 1,5× çıktı çarpanıyla ücretlendiriliyor — 2025 başındaki "sabit birim fiyat" mantığı flagship modellerde artık geçerli değil.
- Model ailesi ve fiyat basamakları yenilendi: OpenAI tarafında GPT-6 Astra/Sol/Luna (yaklaşık 10-50 / 2-10 / 0,10-0,50 USD/1M bandı); Anthropic tarafında Claude Fable 5.1/Opus 5.5/Sonnet 5/Haiku 4.5 (yaklaşık 10-50 / 4-20 / 2-10 / 1-5 USD/1M bandı) devrede.
- Önbellek ekonomisi değişti: Anthropic'in fiyat dokümantasyonuna göre Claude Fable 5.1'in cache-read maliyeti, Fable 5'e kıyasla dörtte bire indi; OpenAI tarafında girdi/cache-read/cache-write üç ayrı fiyat kalemi olarak ayrıştı, ayrıca Batch (%50 indirim) ve Fast mode (2× zam) katmanları eklendi.
- Yeni maliyet değişkeni — reasoning effort: OpenAI'nin
reasoning.effortparametresi (none→max) token tüketimini ve dolayısıyla maliyeti doğrudan etkiliyor; Anthropic tarafında da thinking'in adaptive/extended ayrımı ile ayrı bireffortparametresi (Claude Fable 5.1 varsayılanıhigh, Opus 5.5medium, Haiku 4.5'te desteklenmiyor) ürün seviyesinde görünür hale geldi.
Bu değişikliklerin ortak sonucu: yukarıdaki temel hesap mantığı (girdi × birim fiyat + çıktı × birim fiyat) hâlâ geçerli, ama artık "hangi birim fiyat" sorusu prompt uzunluğuna ve seçtiğin effort seviyesine göre de değişebiliyor — güncel fatura tahmini için sağlayıcının canlı fiyat sayfasını kontrol etmek 2025'e göre daha da kritik hale geldi.
Sonuç
Token, bağlam penceresi ve maliyet hesabı, herhangi bir LLM entegrasyonunun temel bütçe birimidir — bu üçünü anlamadan üretim maliyetini tahmin etmek mümkün değil. Sabit maliyet kalemlerini (sistem promptu, tekrarlayan bağlam) küçük tutmak, önbellekten yararlanmak ve doğru model/effort seviyesini seçmek, faturayı katbekat değiştirebilir.
Konuyu derinleştirmek için ilgili yazılara göz atabilirsin: model seçimini benchmark verisiyle karşılaştırmak için LLM Benchmarks 2026: MMLU, HumanEval, SWE-bench ve Gerçek Performans, önbellekleme stratejisini derinlemesine öğrenmek için Claude Prompt Caching: 10x Maliyet Azalt Rehberi, büyük bağlam yerine ne zaman RAG kullanman gerektiğini anlamak için RAG mı Fine-tuning mi? Production LLM Kararları için Kesin Rehber, prompt tasarımını sistematikleştirmek için Prompt Engineering Desenleri: 10 Yıllık Arşivden Pratik Teknikler ve araç-çağrılı ajan mimarilerinde token bütçesinin nasıl katlandığını görmek için Agentic AI: Tool Use, Planner Loops ve Production Agent Mimarisi yazılarını okuyabilirsin.
Kaynaklar
- OpenAI API Pricing (Wayback, 2025-01-21) — GPT-4o, GPT-4o mini, o1 için girdi/çıktı/cached-input birim fiyatları ve Batch API indirimi.
- Anthropic Models Overview (Wayback, 2025-01-19) — Claude 3.5 Sonnet/Haiku ve Claude 3 Opus için bağlam penceresi ve fiyat rakamları.
- OpenAI Help Center — What are tokens and how to count them (Wayback, 2025-01-19) — token tanımı, ~4 karakter/0,75 kelime kuralı, dil bazlı tokenizasyon farkı örneği (İspanyolca 'Cómo estás').
- OpenAI Help Center — Understanding and counting tokens (güncel) — token tanımı ve ~4 karakter/0,75 kelime kaba tahmin kuralı.
- OpenAI Platform Docs — Pricing (güncel) — 2026 model ailesi ve güncel birim fiyatlar.
- OpenAI Platform Docs — GPT-6 Astra model sayfası — 272K token üstü promptlar için 2×/1,5× fiyatlandırma kuralı, ~1.050.000 token bağlam penceresi.
- Anthropic Docs — Claude Models Overview (güncel) — Fable 5.1/Opus 5.5/Sonnet 5/Haiku 4.5 bağlam penceresi ve fiyat bandı.
- Anthropic Docs — Pricing — Claude Fable 5.1 cache-read fiyatının (0,25 USD/MTok) Fable 5'e (1 USD/MTok) göre dörtte bire inmesi.

