Skip to content

Multimodal Tokens: How Images, Audio, and Video Are Priced in LLMs

Text isn't alone — in 2026 nearly every LLM takes images, audio, and video. How many tokens is one image? How many dollars is an hour of audio? Is a 4K video expensive? Provider differences, calculation formulas, and real lab examples.

Şükrü Yusuf KAYA
22 min read
Intermediate
Multimodal Token: Görsel, Ses, Video LLM'lerde Nasıl Fiyatlandırılır?
🎨🎵🎬 Üç yeni modalite, üç yeni maliyet senaryosu
Görsel: kabaca 100-1.500 token / fotoğraf. Ses: 50-100 token / saniye. Video: 100-300 token / saniye (frame + audio). Her sağlayıcının kendi formülü var. Bu derste o formülleri açacağız.

1️⃣ Görsel Token — Bir resim kaç token?#

Cevap modele göre çok değişir.

OpenAI (GPT-4o, GPT-5)#

Formül:
tile-based pricing
. Görsel 512×512 piksel "tile"lara bölünür.
  • Detail "low": 85 token sabit (image küçültülür, tek tile)
  • Detail "high": 85 + (170 × tile_count) token
Örnek: 1024×1024 görsel, detail high
  • Tile count = 4 (2×2)
  • Token = 85 + (170 × 4) = 765 token

Anthropic (Claude)#

Formül:
(width × height) / 750
token
  • 1024×1024 görsel = (1024×1024) / 750 = 1.398 token
⚠️ En pahalı. Claude görsel başına Sonnet 4.6'da ~0.0042(0.0042 (3/M × 1400).

Google Gemini#

Formül:
258 token / görsel
sabit (≤384×384 sonra resize)
  • Herhangi bir görsel: 258 token
En ucuz. Görsel başına Gemini 2.5 Flash'ta $0.000019.

Karşılaştırma tablosu#

Sağlayıcı1024×1024 görselMaliyet
GPT-5765 token$0.00765
Sonnet 4.61.398 token$0.0042
Opus 4.71.398 token$0.021
Gemini 2.5 Flash258 token$0.000019
Gemini 2.5 Pro258 token$0.000322
Aynı görsel için 1.100× fiyat farkı (Gemini Flash vs Opus). Bu, "görsel-yoğun" iş yüklerinde model seçiminin ne kadar kritik olduğunu gösteriyor.
💡 Pro tip: detail=low için cep harçlığı
OpenAI'da
detail="low"
her görseli 85 token'a düşürür. Yüksek çözünürlük gerekmiyorsa (örn: "görselde araba var mı?"), 9× ucuza aynı işi yaparsın. Modül 5'te bu prensibi detaylı işleyeceğiz.

Gerçek hayat görsel senaryosu#

Senaryo: Bir e-ticaret sitesi, kullanıcılar tarafından yüklenen ürün fotoğraflarından otomatik açıklama üretiyor. Aylık 100K görsel.

Model seçimi etkisi#

ModelGörsel başına maliyetAylık
Opus 4.70.021+0.021 + 0.015 (output) = $0.036$3.600
Sonnet 4.60.0042+0.0042 + 0.003 = $0.0072$720
GPT-50.0077+0.0077 + 0.006 = $0.0137$1.370
GPT-5-mini0.0003+0.0003 + 0.0003 = $0.0006$60
Gemini 2.5 Flash0.00002+0.00002 + 0.00006 = $0.00008$8
Opus → Gemini Flash farkı: 450×. Same task, same image, neredeyse aynı kalite (basit ürün açıklaması).

Görsel maliyet stratejileri#

Strateji 1 — Çözünürlük downsize#

Görsel önişleme: PIL/Pillow ile boyut küçült API'ye gönderirken.
from PIL import Image img = Image.open("photo.jpg") img.thumbnail((1024, 1024)) # max 1024 kenar img.save("photo_small.jpg", quality=85)
5MB 4K görselden 200KB 1024px görsele = %95 boyut. Görsel token'ları %50-70 azalır.

