Gemini 2.5 Flash Image (nano banana) ile Nasıl Geliştirme Yapılır
Yeni Gemini 2.5 Flash Image'ı (genellikle tuhaf kod adı "nano banana" altında ortaya çıkar) duyduysanız, muhtemelen onunla nasıl hızlı bir şekilde geliştirme yapacağınızı merak ediyorsunuzdur. Bu kılavuz, kurulum, istemler ve üretim kalıpları konusunda size yol göstererek görüntü+metin özelliklerini hızlı ve güvenilir bir şekilde sunmanızı sağlar.
Elde edecekleriniz: İstem tarifleri, değerlendirme ipuçları ve üretim sertleştirmesi dahil olmak üzere, Gemini 2.5 Flash Image modelini kullanmak için pratik, uçtan uca bir iş akışı.
Gemini 2.5 Flash Image Nedir?
Gemini 2.5 Flash Image, düşük gecikme süresiyle görüntü anlama ve oluşturma görevleri için ayarlanmış, hafif, hızlı, çok modlu bir modeldir. Pratikte, şunlar için idealdir:
- Görüntü anlama: sınıflandırma, başlıklandırma, OCR-lite, düzen çıkarma
- Görsel Soru-Cevap: bir görüntüye dayalı soruları yanıtlama
- Hafif görüntü oluşturma veya düzenleme: basit varyasyonlar, ek açıklamalar, katmanlar
- Uç dostu deneyimler: hızlı önizlemeler, düşük maliyetli çıkarım, etkileşimli UX
"Flash" takma adı genellikle optimize edilmiş hız ve maliyet anlamına gelir. "Nano banana" takma adı ise genellikle örneklerde veya sürüm notlarında kullanılan dahili bir etiket veya kontrol noktası varyantını ifade eder.
Ön Koşullar
- Gemini 2.5 Flash Image'a erişimi olan bir Google AI Studio veya Vertex AI hesabı
- API anahtarı veya hizmet hesabı kimlik bilgileri
- Çalışma zamanı: Node.js, Python veya sunucusuz platform (Cloud Functions/Run)
- Üretim için: günlük kaydı, hız sınırlaması, istem sürümü oluşturma ve değerlendirme düzeneği
Hızlı Başlangıç: Görüntü Anlama
Aşağıda, görüntü Soru-Cevap ve başlıklandırma için minimal bir Python örneği bulunmaktadır. Yer tutucuları kimlik bilgilerinizle değiştirin.
import base64
import requests
API_KEY = "{YOUR_API_KEY}"
MODEL = "gemini-2.5-flash-image" # veya sağlayıcının tam model adı
ENDPOINT = "(MODEL)
# Bir görüntüyü base64'e yükleyin
with open("./sample.jpg", "rb") as f:
image_b64 = base64.b64encode(f.read).decode("utf-8")
payload = {
"contents": [{
"role": "user",
"parts": [
{"text": "Bu görüntüyü tek bir cümleyle açıklayın, ardından üç önemli ayrıntıyı listeleyin."},
{
"inline_data": {
"mime_type": "image/jpeg",
"data": image_b64
}
}
]
}],
"generationConfig": {
"temperature": 0.4,
"maxOutputTokens": 300
}
}
resp = requests.post(f"{ENDPOINT}?key={API_KEY}", json=payload)
resp.raise_for_status
print(resp.json["candidates"][0]["content"]["parts"][0]["text"])
Güçlü yanıtlar için istem tarifi
- Sistem amacı: “Sen hassas bir görsel analistsin. Emin değilsen, emin olmadığını söyle.”
- Kullanıcı istemi: “Kısaca cevap verin. Görünür ipuçlarına atıfta bulunun. Görüntüde metin varsa, aynen yazın.”
- Yapı isteyin: “
caption, objects[], text_blocks[] ile JSON döndürün.”
{
"caption": "<tek cümlelik özet>",
"objects": [
{"label": "muz", "count": 2},
{"label": "kase", "count": 1}
],
"text_blocks": [
{"text": "NANO BANANA", "bbox": [x,y,w,h]}
]
}
Hızlı Başlangıç: Hafif Oluşturma/Düzenleme
Basit katmanlar veya varyasyonlar için, birçok sağlayıcı görüntüden görüntüye bir uç nokta sunar. Sözde kod:
payload = {
"contents": [{
"role": "user",
"parts": [
{"text": "Sağ üst köşeye ince bir 'Örnek' etiketi ekleyin."},
{"inline_data": {"mime_type": "image/png", "data": image_b64}}
]
}],
"generationConfig": {"temperature": 0.3, "maxOutputTokens": 0},
"tools": [{"imageEdit": {"strength": 0.25}}]
}
- Minimum düzenlemeler için
strength değerini düşük tutun.
- Her zaman yerleşimi ve stili belirtin: “sağ üst, 12 piksel, yarı saydam beyaz.”
- Uyumluluk için, hiçbir zaman filigranlı veya telif hakkıyla korunan görüntüleri yeniden oluşturmayı istemeyin.
Güvenilir Bir İşlem Hattı Oluşturma
1) Görevleri ve kabul kriterlerini tanımlayın
- Görüntü başlıklandırma: Görünür metinde WER < %10, başlık <= 20 kelime
- Görsel Soru-Cevap: temel gerçeklerde tam eşleşme; “emin değilim” geri dönüşüne izin verin
- Düzen çıkarma: fiyat, tarih, SKU gibi varlıklarda kesinlik/hatırlama
2) İstemleri yapılandırın
- Önce talimat, sonra görüntü
- Çıktı biçimi: Alan türleriyle JSON şeması
- Koruyucular: “Metin görünmüyorsa,
null döndürün”
3) Toplu işleme ve önbelleğe alma
- Mümkün olduğunda görüntü isteklerini toplu işleyin
- Kararlı sonuçları önbelleğe alın (örneğin, değişmeyen ürün fotoğrafları)
- Yinelenenleri kaldırmak için ETag'leri veya içerik karmalarını kullanın
4) Sistematik olarak değerlendirin
- Küçük bir altın küme oluşturun: temel doğruluk etiketlerine sahip 100–500 görüntü
- Metrikleri izleyin: doğruluk, halüsinasyon oranı, yanıt gecikmesi
- İstem sürümü başına bir regresyon paketi oluşturun
5) Üretim kontrolleri
- Belirli çıktılar için
maxOutputTokens değerini sıkıca ayarlayın
- Gerçeklere dayalı görevler için daha düşük
temperature (0,1–0,4) kullanın
- Kullanıcı ve kuruluş tarafından hızı sınırlayın; üssel geri çekilme ekleyin
- Girişleri/çıktıları günlüğe kaydedin (gizlilik için ham değil, görüntü karması)
Yaygın Kullanım Durumları ve Kalıpları
Görsel Ürün Arama
- Katalog görüntülerini alın,
objects, dominant_color, style değerlerini çıkarın
- Sorgu zamanında, gömme veya öznitelikleri karşılaştırın
- İstem kalıbı: “Bir alıcının karar vermesine yardımcı olacak en iyi 5 özelliği döndürün.”
Belge Lite OCR
- Modelden kısa, net metin bloklarını yazmasını isteyin
- Kısıtlamalar ekleyin: “Tam büyük/küçük harf ve noktalama işaretlerini döndürün; okunamıyorsa,
confidence: low olarak ayarlayın.”
Ekran Görüntüleri için UX Yardımcısı
- Giriş: uygulama ekran görüntüsü
- Çıktı: madde işaretleri olarak adımlar: “Metni nasıl ortalarım?” → model menü yolunu döndürür
Maliyet ve Gecikme İpuçları
- Önizlemeler ve yinelemeli UX için “Flash”ı tercih edin; son kontroller için daha büyük Gemini varyantlarına yükseltin
- Temel ayrıntıları kaybetmeden bant genişliğini azaltmak için maksimum bir kenara (örneğin, 1024 piksel) küçültün
- Görevleri zincirlerken gömmeleri veya ara özetleri yeniden kullanın
Güvenlik, Gizlilik ve Emniyet
- Günlüğe kaydetmeden önce PII'yi düzeltin; görüntü kimlikleri için içerik karması kullanın
- Boyut/tür izin listelerini zorlayın: jpeg, png; svg/exe'yi reddedin
- İstem korumaları ekleyin: “Özel kişileri tanımlaması istenirse reddedin”
Örnek: Uçtan Uca Başlıklandırma Mikro hizmeti
from fastapi import FastAPI, UploadFile, File
import base64, requests, os
app = FastAPI
API_KEY = os.getenv("API_KEY")
MODEL = "gemini-2.5-flash-image"
ENDPOINT = f"("/caption")
async def caption(file: UploadFile = File:
b = await file.read
b64 = base64.b64encode(b).decode("utf-8")
payload = {
"contents": [{
"role": "user",
"parts": [
{"text": "caption, objects[] alanlarıyla kısa JSON döndürün."},
{"inline_data": {"mime_type": file.content_type, "data": b64}}
]
}],
"generationConfig": {"temperature": 0.2, "maxOutputTokens": 200}
}
r = requests.post(f"{ENDPOINT}?key={API_KEY}", json=payload, timeout=30)
r.raise_for_status
return r.json
Sorun Giderme
- Bulanık çıktılar veya kaçırılan metin: Daha az küçültün; daha yüksek çözünürlüklü giriş isteyin; OCR'yi açıkça isteyin
- Tutarsız JSON:
strict_json son işlemci ekleyin veya çevrili JSON ```json blokları isteyin
- Halüsinasyon gören ayrıntılar: Sıcaklığı düşürün; “Emin değilseniz,
emin değilim yanıtını verin” talimatını verin
- Zaman aşımları: Mümkünse yanıtları yayınlayın; görüntü boyutunu küçültün; daha kısa istemler ayarlayın
Bu arada: Sider.AI ile prototip oluşturmayı hızlandırın
Çok sayıda istem varyantı oluşturuyorsanız veya Gemini 2.5 Flash Image için hızlı A/B testlerine ihtiyacınız varsa, Sider.AI daha hızlı yineleme yapmanıza yardımcı olabilir. İstem sürümlerini düzenleyebilir, görüntü kümenizde yan yana değerlendirmeler çalıştırabilir ve başlıklandırma, OCR veya görsel Soru-Cevap için istemleri ayarlarken kullanışlı olan tam bir arka uç bağlamadan gecikme ve doğruluk metriklerini yakalayabilirsiniz.
Temel Çıkarımlar
- Gemini 2.5 Flash Image, hızlı, düşük maliyetli, çok modlu görevler için harikadır
- Güvenilirlik için hassas istemler, JSON şemaları ve düşük sıcaklıklar kullanın
- Tekrarlanabilir bir değerlendirme kümesi oluşturun ve değişiklikleri regresyon testleriyle engelleyin
- Küçültme, önbelleğe alma ve toplu işleme ile gecikmeyi optimize edin
- Hızlı istem yinelemesi ve deneme için Sider.AI'yı düşünün
SSS
S1:Gemini 2.5 Flash Image (nano banana) nedir?
Hızlı, hafif, çok modlu bir modeldir ve görüntü anlama ve basit görüntü düzenlemeleri için optimize edilmiştir. “Nano banana” takma adı genellikle dahili bir etiketi veya örnek varyantı ifade eder.
S2:Görüntü başlıklandırma için Gemini 2.5 Flash Image'ı nasıl kullanırım?
Modele metin talimatı artı görüntüyü base64 olarak modelin generateContent uç noktasına gönderin. Yapılandırılmış JSON (başlık, nesneler, metin_blokları) isteyin ve tutarlılık için sıcaklığı düşük tutun.
S3:Gemini 2.5 Flash Image, OCR'yi veya görüntülerdeki metni işleyebilir mi?
Evet, kısa ve net metin için. Tam transkripsiyon gereksinimlerini belirtin ve bir güven alanı ekleyin. Ağır hizmet tipi OCR için, modelin yanında özel bir OCR aracı düşünün.
S4:Gemini 2.5 Flash Image ile gecikmeyi ve maliyeti nasıl en aza indiririm?
Görüntüleri makul bir maksimum kenara küçültün, istekleri toplu işleyin ve kararlı sonuçları önbelleğe alın. Çıktı boyutunu kontrol etmek için daha düşük sıcaklıklar kullanın ve maxOutputTokens'ı sınırlayın.
S5:Gemini 2.5 Flash Image ile geliştirme yaparken Sider.AI nasıl yardımcı olabilir?
Sider.AI, istem sürümü oluşturma ve değerlendirmeyi kolaylaştırır, böylece görüntü veri kümenizde istemleri A/B test edebilir, metrikleri izleyebilir ve güvenilir yapılandırmaları üretime daha hızlı geçirebilirsiniz.