Tüm Yazılar
KategoriAI
Okuma Süresi
20 dk okuma
Yayın Tarihi
...
Kelime Sayısı
2.474kelime

Kahveni hazırla - bu içerikli bir makale!

Gemini ile görsel reasoning, video anlama, ses transkripsiyonu ve PDF analizi. Multimodal AI uygulamaları geliştirmek için adım adım kapsamlı teknik rehber.

Gemini Multimodal: Görsel + Ses + Video Anlama

# Gemini Multimodal: Görsel + Ses + Video Anlama

Yapay zeka artik sadece metin islemiyor. Gemini 2.5 modelleri, görsel, ses ve video verisini ayni anda isleyerek insana yakin bir anlama yetenegine sahip. Eger sen de uygulamana multimodal yetenekler eklemek istiyorsan, doğru yerdesin. Goruntuden bilgi çıkarma, videoyu özetleme, ses analizi veya PDF'yi işlemek — hepsini tek bir API çağrısinda yapabiliyorsun. Aşağıda Gemini'nin multimodal yeteneklerini mobil ve web uygulamalarinda nasil kullanacagini adım adım kesfedeceksin.

💡 Pro Tip: Gemini 2.5 Pro'nun 2M token context window'u, 2 saatlik bir videoyu tek seferde isleyebilir. Bu, video anlama alaninda devrim niteliginde bir kapasite.

İçindekiler


1. Multimodal AI Nedir?

Multimodal AI, birden fazla veri tipini — metin, görsel, ses, video — ayni anda isleyebilen yapay zeka sistemlerini ifade eder. Gemini, Google'in "natively multimodal" olarak tasarladigi ilk model ailesidir. Yani multimodal yetenek sonradan eklenmedi, modelin DNA'sinda var.

Geleneksel yaklaşımda görsel işleme için ayrı bir model, ses için ayrı bir model ve metin için ayrı bir model kullanman gerekiyordu. Gemini bu parcali yapiyi ortadan kaldıriyor. Tek bir API çağrısinda bir görsel gönderebilir, ustune metin sorusu sorabilir ve modelden hem görsel analiz hem de metin tabanli cevap alabilirsin. Google AI Studio arayuzunde bu multimodal yetenekleri doğrudan test edebilirsin.

Eger daha önce DeepSeek R1 yazisini okudunysan, düşünce zinciri yaklasiminin AI modellerini ne kadar guclendirdigini biliyorsundur. Gemini de benzer şekilde multimodal girdiler uzerinde adım adım reasoning yaparak daha tutarlı sonuçlar uretiyor.

Desteklenen Veri Tipleri

Veri Tipi
Desteklenen Formatlar
Maks Boyut
Context Karsiligi
**Görsel**
PNG, JPEG, WebP, GIF
20 MB/görsel
~258 token/görsel
**Video**
MP4, MPEG, MOV, AVI, MKV, WebM
2 GB (File API)
~258 token/saniye
**Ses**
MP3, WAV, AIFF, AAC, OGG, FLAC
2 GB (File API)
~32 token/saniye
**PDF**
Standart PDF
300 sayfa
Sayfa basina ~258 token
**Kod**
Tum diller
Metin olarak
Normal token sayimi

Rakiplerle Karşılaştırma

GPT-4o ve Claude 3.5 Sonnet da multimodal yetenek sunuyor ama Gemini'nin avantajlari belirgin:

  • Video nativ destegi:: Diger modeller kare kare görsel olarak işliyor, Gemini videoyu temporal olarak anliyor
  • Uzun context:: 2M token ile 2 saatlik video veya 1500 sayfalik PDF tek seferde
  • Ses anlama:: Sadece transkripsiyon değil, ton, duygu ve konusmaci tespiti de yapiyor