Strateji 2 — Detail control#

OpenAI'da
detail="low"
(basit görev) veya
detail="auto"
(model karar versin).

Strateji 3 — Pre-filtering#

Her görseli LLM'e göndermeden önce bir CV modeli ile filtrele:
  • Bu görselde X var mı? → küçük CNN ile evet/hayır
  • Sadece evet'lerin LLM'e gönder
Modül 6'da bu pattern'i detaylı işleyeceğiz.

Strateji 4 — Gemini-first for vision#

Gemini Flash görsel için muhteşem ucuz. Görsel ağırlıklı pipeline'ında default olsun.

2️⃣ Ses Token — Saniye başına ne öderiz?#

Ses iki şekilde işlenir:
  1. Transcript (Whisper, Deepgram, AssemblyAI gibi STT servisleri)
  2. Native audio (GPT-4o audio, Gemini audio — LLM doğrudan dinler)

Transcript yaklaşımı#

SağlayıcıFiyatNotlar
OpenAI Whisper API$0.006/dakikaÇok düşük latency, mükemmel kalite
Deepgram Nova-3$0.0043/dakikaTürkçe destek var, çoklu speaker
AssemblyAI$0.005/dakikaSpeaker diarization dahil
Local Whisper (large-v3)$0 (GPU saat)Open source, self-host
Bir saatlik ses transkripsiyonu: ~0.300.40(cloud)veya 0.30-0.40 (cloud) veya ~0.05 (self-host).

Native audio yaklaşımı#

ModelAudio input token rate
GPT-4o audio32 token/saniye
Gemini 2.5 (audio)32 token/saniye
Bir saatlik ses → 32 × 3600 = 115.200 token.
  • Gemini 2.5 Pro: 115K × 1.25/M=1.25/M = **0.144** (sadece input)
  • GPT-4o audio: 115K × 40/M(audioo¨zelfiyat)=40/M (audio özel fiyat) = **4.60**
⚠️ OpenAI'ın audio input fiyatı text input'tan 5-10× yüksek. Anthropic henüz native audio sunmuyor (2026 Q2).

Ses pipeline karar matrisi#

Transcript yeterli mi? (sadece ne söylendiği önemli)
  • ✅ Evet → Whisper/Deepgram + text LLM = $0.30/saat
  • ❌ Hayır (ton, duygu, speaker önemli) → native audio LLM = $4-5/saat
Self-host edilebilir mi? (data privacy, KVKK)
  • ✅ Evet → local Whisper large-v3 (1 RTX 4090 = saatte 60 saat ses transkripsiyonu)
Anlık latency önemli mi?
  • ✅ Evet → Deepgram streaming ($0.005/dk + 100ms latency)
  • ❌ Hayır → batch Whisper
🎯 Pro öneri
Üretimdeki ses iş yüklerinin %90'ında transcript yaklaşımı yeterli ve dramatik ucuz. Native audio sadece duygu/ton/speaker-attribution gibi gerçekten ses-spesifik işlerde değer. Default'unu transcript + text LLM yap.

3️⃣ Video Token — Saniye başına maliyet patlaması#

Video = görsel sekansı + ses. Maliyet hızla katlanır.

Gemini 2.5 video#

Gemini natively video alır. Formül:
  • Default mode (low-res): 1 frame/saniye, 258 token/frame, 32 token/sn audio = 290 token/saniye
  • High-res mode: 1 frame/saniye, 1024 token/frame = 1.056 token/saniye
Video uzunluğuDefaultHigh-res
1 dakika17.400 token63.360 token
10 dakika174K633K
1 saat1.04M3.8M

