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🎨🎵🎬 Üç 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: . Görsel 512×512 piksel "tile"lara bölünür.
tile-based pricing- 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: token
(width × height) / 750- 1024×1024 görsel = (1024×1024) / 750 = 1.398 token
⚠️ En pahalı. Claude görsel başına Sonnet 4.6'da ~3/M × 1400).
Google Gemini#
Formül: sabit (≤384×384 sonra resize)
258 token / görsel- 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örsel | Maliyet |
|---|---|---|
| GPT-5 | 765 token | $0.00765 |
| Sonnet 4.6 | 1.398 token | $0.0042 |
| Opus 4.7 | 1.398 token | $0.021 |
| Gemini 2.5 Flash | 258 token | $0.000019 |
| Gemini 2.5 Pro | 258 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 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.
detail="low"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#
| Model | Görsel başına maliyet | Aylık |
|---|---|---|
| Opus 4.7 | 0.015 (output) = $0.036 | $3.600 |
| Sonnet 4.6 | 0.003 = $0.0072 | $720 |
| GPT-5 | 0.006 = $0.0137 | $1.370 |
| GPT-5-mini | 0.0003 = $0.0006 | $60 |
| Gemini 2.5 Flash | 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 (basit görev) veya (model karar versin).
detail="low"detail="auto"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:
- Transcript (Whisper, Deepgram, AssemblyAI gibi STT servisleri)
- Native audio (GPT-4o audio, Gemini audio — LLM doğrudan dinler)
Transcript yaklaşımı#
| Sağlayıcı | Fiyat | Notlar |
|---|---|---|
| OpenAI Whisper API | $0.006/dakika | Çok düşük latency, mükemmel kalite |
| Deepgram Nova-3 | $0.0043/dakika | Türkçe destek var, çoklu speaker |
| AssemblyAI | $0.005/dakika | Speaker diarization dahil |
| Local Whisper (large-v3) | $0 (GPU saat) | Open source, self-host |
Bir saatlik ses transkripsiyonu: ~0.05 (self-host).
Native audio yaklaşımı#
| Model | Audio input token rate |
|---|---|
| GPT-4o audio | 32 token/saniye |
| Gemini 2.5 (audio) | 32 token/saniye |
Bir saatlik ses → 32 × 3600 = 115.200 token.
- Gemini 2.5 Pro: 115K × 0.144** (sadece input)
- GPT-4o audio: 115K × 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ğu | Default | High-res |
|---|---|---|
| 1 dakika | 17.400 token | 63.360 token |
| 10 dakika | 174K | 633K |
| 1 saat | 1.04M | 3.8M |
Maliyet (Gemini 2.5 Pro, default mode)#
- 1 dakika: 17K × 0.022**
- 10 dakika: 174K × 0.218**
- 1 saat: 1.04M × 2.60**
GPT-5 video (frame extraction)#
GPT-5 native video desteklemiyor (2026 Q2). Onun yerine:
- Video'yu ffmpeg ile frame'lere ayır
- Her frame'i image olarak gönder
Bir dakikalık video, 30 fps:
- 1800 frame × 765 token = 1.4M token
- 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:
- Audio'yu çıkar (ffmpeg flag)
-vn - Whisper ile transkript et ($0.006/dk)
- 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 analizifor 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ı#
| Modalite | Default seçim | Sebep |
|---|---|---|
| Görsel (ucuz iş) | Gemini Flash | $0.00002/görsel — neredeyse ücretsiz |
| Görsel (kaliteli analiz) | Sonnet 4.6 | Görsel anlamada sınıfın en iyisi |
| Ses (transkript) | Whisper API | $0.006/dk, mükemmel kalite |
| Ses (native, duygu) | Gemini 2.5 Pro | Native audio + ucuz |
| Video | Gemini 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:
- scriptini al (Ders 1.2)
tokenizer_compare.py - 10 metin seç — kendi domain'inden (e-ticaret/fintech/sağlık/eğitim — sana göre)
- Hepsini scriptten geçir
- Sonuçları CSV'ye yaz:
text_id, char, word, gpt, claude, gemini, llama, mistral, deepseek - En verimli ve en verimsiz tokenizer'ı kayıt altına al
- (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
Module 0: Why Cost, Why Now?
The AI Cost Explosion: Why Token Prices Fell 96% from 2022 to 2026 — Yet Bills Grew 40×
Start LearningModule 0: Why Cost, Why Now?
Unit Economics Vocabulary: COGS, Gross Margin, $/User, Contribution Margin — 9 Financial Concepts Every AI Engineer Must Know
Start LearningModule 0: Why Cost, Why Now?