Ozellikle video anlama konusunda Gemini'nin rakiplerinden ciddi bir farkı var. Diger modellere video gonderdiginde, arka planda video karelere bolunuyor ve her kare bağımsiz bir görsel olarak işleniyor. Gemini ise videoyu temporal akış içinde anliyor — yani "3. dakikada ne oldu?" gibi zamana bagli sorulara doğru cevap verebiliyor. Bu fark, ozellikle egitim videolari, toplanti kayitlari ve güvenlik kamerasi analizinde büyük avantaj sagliyor.

Sen kendi uygulamanda multimodal yetenekleri kullanmaya başlamadan önce, Google Cloud Vertex AI uzerinden enterprise-grade API erisimi ve Google Developers Blog uzerinden en güncel model güncellemelerini takip etmeni oneririm.

On-Device ML ve Core ML yazimda cihaz uzerinde AI islemeden bahsetmistim. Gemini'nin multimodal yetenekleri ise bulut tarafinda bu islemi çok daha güçlü yapıyor.

2. Görsel Anlama ve Reasoning

Gemini'ye bir görsel gonderdiginde sadece "bu bir kedi" demekle kalmiyor. Gorseldeki detaylari analiz edebiliyor, sayisal degerler okuyabiliyor, grafik ve tablolari yorumlayabiliyor.

Görsel reasoning ozellikle mobil uygulamalarda çok güçlü senaryolar açiyor. Örneğin bir e-ticaret uygulamasinda kullanıcı telefonuyla bir ürünun fotografini çekiyor ve senin uygulamanda Gemini bu görseli analiz ederek benzer ürünleri buluyor, fiyat karşılaştırmasi yapiyor ve hatta ürünun durumunu (yeni, kullanılmış, hasarli) tespit edebiliyor. Sağlık uygulamalarinda ise cilt lezyonlarinin on taramasinda, gida kalori tahmininde veya ilac kutusundaki prospektusu okumada kullanilabiliyor.

Temel Görsel Analiz

typescript
1import { GoogleGenerativeAI } from '@google/generative-ai';
2import * as fs from 'fs';
3 
4const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY!);
5const model = genAI.getGenerativeModel({ model: 'gemini-2.5-flash' });
6 
7// Dosyadan görsel okuma
8async function analyzeImage(imagePath: string, prompt: string) {
9 const imageData = fs.readFileSync(imagePath);
10 const base64Image = imageData.toString('base64');
11 const mimeType = imagePath.endsWith('.png') ? 'image/png' : 'image/jpeg';
12 
13 const result = await model.generateContent([
14 prompt,
15 {
16 inlineData: {
17 data: base64Image,
18 mimeType,
19 },
20 },
21 ]);
22 
23 return result.response.text();
24}
25 
26// Kullanım örnekleri
27const description = await analyzeImage(
28 './screenshot.png',
29 'Bu mobil uygulama ekran goruntusunu analiz et. UI/UX acisindan iyilestirme önerileri ver.'
30);
31 
32const ocrResult = await analyzeImage(
33 './receipt.jpg',
34 'Bu fisteki tum ürünleri ve fiyatlari JSON formatinda cikart.'
35);

Çoklu Görsel Karşılaştırma

typescript
1async function compareImages(images: string[], prompt: string) {
2 const imageParts = images.map(path => {
3 const data = fs.readFileSync(path).toString('base64');
4 return {
5 inlineData: {
6 data,
7 mimeType: 'image/jpeg',
8 },
9 };
10 });
11 
12 const result = await model.generateContent([
13 prompt,
14 ...imageParts,
15 ]);
16 
17 return result.response.text();
18}
19 
20// A/B test analizi
21const comparison = await compareImages(
22 ['./design-a.png', './design-b.png'],
23 'Bu iki mobil uygulama tasarimini karşılaştır. Hangisi daha iyi kullanıcı deneyimi sunuyor ve neden?'
24);