Maliyet (Gemini 2.5 Pro, default mode)#

  • 1 dakika: 17K × 1.25/M=1.25/M = **0.022**
  • 10 dakika: 174K × 1.25/M=1.25/M = **0.218**
  • 1 saat: 1.04M × 2.50/M(200Ku¨stu¨tier!)=2.50/M (200K üstü tier!) = **2.60**

GPT-5 video (frame extraction)#

GPT-5 native video desteklemiyor (2026 Q2). Onun yerine:
  1. Video'yu ffmpeg ile frame'lere ayır
  2. Her frame'i image olarak gönder
Bir dakikalık video, 30 fps:
  • 1800 frame × 765 token = 1.4M token
  • 1.4M×1.4M × 10/M (GPT-5) = $14/dakika ⚠️ ölümcül pahalı
GPT-5 video için Gemini'den 600× daha pahalı.

Anthropic video#

Native video desteği yok (2026 Q2). Multi-image olarak parçalanır.
🎬 Video uyarısı
Video iş yüklerinde sağlayıcı seçimi belirleyici. Gemini Pro / Flash neredeyse default seçim. GPT/Claude video için kullanmak (multi-image fallback) 8-50× pahalıya gelir. Eğer use case'in video ise, Gemini'yi öncelik yap.

Video maliyet stratejileri#

Strateji 1 — Frame skipping#

30 fps videodan saniyede 1 frame al → token sayısı 30× azalır. Çoğu video analizi için yeterli (snapshot kalitesi).

Strateji 2 — Audio-first approach#

Eğer videoda asıl içerik konuşma ise:
  1. Audio'yu çıkar (ffmpeg
    -vn
    flag)
  2. Whisper ile transkript et ($0.006/dk)
  3. Sadece transkripti LLM'e gönder
90% maliyet düşüşü birçok use case'te.

Strateji 3 — Önişleme#

Video'yu önce CV ile filtrele:
  • Sahne değişikliklerini tespit et
  • Sadece değişen sahneleri LLM'e gönder

Strateji 4 — Düşük çözünürlük#

1080p → 480p resize: %75 token tasarrufu

Strateji 5 — Gemini'nin native video API'sini kullan#

Frame-by-frame işleme yerine Gemini'nin video processing'ini kullan — built-in batching ile %30 daha ucuz.

Lab — Multimodal maliyet hesaplayıcısı yaz#

Aşağıdaki fonksiyonu kendin yaz, test et:
python
def multimodal_cost(
text_input_tokens: int = 0,
text_output_tokens: int = 0,
image_count: int = 0,
image_resolution: tuple = (1024, 1024),
audio_seconds: int = 0,
video_seconds: int = 0,
model: str = "gemini-2.5-flash",
) -> dict:
"""Multimodal istek maliyetini tahmin eder."""
 
# Model fiyatları (sadeleştirilmiş)
MODELS = {
"gpt-5": {"in": 10.0, "out": 30.0, "img_token": "tile", "audio_token_per_sec": 32, "video_native": False},
"sonnet-4.6": {"in": 3.0, "out": 15.0, "img_token": "anth", "audio_token_per_sec": None, "video_native": False},
"gemini-2.5-pro": {"in": 1.25, "out": 5.0, "img_token": 258, "audio_token_per_sec": 32, "video_native": True},
"gemini-2.5-flash": {"in": 0.075, "out": 0.30, "img_token": 258, "audio_token_per_sec": 32, "video_native": True},
}
m = MODELS[model]
 
