# GPT-4o: Omnimodal AI Deneyimi
Yapay zeka modellerinin buyuk cogunlugu tek bir modalitede calisir: ya metin, ya gorsel, ya da ses. GPT-4o ise bu sinirlari yikiyor — metin, ses, gorsel ve videoyu tek bir model icinde birlestiren ilk gercek omnimodal AI. "O" harfi "omni" anlamina geliyor ve bu isim tesadufi degil. GPT-4o ile bir gorseli analiz ederken ayni anda sesli sohbet edebilir, real-time ceviri yapabilir ve kod yazabilirsin. 320 milisaniyelik yanit suresiyle dogal konusma ritmine yaklasan Advanced Voice Mode, gorsel analiz ve OCR yetenekleri, Realtime API uzerinden WebSocket entegrasyonu, iOS ve Flutter icin mobil SDK ornekleri ve maliyet optimizasyonu stratejileri — tum bunlari pratik kod ornekleriyle birlikte kesfedeceksin.
💡 Pro Tip: GPT-4o, GPT-4 Turbo'ya gore 2x daha hizli, %50 daha ucuz ve cok daha iyi Turkce destegi sunuyor. Eger hala GPT-4 kullaniyorsan, gecis yapmanin tam zamani.
Icindekiler
- GPT-4o Nedir? Omnimodal Ne Demek?
- Teknik Mimari: Unified Model
- Advanced Voice Mode
- Gorsel Analiz ve Vision Yetenekleri
- Real-Time Ceviri ve Dil Destegi
- Gelistiriciler Icin API
- Realtime API ve WebSocket
- Mobil Uygulama Entegrasyonu
- Performans ve Maliyet
- Sonuc ve Oneriler
1. GPT-4o Nedir? Omnimodal Ne Demek?
GPT-4o (omni), OpenAI'in Mayis 2024'te duyurdugu ve 2025-2026 boyunca surekli gelistirdigi tek catili cok-modaliteli bir AI modelidir. Onceki GPT-4V (vision) ve Whisper gibi modeller ayri moduller olarak calisirken, GPT-4o tum modaliteleri tek bir sinir agi icinde birlestiriyor.
Neden Bu Onemli?
Eski Yaklasim | GPT-4o Yaklasimi |
|---|---|
Ses → Whisper → Metin → GPT-4 → Metin → TTS → Ses | Ses → GPT-4o → Ses |
3 ayri model, 3 ayri latency | 1 model, 1 latency |
Duygusal tonlama kaybi | Duygusal tonlama korunur |
~3-5 saniye yanit suresi | ~320ms yanit suresi |
Modaliteler arasi bagLam kopuklugu | Tam bagLam butunlugu |
Eski pipeline'da ses once metne cevrilir, GPT-4 metni isler, sonuc tekrar sese donusturulur. Bu surecte duygusal ton, vurgu ve bagLam bilgisi kaybolur. GPT-4o ise sesi dogrudan anlar ve dogrudan sesle yanit verir — aradaki "ceviri" katmani yok.
💡 Pro Tip: GPT-4o'nun gercek gucu modaliteler arasi cikarsim yapabilmesi. Bir gorseldeki duyguyu anlayip sesli yanitinda uygun tonlama kullanabilir. Bu, onceki hicbir modelde mumkun degildi.
2. Teknik Mimari: Unified Model
GPT-4o'nun mimarisi hakkinda OpenAI detayli teknik makale yayinlamadi, ancak arastirma toplulugunun analizleri ve OpenAI'in aciklamalari su mimariyi isaret ediyor:
Encoder-Decoder Fuzyonu
swift
1Text Input ──┐2 ├──→ Unified Transformer ──→ Text Output3Image Input ──┤ (Shared Attention) Audio Output4 ├──→ Layers Image Output5Audio Input ──┘Her modalite kendi tokenizer/encoder'i ile islenir:
- Metin: BPE tokenizer (GPT-4 tarzı)
- Gorsel: Vision Transformer (ViT) patch embedding
- Ses: Mel-spectrogram + audio encoder
Bu encoder'larin ciktilari ortaklik bir embedding uzayinda birlestirilir ve unified transformer katmanlarindan gecirilir.
Cross-Modal Attention
GPT-4o'nun en kritik yeniligi cross-modal attention mekanizmasidir. Bu mekanizma sayesinde model, bir gorseldeki bilgiyi sesli yanitinda kullanabilir veya sesli bir komuttaki niyeti gorsel cikti icin yorumlayabilir.
python
1# Cross-modal attention pseudocode2class CrossModalAttention(nn.Module):3 def __init__(self, dim=1024, num_heads=16):4 super().__init__()5 self.text_attn = nn.MultiheadAttention(dim, num_heads)6 self.vision_attn = nn.MultiheadAttention(dim, num_heads)7 self.audio_attn = nn.MultiheadAttention(dim, num_heads)8 self.cross_attn = nn.MultiheadAttention(dim, num_heads)9 10 def forward(self, text_emb, vision_emb, audio_emb):11 # Her modalite kendi self-attention'i12 text_out = self.text_attn(text_emb, text_emb, text_emb)[0]13 vis_out = self.vision_attn(vision_emb, vision_emb, vision_emb)[0]14 audio_out = self.audio_attn(audio_emb, audio_emb, audio_emb)[0]15 16 # Modaliteler arasi cross-attention17 # Metin, gorselden bilgi aliyor18 fused = torch.cat([text_out, vis_out, audio_out], dim=1)19 cross_out = self.cross_attn(fused, fused, fused)[0]20 21 return cross_outParametre ve Benchmark
Metrik | GPT-4 Turbo | GPT-4o | GPT-4o-mini |
|---|---|---|---|
Parametre (tahmini) | ~1.8T | ~200B (verimli) | ~8B |
MMLU | 86.4% | 88.7% | 82.0% |
HumanEval | 86.6% | 90.2% | 87.0% |
Vision (MMMU) | 56.8% | 69.1% | 59.4% |
Audio (Multilingual ASR) | - | WER 2.1% | WER 3.8% |
Yanit suresi (metin) | ~3s | ~1.5s | ~0.8s |
Yanit suresi (ses) | ~5s | ~320ms | ~500ms |
Fiyat (1M input token) | $10 | $2.50 | $0.15 |
Bu tablo GPT-4o'nun neden devrim niteliginde oldugunu gosteriyor: daha kucuk, daha hizli, daha ucuz ama neredeyse ayni kalite.
3. Advanced Voice Mode
GPT-4o'nun en etkileyici ozelligi Advanced Voice Mode (AVM). Bu mod, gercek zamanli sesli konusma yapmanı sagliyor — ve bu basit bir speech-to-text + text-to-speech degil.
AVM Yetenekleri
- Duygusal tonlama: Mutlu, uzgun, heyecanli, sakin gibi duygulari algilar ve yanit verir
- Coklu ses karakteri: 9 farkli ses secenegi (Amber, Breeze, Cove, Ember, Juniper, Maple, Sol, Spruce, Vale)
- Sarkı soyleme: Melodi ve ritim anlayisi var (sinirli)
- Kesinti yonetimi: Konusurken araya girebilirsin, model dogal sekilde durur
- Coklu dil: 50+ dilde dogal konusma, aksansiz gecis
- Anlık ceviri: Canli tercumanlik yapabilme
Teknik Detaylar
swift
1Kullanici sesi → Ses encoder → Unified model → Ses decoder → Yanit sesi2 3Latency breakdown:4- Ses encoding: ~50ms5- Model inference: ~200ms6- Ses decoding: ~70ms7- TOPLAM: ~320ms (insan algilama esigi ~400ms)320ms yanit suresi, dogal bir konusma ritmine cok yakin. Telefonla konusurken hissettigin gecikme genellikle 150-300ms arasi — GPT-4o buna neredeyse esit.
💡 Pro Tip: AVM'de en iyi deneyim icin kaliteli bir mikrofon kullan. Model, ortam gurultusune karsi dayaniKli olsa da, temiz ses girdisi cok daha dogal yanitlar uretiyor.
Sesli asistan gelistirme konusunda iOS Security yazimda anlattigim guvenlik prensipleri burada da kritik — ses verisi hassas kisisel veri kategorisinde.
4. Gorsel Analiz ve Vision Yetenekleri
GPT-4o'nun gorsel anlama yetenekleri GPT-4V'ye gore buyuk bir sicrama gosteriyor.
Desteklenen Gorsel Islemler
Islem | Aciklama | Ornek Kullanim |
|---|---|---|
Gorsel tanimi | Goruntudeki her seyi aciklama | Urun fotografi analizi |
OCR | Goruntudeki metni okuma | Belge tarama, makbuz okuma |
Nesne tespiti | Goruntudeki objeleri bulma | Envanter sayimi |
Duygu analizi | Yuz ifadesi/sahne analizi | Kullanici deneyimi testi |
Karsilastirma | Iki gorseli karsilastirma | Oncesi/sonrasi analiz |
Tablo/grafik | Veri gorsellestirmelerini anlama | Rapor okuma |
Kod okuma | Ekran goruntusunden kod cikarma | Debugging yardimi |
Tasarim analizi | UI/UX gorselleri hakkinda geri bildirim | Tasarim incelemesi |
API ile Gorsel Analiz
python
1from openai import OpenAI2import base643 4client = OpenAI()5 6def analyze_image(image_path: str, question: str) -> str:7 """Gorseli analiz et ve soruya yanit ver"""8 with open(image_path, "rb") as f:9 image_data = base64.b64encode(f.read()).decode()10 11 response = client.chat.completions.create(12 model="gpt-4o",13 messages=[14 {15 "role": "user",16 "content": [17 {"type": "text", "text": question},18 {19 "type": "image_url",20 "image_url": {21 "url": f"data:image/jpeg;base64,{image_data}",22 "detail": "high" # low, auto, high23 }24 }25 ]26 }27 ],28 max_tokens=100029 )30 31 return response.choices[0].message.content32 33# Kullanim ornekleri34# 1. UI tasarim incelemesi35result = analyze_image(36 "app_screenshot.png",37 "Bu mobil uygulama ekranindaki UI/UX sorunlarini listele"38)39 40# 2. Makbuz okuma41receipt = analyze_image(42 "receipt.jpg",43 "Bu makbuzdaki toplam tutari ve kalemleri JSON formatinda ver"44)45 46# 3. Whiteboard'dan kod cikarma47code = analyze_image(48 "whiteboard.jpg",49 "Bu whiteboard'daki algoritmayı Python koduna cevir"50)5. Real-Time Ceviri ve Dil Destegi
GPT-4o'nun cok dilli yetenekleri ozellikle real-time ceviri alaninda cok guclu.
Desteklenen Diller (Tier 1)
Ingilizce, Turkce, Almanca, Fransizca, Ispanyolca, Italyanca, Portekizce, Japonca, Korece, Cince (Mandarin), Arapca, Hintce, Rusca, Lehce, Hollandaca
Canli Tercuman Modu
GPT-4o Advanced Voice Mode ile canli tercumanlik yapabilirsin:
python
1# Real-time ceviri pipeline ornegi2import asyncio3from openai import AsyncOpenAI4 5client = AsyncOpenAI()6 7async def live_translate(source_lang: str, target_lang: str):8 """Canli sesli ceviri"""9 10 system_prompt = f"""Sen profesyonel bir canli tercumansin.11 {source_lang} dilinde konusulanlari {target_lang} diline cevir.12 Kurallarin:13 - Anlam butunlugunu koru14 - Kulturel bagLami adapte et15 - Dogal konusma tonunda cevir16 - Teknik terimleri hedef dilde acikla17 """18 19 response = await client.chat.completions.create(20 model="gpt-4o",21 messages=[22 {"role": "system", "content": system_prompt},23 {"role": "user", "content": [24 {"type": "input_audio", "input_audio": {25 "data": audio_base64,26 "format": "wav"27 }}28 ]}29 ],30 modalities=["text", "audio"],31 audio={"voice": "alloy", "format": "wav"}32 )33 34 return response.choices[0].message.audioBu ozellik seyahat, uluslararasi toplanti ve egitim alanlarinda muhtesem kullanim alanlari sunuyor. Flutter vs React Native yazimda anlattigim lokalizasyon konusuyla da dogrudan baglantili — artik sadece metin degil, ses de lokalize edilebiliyor.
💡 Pro Tip: Real-time ceviri icin GPT-4o-mini daha uygun olabilir. Daha hizli yanit suresi ve daha dusuk maliyet, canli ceviri senaryolarinda kritik avantaj sagliyor. Kalite farki minimal.
6. Gelistiriciler Icin API
GPT-4o API, geliştiricilere omnimodal yetenekleri kendi uygulamalarina entegre etme imkani sunuyor.
Temel API Kullanimi
python
1from openai import OpenAI2 3client = OpenAI()4 5# Cok-modaliteli sohbet6response = client.chat.completions.create(7 model="gpt-4o",8 messages=[9 {10 "role": "system",11 "content": "Sen yardimsever bir AI asistansin. Turkce yanit ver."12 },13 {14 "role": "user",15 "content": [16 {"type": "text", "text": "Bu gorseldeki kodu analiz et ve iyilestirme onerileri ver"},17 {"type": "image_url", "image_url": {"url": "https://example.com/code.png"}}18 ]19 }20 ],21 max_tokens=2000,22 temperature=0.723)24 25print(response.choices[0].message.content)Structured Output (JSON Mode)
python
1from pydantic import BaseModel2from typing import List3 4class UIAnalysis(BaseModel):5 overall_score: int6 issues: List[str]7 suggestions: List[str]8 accessibility_notes: List[str]9 10response = client.beta.chat.completions.parse(11 model="gpt-4o",12 messages=[13 {"role": "system", "content": "UI/UX analisti olarak gorsel incele"},14 {"role": "user", "content": [15 {"type": "text", "text": "Bu ekran goruntusunu analiz et"},16 {"type": "image_url", "image_url": {"url": screenshot_url}}17 ]}18 ],19 response_format=UIAnalysis20)21 22analysis = response.choices[0].message.parsed23print(f"Skor: {analysis.overall_score}/100")24for issue in analysis.issues:25 print(f" - {issue}")7. Realtime API ve WebSocket
OpenAI'in 2024 sonunda duyurdugu Realtime API, GPT-4o'nun sesli yeteneklerini WebSocket uzerinden kullanmani sagliyor.
WebSocket Baglantisi
javascript
1// Realtime API WebSocket baglantisi2const ws = new WebSocket(3 'wss://api.openai.com/v1/realtime?model=gpt-4o-realtime-preview',4 {5 headers: {6 'Authorization': 'Bearer ' + process.env.OPENAI_API_KEY,7 'OpenAI-Beta': 'realtime=v1'8 }9 }10);11 12ws.on('open', () => {13 // Session konfigurasyonu14 ws.send(JSON.stringify({15 type: 'session.update',16 session: {17 modalities: ['text', 'audio'],18 instructions: 'Sen Turkce konusan yardimsever bir asistansin.',19 voice: 'alloy',20 input_audio_format: 'pcm16',21 output_audio_format: 'pcm16',22 input_audio_transcription: { model: 'whisper-1' },23 turn_detection: { type: 'server_vad', threshold: 0.5 },24 temperature: 0.825 }26 }));27});28 29// Ses verisi gonder30ws.on('message', (data) => {31 const event = JSON.parse(data);32 33 switch (event.type) {34 case 'response.audio.delta':35 // Ses parcasini oynat36 playAudioChunk(Buffer.from(event.delta, 'base64'));37 break;38 39 case 'response.audio_transcript.delta':40 // Transkript guncelle41 updateTranscript(event.delta);42 break;43 44 case 'input_audio_buffer.speech_started':45 // Kullanici konusmaya basladi46 stopCurrentPlayback();47 break;48 49 case 'error':50 console.error('Realtime API error:', event.error);51 break;52 }53});54 55// Mikrofon verisini gonder56function sendAudioChunk(pcmData) {57 ws.send(JSON.stringify({58 type: 'input_audio_buffer.append',59 audio: pcmData.toString('base64')60 }));61}WebSocket Real-Time yazimda anlattgim WebSocket mimarisi burada birebir uygulaniyor. Ayni event-driven yaklasim, ayni duplex iletisim — farkli icerik.
Server VAD (Voice Activity Detection)
Realtime API'nin en akillı ozelligi server-side VAD. Kullanicinin konusup konusmadigini sunucu tarafinda tespit ediyor:
- Konusma basladığında model dinlemeye geciyor
- Konusma bittiginde otomatik yanit olusturuyor
- Kesinti durumunda (kullanici araya girerse) mevcut yaniti durduruyor
💡 Pro Tip: Gurultulu ortamlarda VAD threshold'unu 0.7'ye cikar. Varsayilan 0.5 degerinde ortam gurultusu konusma olarak algilanabilir.
8. Mobil Uygulama Entegrasyonu
GPT-4o'yu mobil uygulamana entegre etmek icin birkac yaklasim var:
iOS (Swift) Entegrasyonu
swift
1import Foundation2import AVFoundation3 4class GPT4oService {5 private let apiKey: String6 private let session = URLSession.shared7 8 init(apiKey: String) {9 self.apiKey = apiKey10 }11 12 func analyzeImage(_ image: UIImage, question: String) async throws -> String {13 guard let imageData = image.jpegData(compressionQuality: 0.8) else {14 throw GPT4oError.invalidImage15 }16 17 let base64Image = imageData.base64EncodedString()18 19 let requestBody: [String: Any] = [20 "model": "gpt-4o",21 "messages": [22 [23 "role": "user",24 "content": [25 ["type": "text", "text": question],26 ["type": "image_url", "image_url": [27 "url": "data:image/jpeg;base64,\(base64Image)",28 "detail": "auto"29 ]]30 ]31 ]32 ],33 "max_tokens": 100034 ]35 36 var request = URLRequest(url: URL(string: "https://api.openai.com/v1/chat/completions")!)37 request.httpMethod = "POST"38 request.setValue("Bearer \(apiKey)", forHTTPHeaderField: "Authorization")39 request.setValue("application/json", forHTTPHeaderField: "Content-Type")40 request.httpBody = try JSONSerialization.data(withJSONObject: requestBody)41 42 let (data, _) = try await session.data(for: request)43 let response = try JSONDecoder().decode(ChatResponse.self, from: data)44 45 return response.choices.first?.message.content ?? ""46 }47}Flutter Entegrasyonu
dart
1import 'dart:convert';2import 'package:http/http.dart' as http;3 4class GPT4oClient {5 final String apiKey;6 7 GPT4oClient({required this.apiKey});8 9 Future chat({ 10 required String message,11 String? imageBase64,12 String model = 'gpt-4o',13 }) async {14 final content = 15 {'type': 'text', 'text': message},16 ];17 18 if (imageBase64 != null) {19 content.add({20 'type': 'image_url',21 'image_url': {22 'url': 'data:image/jpeg;base64,$imageBase64',23 'detail': 'auto',24 },25 });26 }27 28 final response = await http.post(29 Uri.parse('https://api.openai.com/v1/chat/completions'),30 headers: {31 'Authorization': 'Bearer $apiKey',32 'Content-Type': 'application/json',33 },34 body: jsonEncode({35 'model': model,36 'messages': [37 {'role': 'user', 'content': content},38 ],39 'max_tokens': 1000,40 }),41 );42 43 if (response.statusCode != 200) {44 throw Exception('API error: ${response.statusCode}');45 }46 47 final data = jsonDecode(response.body);48 return data['choices'][0]['message']['content'];49 }50}Mobil entegrasyon konusunda iOS App Architecture yazimda anlattigim katmanli mimari burada da gecerli — API cagrilarini service layer'da izole et, UI'dan ayir.
9. Performans ve Maliyet
Fiyat Karsilastirmasi (Subat 2026)
Model | Input (1M token) | Output (1M token) | Gorsel (token/gorsel) |
|---|---|---|---|
GPT-4o | $2.50 | $10.00 | ~765 token (low) |
GPT-4o-mini | $0.15 | $0.60 | ~2833 token (low) |
GPT-4 Turbo | $10.00 | $30.00 | ~765 token |
Claude 3.5 Sonnet | $3.00 | $15.00 | ~1600 token |
Gemini 1.5 Pro | $1.25 | $5.00 | Ucretsiz (sinirli) |
Token Hesaplama
swift
1Metin: ~4 karakter = 1 token(Turkce icin ~3 karakter)2Gorsel(low detail): ~85 token3Gorsel(high detail): 85 + 170 * tile sayisi4Ses: ~1 saniye = ~25 token(Realtime API)Maliyet Optimizasyonu Stratejileri
- Model secimi: Basit isler icin gpt-4o-mini, kompleks isler icin gpt-4o
- Detail level: Gorsel icin "low" detail yeterli olabilir (%80 daha ucuz)
- Caching: Ayni gorsel/prompt kombinasyonu icin sonuclari onbellekle
- Streaming: Kullanici deneyimini iyilestir, beklemeyi azalt
- Batch API: Acil olmayan isler icin %50 indirimli batch endpoint
💡 Pro Tip: GPT-4o'nun predicted_output ozelligi ile ortak iceriklerde (JSON sema, tekrarlayan yapilar) %40'a kadar output token tasarrufu saglayabilirsin. Modelden bekledigin yapinin bir kismini onceden belirtiyorsun, model sadece farkliliklari uretiyor.Mobile DevOps yazimda anlattigim maliyet optimizasyonu prensipleri burada da gecerli — her API cagrisinin bir maliyeti var, pipeline'ini buna gore tasarla.
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ü
GPT-4o ile hizlica bir **AI-powered prototip** olusturma workflow'u: (1) Kagit uzerine UI wireframe ciz, (2) Telefonla fotograf cek, (3) GPT-4o'ya "Bu wireframe'i React Native koduna cevir" de, (4) Elde ettigin kodu Expo ile calistir, (5) Ekran goruntusunu tekrar GPT-4o'ya gonderip "Su kismi iyilestir" de. Bu dongu ile 30 dakikada kagittan calisan prototipe gecebilirsin. Ayrica [Expo Snack](https://snack.expo.dev) uzerinde dogrudan test edebilirsin — kurulum gerektirmez.
Sonuc ve Oneriler
GPT-4o, yapay zekanin "tek is yapan arac"tan "her seyi yapan asistan"a donusumunun en somut ornegi. Metin, ses, gorsel ve video anlama yetenekleriyle, insanin dogal iletisim bicimine en yakin AI modeli.
Onerilerin:
- Omnimodal dusun — Sadece metin degil, ses ve gorsel modalitelerini de entegre et
- GPT-4o-mini ile basla — Cogu senaryo icin yeterli ve %94 daha ucuz
- Realtime API'yi dene — Sesli asistan uygulamalari icin oyun degistirici
- Structured output kullan — JSON mode ile guvenilir veri cikar
- Guvenlik oncelikli — Ses ve gorsel verisi hassas veri — sifreleme ve izin yonetimi sart
- Maliyet takibi — Token kullanumini monitor et, budget alert kur
GPT-4o tek basina bir son degil, bir baslangic. Bu modelin yeteneklerini kendi uygulaman icin nasil kullanacagin, yaraticiligina ve muhendislik becerine bagli. Swift Async/Await yazimda anlattigim gibi, araclar degisir ama temel muhendislik prensipleri kalici — temiz mimari, test edilebilirlik ve kullanici odaklilik her zaman gecerli.
Sora 2, Sora Turbo ve GPT-4o uc yazi boyunca OpenAI ekosisteminin en guclu araclarini inceledik. Artik sira sende — bu araclari birlestirip kendi yaratici projelerini hayata gecirme zamani!