Görsel Reasoning Kullanım Alanlari

  1. UI/UX Analizi: Ekran goruntusunden erisilebilirlik sorunlarini tespit etme
  2. OCR ve Veri Çıkarma: Fatura, fiis, kartvizit tarama
  3. Ürün Tespiti: E-ticaret için görsel arama
  4. Medikal Görüntü: Radyoloji raporlarina yardimci analiz
  5. Harita ve Plan: Mimari plan yorumlama, konum tespiti

Görsel reasoning'in en etkileyici yonu, modelin sadece "ne gordugunu" değil "ne anlam ifade ettigini" de kavrayabilmesi. Bir grafik görselini gonderdiginde Gemini trend cizgisini okuyabiliyor, anomali tespit edebiliyor ve hatta grafik verisinden gelecege yonelik tahmin yapabiliyor. Eger senin uygulamanda raporlama veya dashboard ozelligi varsa, kullanicilarin ekran goruntusunu Gemini'ye gondererek "bu grafikteki dusus neden olmus olabilir?" gibi sorular sormasini saglayabilirsin.


3. Video İşleme ve Analiz

Gemini'nin en etkileyici özelliklerinden biri video anlama. Bir video dosyasini yukleyip "bu videoda ne oluyor?" diye sorabiliyorsun ve model temporal olarak (zaman akışi içinde) videoyu anliyor.

Video işleme için iki temel yaklaşım var. Kısa videolar (30 saniyenin altinda) için base64 encode ederek doğrudan API'ye gonderebilirsin. Ancak daha uzun videolar için Google'in File API'sini kullanman gerekiyor. File API videoyu sunucuya yukluyor, işliyor ve sana bir URI donduruyor. Sonraki API çağrılarinda bu URI'yi referans olarak kullaniyorsun. Maksimum dosya boyutu 2 GB ve işlem süresi videonun uzunluguna bagli olarak birkac dakika surebiliyor.

Video Yükleme (File API)

typescript
1import { GoogleAIFileManager } from '@google/generative-ai/server';
2 
3const fileManager = new GoogleAIFileManager(process.env.GEMINI_API_KEY!);
4 
5// Video yükle
6async function uploadVideo(videoPath: string) {
7 const uploadResult = await fileManager.uploadFile(videoPath, {
8 mimeType: 'video/mp4',
9 displayName: 'analiz-videosu',
10 });
11 
12 // İşleme tamamlanana kadar bekle
13 let file = uploadResult.file;
14 while (file.state === 'PROCESSING') {
15 await new Promise(resolve => setTimeout(resolve, 5000));
16 file = await fileManager.getFile(file.name);
17 }
18 
19 if (file.state === 'FAILED') {
20 throw new Error('Video işleme başarısız');
21 }
22 
23 return file;
24}
25 
26// Video analiz
27async function analyzeVideo(videoPath: string, prompt: string) {
28 const file = await uploadVideo(videoPath);
29 
30 const model = genAI.getGenerativeModel({ model: 'gemini-2.5-pro' });
31 const result = await model.generateContent([
32 prompt,
33 {
34 fileData: {
35 fileUri: file.uri,
36 mimeType: file.mimeType,
37 },
38 },
39 ]);
40 
41 return result.response.text();
42}
43 
44// Kullanım
45const summary = await analyzeVideo(
46 './meeting-recording.mp4',
47 'Bu toplanti kaydini özetle. Alinan kararlar ve aksiyon maddelerini listele.'
48);

Video Anlama Senaryoları

Senaryo
Prompt Ornegi
Kullanım Alani
**Toplanti ozeti**
"Konusmacilarin ana fikirlerini özetle"
Kurumsal
**Egitim içerik**
"Bu derste anlatilan kavramlari listele"
EdTech
**Güvenlik kamerasi**
"Anormal bir hareket var mi?"
Güvenlik
**Spor analizi**
"Oyuncunun teknik hatalarini belirle"
Spor teknolojisi
**Ürün inceleme**
"Videodaki ürünlerin artilari ve eksileri"
E-ticaret

4. Ses Transkripsiyonu ve Anlama

