Bloga dön

Yeni başlayanlar için AIKılavuz

Girdi ve çıktı tokenları: bir AI API'si size neyi faturalandırır

Bir AI API'sinin girdi ve çıktı tokenlarını neden ayrı saydığı, bunları usage alanında nereden okuyacağınız ve tek bir isteğin maliyetini nasıl hesaplayacağınız.

Yazan: CheapTokens TeamYayınlanma tarihi: Güncellenme tarihi: 5 dk okuma

Koyu ızgara arka plan üzerinde “Girdi ve çıktı tokenları” başlığı ve “Bir API isteğinde ne için ödeme yaparsınız” satırı bulunan kapak
Bu sayfada
  1. Neyin girdi, neyin çıktı sayıldığı
  2. Sayıları nereden okuyacağınız: usage bloğu
  3. İki tarafın fiyatları neden farklı
  4. Formül
  5. Gerçek bir modelle çözümlü örnek
  6. Kodda kullanımı
  7. Daha az token nasıl harcanır
  8. Hatırlanması gerekenler

Bir dil modeline ilk API çağrınızı yaptıysanız, yanıtta muhtemelen bir usage bloğu görmüş ve tam olarak neyi saydığını merak etmişsinizdir. Kısa cevap: her isteğin iki sayacı vardır. Biri gönderdiğiniz tokenları (girdi), diğeri modelin geri yazdığı tokenları (çıktı) sayar. Her sayacın kendi fiyatı vardır ve bir isteğin maliyeti ikisinin toplamıdır.

Bu kılavuz sayıları nerede bulacağınızı, bunları dolara nasıl çevireceğinizi ve daha az harcamak için neleri değiştirebileceğinizi gösterir. "Token" kelimesi hâlâ belirsizse, What is a token in AI? ile başlayın.

Neyin girdi, neyin çıktı sayıldığı#

Girdi tokenları, modelin size yanıt vermek için okuması gereken her şeydir:

  • en son mesajınız;
  • sistem istemi ("kısaca, Türkçe yanıtla" gibi talimatlar);
  • konuşmanın önceki mesajları, bunları tekrar gönderiyorsanız;
  • isteğe yapıştırdığınız belgeler, kod veya arama sonuçları.

Çıktı tokenları, modelin yanıt olarak ürettiği her şeydir. OpenAI uyumlu formatta bu, choices[0].message.content içindeki metindir. Düşünme modundaki bazı modeller son yanıttan önce akıl yürütme tokenları da üretir; bunların çıktı olarak faturalandırılıp faturalandırılmadığını görmek için modelin fiyatlandırma sayfasına bakın.

Yeni başlayanlar için önemli nokta: model istekler arasında sohbetinizi hatırlamaz. Bir sohbet uygulaması her seferinde tüm geçmişi yeniden gönderir, bu yüzden uzun bir konuşmanın girdisi her turda büyür, yeni mesajınız tek satır olsa bile.

Sayıları nereden okuyacağınız: usage bloğu#

OpenAI uyumlu bir API'den gelen her akışsız yanıt bir usage nesnesiyle biter. Bu, şeklinin eğitim amaçlı bir örneğidir:

json
{
  "choices": [
    { "message": { "role": "assistant", "content": "..." }, "finish_reason": "stop" }
  ],
  "usage": {
    "prompt_tokens": 2000,
    "completion_tokens": 500,
    "total_tokens": 2500
  }
}
Alan Ne anlama gelir Nasıl faturalandırılır
prompt_tokens Gönderdiğiniz her şeydeki tokenlar Girdi
completion_tokens Modelin ürettiği tokenlar Çıktı
total_tokens prompt_tokens + completion_tokens Ayrı bir fiyat değil: yalnızca toplam

Yaygın bir yeni başlayan hatası, total_tokens değerini tek bir fiyatla çarpmaktır. Girdi ve çıktının farklı fiyatları olduğundan iki sayıya ayrı ayrı ihtiyacınız vardır.