# Görsel token hesabı
if m["img_token"] == "tile":
# OpenAI tile-based
w, h = image_resolution
tiles = max(1, ((w + 511) // 512) * ((h + 511) // 512))
img_tokens = image_count * (85 + 170 * tiles)
elif m["img_token"] == "anth":
w, h = image_resolution
img_tokens = image_count * (w * h // 750)
else:
img_tokens = image_count * m["img_token"]
 
# Ses token hesabı
audio_tokens = 0
if m["audio_token_per_sec"] and audio_seconds:
audio_tokens = audio_seconds * m["audio_token_per_sec"]
 
# Video token hesabı (Gemini native)
video_tokens = 0
if m["video_native"] and video_seconds:
video_tokens = video_seconds * 290 # default mode
 
total_in = text_input_tokens + img_tokens + audio_tokens + video_tokens
input_cost = total_in / 1_000_000 * m["in"]
output_cost = text_output_tokens / 1_000_000 * m["out"]
 
return {
"model": model,
"text_in": text_input_tokens,
"img_tokens": img_tokens,
"audio_tokens": audio_tokens,
"video_tokens": video_tokens,
"total_input": total_in,
"input_cost_usd": round(input_cost, 5),
"output_cost_usd": round(output_cost, 5),
"total_cost_usd": round(input_cost + output_cost, 5),
}
 
# Test: 10 dakikalık video analizi
for model in ["gemini-2.5-flash", "gemini-2.5-pro", "gpt-5", "sonnet-4.6"]:
cost = multimodal_cost(
text_input_tokens=500,
text_output_tokens=300,
video_seconds=600,
model=model,
)
print(f"{cost['model']:18}: ${cost['total_cost_usd']:.4f}")
Multimodal cost calculator — 4 modelde 10 dakikalık video analizi karşılaştırması.

Özet — Multimodal seçim kuralları#

ModaliteDefault seçimSebep
Görsel (ucuz iş)Gemini Flash$0.00002/görsel — neredeyse ücretsiz
Görsel (kaliteli analiz)Sonnet 4.6Görsel anlamada sınıfın en iyisi
Ses (transkript)Whisper API$0.006/dk, mükemmel kalite
Ses (native, duygu)Gemini 2.5 ProNative audio + ucuz
VideoGemini 2.5 (native)Frame-by-frame'den 10-50× ucuza
Kursta sürekli dönüp duracağımız temel: doğru iş, doğru model.
🎉 Modül 1 Tamamlandı
Token anatomisini artık biliyorsun: ne, neden, kim daha verimli, Türkçe penalty, input vs output, context window, multimodal. Bu temel olmadan bundan sonraki teknik modüllerin hiçbiri tam oturmaz. Şimdi Lab 1'i yapma zamanı.

🧪 Lab 1 — Token Karşılaştırma Tablosu (Çalışmasını Bekliyorum)#

Görev: 10 kendi Türkçe metnin için 6 tokenizer'da token sayım tablonu üret.
Adımlar:
  1. tokenizer_compare.py
    scriptini al (Ders 1.2)
  2. 10 metin seç — kendi domain'inden (e-ticaret/fintech/sağlık/eğitim — sana göre)
  3. Hepsini scriptten geçir
  4. Sonuçları CSV'ye yaz:
    text_id, char, word, gpt, claude, gemini, llama, mistral, deepseek
  5. En verimli ve en verimsiz tokenizer'ı kayıt altına al
  6. (Bonus) Aynı metinlerin İngilizce çevirilerini yapıp Türkçe Penalty tablosunu çıkar
Çıktı: Bir CSV dosyası + 1 paragraf gözlem. Modül 2'ye giderken bu tabloyu yanında bulundur — orada fiyat hesaplarını yaparken kullanacağız.
🚀 Modül 2'ye hazır mısın?
Modül 2: Fiyatlandırma Manzarası 2026. Şu ana kadar parça parça gördüğümüz fiyatları sistematik tabloya dökeceğiz: OpenAI 7 tier, Anthropic 4 tier, Gemini 3 tier, AWS/Azure enterprise, self-host break-even. Bütün fiyat sayfalarını biz okuyacağız ki sen okumayasın.

Frequently Asked Questions

My rule: if the user just wants 'what's in the image' type answers, low. If number reading, text transcription, fine detail analysis is needed, high. In auto mode OpenAI mostly picks 'high' — take control, default to low, override when needed.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

Related Content