Gemini sadece sesi metne cevirmiyor — konusmacilari ayirt edebiliyor, duygu analizi yapabiliyor ve ses tonundan anlam cikarabiliyor.

Ses anlama ozelligi ozellikle podcast özetleme, müşteri hizmetleri çağrı analizi ve toplanti notlari oluşturma gibi alanlarda devrim yaratıyor. Geleneksel ses tanıma servisleri (Google Speech-to-Text, Whisper) sadece transkripsiyon yapiyor. Gemini ise transkripsiyonun otesine gecip "bu konusmada müşteri ne kadar memnun?" veya "hangi konularda anlasmazlik var?" gibi üst duzey analizler yapabiliyor.

typescript
1async function analyzeAudio(audioPath: string) {
2 const file = await uploadFile(audioPath, 'audio/mp3');
3 
4 const result = await model.generateContent([
5 `Bu ses kaydini analiz et:
6 1. Tam transkripsiyon oluştur
7 2. Konusmacilari ayirt et (Konusmaci 1, Konusmaci 2...)
8 3. Her konusmacinin duygusal tonunu belirle
9 4. Ana konulari ve alinan kararlari özetle
10 5. Turkce olmayan kisimlar varsa tercume et`,
11 {
12 fileData: {
13 fileUri: file.uri,
14 mimeType: file.mimeType,
15 },
16 },
17 ]);
18 
19 return result.response.text();
20}

Ses + Görsel Birlesik Analiz

typescript
1// Podcast'i hem ses hem de gosterim slaytlariyla analiz et
2const result = await model.generateContent([
3 'Bu podcast kaydini dinle ve sunumdaki slaytlari incele. Her slaytta anlatilan konuyu eslestir.',
4 { fileData: { fileUri: audioFile.uri, mimeType: 'audio/mp3' } },
5 { fileData: { fileUri: slidesFile.uri, mimeType: 'application/pdf' } },
6]);
Flutter Clean Architecture yazimda katmanli mimari yaklaşımini anlatmistim. Multimodal servisleri de ayni şekilde repository pattern ile sarmalayarak temiz bir yapi kurabilirsin.

5. PDF ve Dokuman Analizi

Gemini'nin PDF işleme yetenegini, ozellikle dokuman yogun uygulamalarda çok isine yarayacak bir özellik olarak gormelisin.

PDF analizi için Gemini sayfadaki metni, tablolari, grafikleri ve görselleri birlikte değerlendiriyor. Yani bir finansal rapor PDF'i gonderdiginde sadece metni okumakla kalmiyor, tablolardaki sayisal verileri de anlamli şekilde yorumluyor. 300 sayfaya kadar destekleyen bu özellik, hukuk, muhasebe ve akademik arastirma gibi dokuman-yogun sektorlerde ciddi zaman tasarrufu sagliyor.

typescript
1async function analyzePDF(pdfPath: string, questions: string[]) {
2 const file = await uploadFile(pdfPath, 'application/pdf');
3 
4 const prompt = `Bu PDF dokumanini analiz et ve aşağıdaki sorulari yanitla:
5 
6 ${questions.map((q, i) => `${i + 1}. ${q}`).join('\n')}
7 
8 Her soru için ilgili sayfa numarasini da belirt.`;
9 
10 const result = await model.generateContent([
11 prompt,
12 { fileData: { fileUri: file.uri, mimeType: 'application/pdf' } },
13 ]);
14 
15 return result.response.text();
16}
17 
18// Kullanım
19const analysis = await analyzePDF('./contract.pdf', [
20 'Sozlesme süresi ne kadar?',
21 'Cezai şart maddeleri nelerdir?',
22 'Fesih koşullari nelerdir?',
23 'KVKK ile ilgili maddeler hangileri?',
24]);

6. Multi-Turn Multimodal Chat

Gemini ile multimodal bir sohbet oturumu açabilir, önceki görsel ve metin baglamini koruyarak devam edebilirsin.