Bazı sağlayıcılar ek alanlar ekler. Örneğin DeepSeek'in kendi API'si ayrıca prompt_tokens değerini prompt_cache_hit_tokens ve prompt_cache_miss_tokens olarak böler ve düşünme modunda reasoning_tokens bildirir (kaynak: DeepSeek API docs, 21 Ekim 2026'da kontrol edildi). Tablodaki üç alan, herhangi bir OpenAI uyumlu yanıtta güvenebileceğiniz alanlardır.

Yanıtı akış olarak aldığınızda usage başlangıçta bilinmez. DeepSeek'in kendi API'sinde data: [DONE] öncesindeki son içerik parçasında gelir (DeepSeek API docs, 21 Ekim 2026'da kontrol edildi); diğer API'ler bunu farklı şekilde veya yalnızca talep üzerine gönderebilir, bu yüzden istemcinizin ne aldığını kontrol edin. Akışın kendisi Streaming responses in Python sayfasında ele alınmıştır.

İki tarafın fiyatları neden farklı#

İsteminizi okumak ve bir yanıt yazmak farklı türde işlerdir. Model tüm istemi tek geçişte işler, ancak yanıtı her seferinde bir token üretmek zorundadır ve her yeni token öncekilere bağlıdır. Sağlayıcıların çıktıyı genellikle girdiden daha yüksek fiyatlandırmasının ve herhangi bir fiyat listesinde model başına iki sayı görmenizin nedeni budur.

Aşağıda örnek olarak kullandığımız model, MiniMax-M2.7 (id minimax-m2.7), bu kalıbı izler. 1M token başına güncel fiyatlar girdi için $0.05 ve çıktı için $0.15'dir.

Formül#

Fiyatlar 1 milyon token başına verilir, bu yüzden tek bir isteğin maliyeti:

text
cost = input_tokens × input_price ÷ 1,000,000
     + output_tokens × output_price ÷ 1,000,000

İşte yalnızca aritmetiği göstermek için uydurma yuvarlak fiyatlarla (örnek, aşağıdaki tablodan güncel fiyatları koyun):

python
# example, substitute current prices from the table
price_in = 0.20    # USD per 1M input tokens
price_out = 0.80   # USD per 1M output tokens

prompt_tokens = 2000
completion_tokens = 500

cost = (prompt_tokens * price_in + completion_tokens * price_out) / 1_000_000
# 2000 × 0.20 ÷ 1,000,000 = 0.0004 (input)
# 500 × 0.80 ÷ 1,000,000 = 0.0004 (output)
# 0.0004 + 0.0004 = 0.0008 USD

Gerçek bir modelle çözümlü örnek#

Yukarıdaki usage örneğindeki isteği ele alalım: 2.000 girdi tokenı ve 500 çıktı tokenı. CheapTokens üzerinden MiniMax-M2.7'de bu $0.00018 tutar. Sayı, sayfa her gösterildiğinde güncel fiyat listesinden hesaplanır.

Tek bir istek çok küçüktür, bu yüzden ölçeği büyütmek yardımcı olur. Bu boyutta 10.000 istek gönderen küçük bir uygulama 20.000.000 girdi tokenı ve 5.000.000 çıktı tokenı kullanır, bu da $1.75 tutarına denk gelir.

Listemizdeki diğer modellerde aynı istek:

Model Maliyet OpenRouter
GLM-5.3-Flash $0.00006 $0.00012
DeepSeek-V4-Flash $0.00008 $0.00017
MiniMax-M2.7 $0.00018 $0.0012

Toplamda 2.000 giriş ve 500 çıkış token'ı. 1M token başına fiyatlar günceldir ve tarifelerimizle birlikte değişir; OpenRouter sütunu aynı iş yükü için referans fiyatları gösterir.

Burada çıktının token sayısının küçük bir kısmı olduğuna (2.500'ün 500'ü) ama token payından daha büyük bir fatura kısmı olduğuna dikkat edin, çünkü çıktı tokenları daha yüksek fiyatlandırılır (tabloya bakın). Bu modelde çıktı tarafı aynı zamanda OpenRouter'ın referans fiyatına göre tasarrufun doğrulandığı yerdir, bu da uygulamanız uzun yanıtlar yazıyorsa işinize yarar.

Kodda kullanımı#

Resmi openai Python paketinden usage değerini, CheapTokens temel URL'sine yönlendirerek okuyabilirsiniz:

python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key="YOUR_API_KEY",
)

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[{"role": "user", "content": "Explain input and output tokens in two sentences."}],
)

usage = response.usage
print("input:", usage.prompt_tokens)
print("output:", usage.completion_tokens)
print("total:", usage.total_tokens)

# example, substitute current prices from the table above
price_in, price_out = 0.20, 0.80
cost = (usage.prompt_tokens * price_in + usage.completion_tokens * price_out) / 1_000_000
print(f"approx. cost: ${cost:.6f}")

Henüz bir istek göndermediyseniz, önce Your first API request with CheapTokens sayfasını izleyin.

Daha az token nasıl harcanır#

  • İstemi kısaltın. Sistem istemini kırpın ve modelin ihtiyaç duymadığı talimatları kaldırın. Gönderdiğiniz her token her istekte faturalandırılır.
  • Geçmişi kırpın. Uzun bir sohbette tüm konuşma yerine son birkaç turu veya kısa bir özeti tutun.
  • Bir belgenin yalnızca ilgili kısmını gönderin. Bir sayfa metin, tüm dosyadan daha ucuzdur.
  • İhtiyacınız olan formatı isteyin. "Üç madde işaretiyle yanıtla" açık uçlu bir denemeden daha az çıktı tokenı üretir.
  • max_tokens değerini bilinçli olarak ayarlayın. Yalnızca çıktıyı sınırlar. Çok düşük olursa yanıt kesilir; ayrıntılar Why does an AI answer stop mid-sentence? sayfasında. CheapTokens üzerinden MiniMax-M2.7, yanıt başına 8.192 çıktı tokenına kadar izin verir ve 180K bağlam penceresine sahiptir.

Daha büyük bir iş akışının maliyetini tahmin etmek için How to estimate the cost of an AI agent sayfasına bakın.

Hatırlanması gerekenler#

  1. Her isteğin girdi tokenları (prompt_tokens) ve çıktı tokenları (completion_tokens) vardır.
  2. Ayrı fiyatları vardır, genellikle çıktı daha yüksektir.
  3. Maliyet = girdi tokenları × girdi fiyatı + çıktı tokenları × çıktı fiyatı, fiyatlar 1M token başına.
  4. Sayıları tahmin etmek yerine yanıttaki usage değerinden okuyun.

CheapTokens'ta tek bir ön ödemeli bakiye tüm modelleri kapsar, model başına fiyatlar sabittir ve yoğun saat fiyatlandırması yoktur, API ise OpenAI Chat Completions ve Anthropic Messages ile uyumludur. Yukarıdaki örneği denemek için bir API anahtarı alın ve ilk isteğinizi gönderin.

Her model için güncel fiyatlar: CheapTokens pricing.