Cara Membuat dengan Gemini 2.5 Flash Image (nano banana)
Jika Anda pernah mendengar tentang Gemini 2.5 Flash Image yang baru (sering muncul dengan nama kode unik "nano banana"), Anda mungkin bertanya-tanya bagaimana cara membuatnya dengan cepat. Panduan ini memandu Anda melalui pengaturan, perintah, dan pola produksi sehingga Anda dapat mengirimkan fitur gambar+teks dengan cepat dan andal.
Apa yang akan Anda dapatkan: alur kerja praktis dan menyeluruh untuk menggunakan model Gemini 2.5 Flash Image, termasuk resep perintah, tips evaluasi, dan penguatan produksi.
Apa itu Gemini 2.5 Flash Image?
Gemini 2.5 Flash Image adalah model multimodal ringan dan cepat yang disetel untuk tugas pemahaman dan pembuatan gambar dengan latensi rendah. Dalam praktiknya, ini ideal untuk:
- Pemahaman gambar: klasifikasi, pemberian keterangan, OCR-lite, ekstraksi tata letak
- Tanya Jawab Visual: menjawab pertanyaan berdasarkan gambar
- Pembuatan atau pengeditan gambar ringan: variasi sederhana, anotasi, overlay
- Pengalaman yang ramah Edge: pratinjau cepat, inferensi berbiaya rendah, UX interaktif
Julukan "Flash" umumnya menyiratkan kecepatan dan biaya yang dioptimalkan. Nama panggilan "nano banana" biasanya mengacu pada tag internal atau varian pos pemeriksaan yang digunakan dalam contoh atau catatan rilis.
Prasyarat
- Akun Google AI Studio atau Vertex AI dengan akses ke Gemini 2.5 Flash Image
- Kunci API atau kredensial akun layanan
- Runtime: Node.js, Python, atau platform tanpa server (Cloud Functions/Run)
- Untuk produksi: pencatatan, pembatasan laju, pembuatan versi prompt, dan alat evaluasi
Mulai Cepat: Pemahaman Gambar
Di bawah ini adalah contoh Python minimal untuk Tanya Jawab gambar dan pemberian keterangan. Ganti placeholder dengan kredensial Anda.
import base64
import requests
API_KEY = "<YOUR_API_KEY>"
MODEL = "gemini-2.5-flash-image" # or the provider’s exact model name
ENDPOINT = "(MODEL)
# Load an image into base64
with open("./sample.jpg", "rb") as f:
image_b64 = base64.b64encode(f.read).decode("utf-8")
payload = {
"contents": [{
"role": "user",
"parts": [
{"text": "Describe this image in one sentence, then list three key details."},
{
"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"])
Resep prompt untuk jawaban yang kuat
- Niat sistem: “Anda adalah analis visual yang tepat. Jika tidak yakin, katakan Anda tidak yakin.”
- Prompt pengguna: “Jawab dengan ringkas. Sebutkan petunjuk visual. Jika ada teks dalam gambar, transkripsikan dengan tepat.”
- Minta struktur: “Kembalikan JSON dengan
caption, objects[], text_blocks[].”
{
"caption": "<one-sentence summary>",
"objects": [
{"label": "banana", "count": 2},
{"label": "bowl", "count": 1}
],
"text_blocks": [
{"text": "NANO BANANA", "bbox": [x,y,w,h]}
]
}
Mulai Cepat: Pembuatan/Pengeditan Ringan
Untuk overlay atau variasi sederhana, banyak penyedia mengekspos endpoint gambar-ke-gambar. Pseudocode:
payload = {
"contents": [{
"role": "user",
"parts": [
{"text": "Add a subtle label 'Sample' in the top-right corner."},
{"inline_data": {"mime_type": "image/png", "data": image_b64}}
]
}],
"generationConfig": {"temperature": 0.3, "maxOutputTokens": 0},
"tools": [{"imageEdit": {"strength": 0.25}}]
}
- Jaga
strength tetap rendah untuk pengeditan minimal.
- Selalu tentukan penempatan dan gaya: “kanan atas, 12px, putih semi-transparan.”
- Untuk kepatuhan, jangan pernah meminta untuk membuat ulang gambar yang diberi watermark atau hak cipta.
Membangun Pipeline yang Andal
1) Tentukan tugas dan kriteria penerimaan
- Pemberian keterangan gambar: WER pada teks yang terlihat < 10%, keterangan <= 20 kata
- Tanya Jawab Visual: kecocokan persis pada fakta-fakta kunci; izinkan fallback “tidak yakin”
- Ekstraksi tata letak: presisi/recall pada entitas seperti harga, tanggal, SKU
2) Struktur prompt
- Instruksi terlebih dahulu, lalu gambar
- Format keluaran: Skema JSON dengan tipe bidang
- Pembatas: “Jika teks tidak terlihat, kembalikan
null”
3) Batch dan cache
- Batch permintaan gambar bila memungkinkan
- Cache hasil yang stabil (misalnya, foto produk yang tidak berubah)
- Gunakan ETag atau hash konten untuk menghapus duplikat
4) Evaluasi secara sistematis
- Bangun set emas kecil: 100–500 gambar dengan label ground-truth
- Lacak metrik: akurasi, tingkat halusinasi, latensi respons
- Buat suite regresi per versi prompt
5) Kontrol produksi
- Tetapkan
maxOutputTokens secara ketat untuk keluaran deterministik
- Gunakan
temperature yang lebih rendah (0,1–0,4) untuk tugas faktual
- Batasi laju berdasarkan pengguna dan organisasi; tambahkan backoff eksponensial
- Catat input/output (hash gambar, bukan mentah untuk privasi)
Kasus Penggunaan dan Pola Umum
Pencarian Produk Visual
- Masukkan gambar katalog, ekstrak
objects, dominant_color, style
- Pada waktu kueri, bandingkan embedding atau atribut
- Pola prompt: “Kembalikan 5 atribut teratas yang akan membantu pembeli memutuskan.”
OCR Ringan Dokumen
- Minta model untuk mentranskripsikan blok teks pendek dan jelas
- Tambahkan batasan: “Kembalikan huruf besar dan tanda baca yang tepat; jika tidak terbaca, set
confidence: low.”
Copilot UX untuk Tangkapan Layar
- Input: tangkapan layar aplikasi
- Output: langkah-langkah sebagai poin-poin: “Bagaimana cara memusatkan teks?” → model mengembalikan jalur menu
Tips Biaya dan Latensi
- Pilih “Flash” untuk pratinjau dan UX iteratif; tingkatkan ke varian Gemini yang lebih besar untuk pemeriksaan akhir
- Turunkan skala ke tepi maksimum (misalnya, 1024px) untuk memotong bandwidth tanpa kehilangan detail penting
- Gunakan kembali embedding atau ringkasan perantara saat merangkai tugas
Keamanan, Privasi, dan Keselamatan
- Redaksi PII sebelum mencatat; gunakan hashing konten untuk ID gambar
- Terapkan daftar izin ukuran/tipe: jpeg, png; tolak svg/exe
- Tambahkan perlindungan prompt: “Tolak jika diminta untuk mengidentifikasi individu pribadi”
Contoh: Microservice Pemberian Keterangan End-to-End
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": "Return concise JSON with fields: caption, objects[]."},
{"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
Pemecahan Masalah
- Output buram atau teks yang terlewat: Turunkan skala lebih sedikit; minta input resolusi lebih tinggi; minta OCR secara eksplisit
- JSON tidak konsisten: Tambahkan post-processor
strict_json, atau minta blok JSON berpagar ```json
- Detail yang dihalusinasi: Turunkan suhu; instruksikan “Jika tidak yakin, respons
unsure”
- Time-out: Streaming respons jika tersedia; kurangi ukuran gambar; set prompt yang lebih pendek
Ngomong-ngomong: Percepat pembuatan prototipe dengan Sider.AI
Jika Anda membuat banyak varian prompt atau memerlukan uji A/B cepat untuk Gemini 2.5 Flash Image, Sider.AI dapat membantu Anda melakukan iterasi lebih cepat. Anda dapat mengatur versi prompt, menjalankan evaluasi berdampingan pada set gambar Anda, dan menangkap metrik latensi dan akurasi tanpa memasang backend lengkap—berguna saat Anda menyetel prompt untuk pemberian keterangan, OCR, atau Tanya Jawab visual.
Poin-Poin Penting
- Gemini 2.5 Flash Image sangat bagus untuk tugas multimodal yang cepat dan berbiaya rendah
- Gunakan prompt yang tepat, skema JSON, dan suhu rendah untuk keandalan
- Bangun set evaluasi yang dapat diulang dan gerbang perubahan dengan uji regresi
- Optimalkan latensi dengan penurunan skala, caching, dan batching
- Pertimbangkan Sider.AI untuk iterasi dan eksperimen prompt yang cepat
FAQ
Q1: Apa itu Gemini 2.5 Flash Image (nano banana)?
Ini adalah model multimodal cepat dan ringan yang dioptimalkan untuk pemahaman gambar dan pengeditan gambar sederhana. Nama panggilan “nano banana” sering mengacu pada tag internal atau varian contoh.
Q2: Bagaimana cara menggunakan Gemini 2.5 Flash Image untuk pemberian keterangan gambar?
Kirim instruksi teks ditambah gambar sebagai base64 ke endpoint generateContent model. Minta JSON terstruktur (caption, objects, text_blocks) dan jaga suhu tetap rendah untuk konsistensi.
Q3: Dapatkah Gemini 2.5 Flash Image menangani OCR atau teks dalam gambar?
Ya, untuk teks pendek dan jelas. Tentukan persyaratan transkripsi yang tepat dan sertakan bidang kepercayaan. Untuk OCR tugas berat, pertimbangkan alat OCR khusus di samping model.
Q4: Bagaimana cara meminimalkan latensi dan biaya dengan Gemini 2.5 Flash Image?
Turunkan skala gambar ke tepi maksimum yang wajar, batch permintaan, dan cache hasil yang stabil. Gunakan suhu yang lebih rendah dan batasi maxOutputTokens untuk mengontrol ukuran output.
Q5: Bagaimana Sider.AI dapat membantu saat membuat dengan Gemini 2.5 Flash Image?
Sider.AI menyederhanakan pembuatan versi dan evaluasi prompt sehingga Anda dapat menguji A/B prompt pada dataset gambar Anda, melacak metrik, dan mempromosikan konfigurasi yang andal ke produksi lebih cepat.