Multi-turn multimodal chat, kullanıcı deneyimi acisindan en değerli özelliklerden biri. Örneğin bir tasarim review araci geliştirdiğini düşün: kullanıcı ilk mesajda ekran goruntusunu paylaşiyor, ikinci mesajda belirli bir bolgeyi soruyor, üçüncü mesajda alternatif bir tasarimi gönderiyor. Gemini tum bu baglami koruyarak tutarlı ve bağlam-duyarli cevaplar veriyor. Senin uygulamanda bu pattern'i kullanarak adım adım ilerleyen, görsel destekli asistan deneyimleri kurabilirsin.

typescript
1async function multimodalChat() {
2 const chat = model.startChat();
3 
4 // İlk mesaj: görsel ile
5 const imageData = fs.readFileSync('./app-screenshot.png').toString('base64');
6 const response1 = await chat.sendMessage([
7 'Bu uygulama ekran goruntusunu incele. Genel izlenimini paylaş.',
8 { inlineData: { data: imageData, mimeType: 'image/png' } },
9 ]);
10 console.log('Yanit 1:', response1.response.text());
11 
12 // Ikinci mesaj: detay sorusu (görsel bağlam korunuyor)
13 const response2 = await chat.sendMessage(
14 'Navigation yapısıni iyilestirmek için ne onerirsin?'
15 );
16 console.log('Yanit 2:', response2.response.text());
17 
18 // Üçüncü mesaj: yeni görsel ekle
19 const newImage = fs.readFileSync('./wireframe.png').toString('base64');
20 const response3 = await chat.sendMessage([
21 'Bu wireframe ile önceki tasarimi karşılaştır. Hangisi kullanıcı için daha iyi?',
22 { inlineData: { data: newImage, mimeType: 'image/png' } },
23 ]);
24 console.log('Yanit 3:', response3.response.text());
25}

7. Mobil Uygulamalarda Multimodal

Swift ile Görsel Analiz

swift
1import GoogleGenerativeAI
2import UIKit
3 
4actor MultimodalService {
5 private let model: GenerativeModel
6 
7 init() {
8 self.model = GenerativeModel(
9 name: "gemini-2.5-flash",
10 apiKey: Configuration.geminiAPIKey
11 )
12 }
13 
14 func analyzePhoto(_ image: UIImage, prompt: String) async throws -> String {
15 guard let jpegData = image.jpegData(compressionQuality: 0.8) else {
16 throw MultimodalError.imageConversionFailed
17 }
18 
19 let response = try await model.generateContent(
20 prompt,
21 ModelContent.Part.data(mimetype: "image/jpeg", jpegData)
22 )
23 
24 return response.text ?? ""
25 }
26 
27 func analyzeWithStreaming(_ image: UIImage, prompt: String) -> AsyncThrowingStream<String, Error> {
28 AsyncThrowingStream { continuation in
29 Task {
30 guard let jpegData = image.jpegData(compressionQuality: 0.8) else {
31 continuation.finish(throwing: MultimodalError.imageConversionFailed)
32 return
33 }
34 let stream = model.generateContentStream(
35 prompt,
36 ModelContent.Part.data(mimetype: "image/jpeg", jpegData)
37 )
38 for try await chunk in stream {
39 if let text = chunk.text {
40 continuation.yield(text)
41 }
42 }
43 continuation.finish()
44 }
45 }
46 }
47}
Apple Vision Framework yazısında cihaz uzerinde görsel işleme kapasitesini incelemiştim. Gemini ile bulut tarafinda çok daha güçlü görsel reasoning yapabilirsin — ikisini birleştirmek en iyi strateji.

8. Performance ve Optimizasyon

Multimodal işlemlerin performansi doğrudan kullanıcı deneyimini etkiliyor. Büyük dosyalar daha fazla token tuketiyor, daha uzun işlem süresi gerektiriyor ve daha yuksek maliyet oluşturuyor. Aşağıdaki optimizasyon stratejileri ile hem hız hem maliyet acisindan ciddi iyilestirme saglayabilirsin.

Görsel Optimizasyonu

Strateji
Etki
Uygulama
**Boyut küçültme**
%60 token tasarruf
1024px max kenar uzunlugu
**JPEG sikistirma**
%30 boyut azalma
quality: 0.8 yeterli
**Gereksiz görsel atma**
%100 tasarruf
Sadece ilgili görselleri gönder
**Batch işleme**
%40 hız artisi
Birden fazla görseli tek istekte

Görsel optimizasyonunda en sık yapılan hata, kamera çözünürlüğündeki görseli doğrudan API'ye göndermek. Modern telefonlar 12-48 MP görsel uretiyor ama Gemini için 1024px kenar uzunlugu fazlasıyla yeterli. Client tarafinda görseli küçültmek hem upload suresini hem de API maliyetini dramatik şekilde dusuruyor.

Video Optimizasyonu

typescript
1// Video süresi ve kaliteyi dengele
2const optimizationConfig = {
3 maxDuration: 120, // 2 dakika (uzun videolar için clip)
4 resolution: '720p', // 1080p gereksiz, 720p yeterli
5 frameRate: 1, // 1 FPS yeterli (video anlama için)
6 audioSampleRate: 16000 // 16kHz ses kalitesi yeterli
7};

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ü

Multimodal AI ile en etkili 3 proje fikri: (1) **Fotograf Portfoy Asistani** — Fotograflari otomatik etiketle, kategorize et ve en iyilerini seç, (2) **Toplanti Asistani** — Video kaydi + slaytlari birlestirerek aksiyon maddeleri çıkar, (3) **Erisilebilirlik Denetcisi** — Ekran goruntusunden WCAG uyumluluk raporu oluştur. Bu projelerin hepsi Gemini Flash ile ucretsiz katmanda prototiplenebilir.

Sonuç ve Öneriler

Gemini'nin multimodal yetenekleri, mobil ve web uygulamalarinda yepyeni kapilar açiyor. Görsel anlama, video analizi, ses transkripsiyonu ve PDF işleme — bunlarin hepsi tek bir API uzerinden erisilebilir durumda.

Multimodal AI'nin gerçek güçu, farklı veri tiplerini birlestirdiginde ortaya çıkıyor. Bir kullanıcının gonderdigi fotografi analiz ederken ayni anda sesli aciklamasini dinlemek, veya bir PDF raporundaki grafikleri video sunumuyla eslestirmek — bu tür cross-modal senaryolar geleneksel yaklasimlarla çok zor ama Gemini ile tek bir API çağrısinda mumkun hale geliyor.

Onerilerim:

  • Görsel islerinde Flash modeli çok yeterli — Pro sadece karmaşık reasoning için
  • Video işleme için File API kullan, base64 gönderme
  • Mobil uygulamalarda görseli client'ta küçült, sonra API'ye gönder
  • Multi-turn chat ile bağlam koruyarak daha iyi sonuçlar al
  • WebSocket Real-Time ile streaming yanitlar sun
  • Cursor AI IDE yazimda multimodal debugging orneklerini incelemiştim — görsel hata ayıklamada Gemini çok değerli

Multimodal AI, kullanıcı deneyimini bir üst seviyeye taşiyor. Şimdi kodlamaya başla!

Etiketler

#AI#Gemini#Multimodal#Computer Vision#NLP#Google#2026
Muhittin Çamdalı

Muhittin Çamdalı

Senior iOS Developer

12+ yıllık deneyime sahip iOS Developer. Swift, SwiftUI ve modern iOS mimarileri konusunda uzman. Apple platformlarında performanslı ve kullanıcı dostu uygulamalar geliştiriyorum.

iOS Geliştirme Haberleri

Haftalık Swift tips, SwiftUI tricks ve iOS best practices. Spam yok, sadece değerli içerik.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.

Paylaş

İlgili İçerik