Gemini 2.5 Flash Image (nano banana) के साथ कैसे बनाएं
यदि आपने नए Gemini 2.5 Flash Image (अक्सर विचित्र कोडनाम "nano banana" के तहत सामने आता है) के बारे में सुना है, तो आप शायद सोच रहे होंगे कि वास्तव में इसके साथ कैसे बनाया जाए—तेजी से। यह गाइड आपको सेटअप, प्रॉम्प्ट और प्रोडक्शन पैटर्न के बारे में बताता है ताकि आप इमेज+टेक्स्ट सुविधाओं को जल्दी और विश्वसनीय रूप से शिप कर सकें।
आपको क्या मिलेगा: Gemini 2.5 Flash Image मॉडल का उपयोग करने के लिए एक व्यावहारिक, एंड-टू-एंड वर्कफ़्लो, जिसमें प्रॉम्प्ट रेसिपी, मूल्यांकन युक्तियाँ और प्रोडक्शन हार्डनिंग शामिल हैं।
Gemini 2.5 Flash Image क्या है?
Gemini 2.5 Flash Image एक हल्का, तेज़ मल्टीमॉडल मॉडल है जिसे कम विलंबता के साथ इमेज समझने और जनरेशन कार्यों के लिए ट्यून किया गया है। व्यवहार में, यह इसके लिए आदर्श है:
- इमेज समझना: वर्गीकृत करना, कैप्शन देना, OCR-lite, लेआउट निकालना
- विज़ुअल Q&A: किसी इमेज में आधारित प्रश्नों के उत्तर देना
- हल्का इमेज जनरेशन या संपादन: सरल बदलाव, एनोटेशन, ओवरले
- एज-फ्रेंडली अनुभव: तेज़ प्रीव्यू, कम लागत वाला अनुमान, इंटरैक्टिव UX
"Flash" मोनिकर आम तौर पर अनुकूलित गति और लागत का तात्पर्य है। उपनाम "nano banana" आमतौर पर उदाहरणों या रिलीज़ नोट्स में उपयोग किए जाने वाले एक आंतरिक टैग या चेकपॉइंट संस्करण को संदर्भित करता है।
आवश्यक शर्तें
- Gemini 2.5 Flash Image तक पहुंच के साथ एक Google AI Studio या Vertex AI खाता
- API कुंजी या सेवा खाता क्रेडेंशियल
- रनटाइम: Node.js, Python, या सर्वरलेस प्लेटफ़ॉर्म (Cloud Functions/Run)
- प्रोडक्शन के लिए: लॉगिंग, रेट लिमिटिंग, प्रॉम्प्ट वर्जनिंग और मूल्यांकन हार्नेस
क्विक स्टार्ट: इमेज समझना
नीचे इमेज Q&A और कैप्शनिंग के लिए एक न्यूनतम Python उदाहरण दिया गया है। प्लेसहोल्डर को अपने क्रेडेंशियल्स से बदलें।
import base64
import requests
API_KEY = "{YOUR_API_KEY}"
MODEL = "gemini-2.5-flash-image" # या प्रदाता का सटीक मॉडल नाम
ENDPOINT = "{MODEL}
# एक इमेज को base64 में लोड करें
with open("./sample.jpg", "rb") as f:
image_b64 = base64.b64encode(f.read).decode("utf-8")
payload = {
"contents": [{
"role": "user",
"parts": [
{"text": "इस इमेज का वर्णन एक वाक्य में करें, फिर तीन मुख्य विवरणों की सूची बनाएं।"},
{
"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"])
मजबूत उत्तरों के लिए प्रॉम्प्ट रेसिपी
- सिस्टम इरादा: “आप एक सटीक दृश्य विश्लेषक हैं। यदि अनिश्चित हैं, तो कहें कि आप अनिश्चित हैं।”
- उपयोगकर्ता प्रॉम्प्ट: “संक्षेप में उत्तर दें। दृश्य संकेतों का हवाला दें। यदि इमेज में टेक्स्ट है, तो बिल्कुल ट्रांसक्राइब करें।”
- संरचना के लिए पूछें: “
कैप्शन, objects[], text_blocks[] के साथ JSON लौटाएं।”
{
"caption": "<एक-वाक्य सारांश>",
"objects": [
{"label": "banana", "count": 2},
{"label": "bowl", "count": 1}
],
"text_blocks": [
{"text": "NANO BANANA", "bbox": [x,y,w,h]}
]
}
क्विक स्टार्ट: हल्का जनरेशन/संपादन
सरल ओवरले या बदलावों के लिए, कई प्रदाता इमेज-टू-इमेज एंडपॉइंट को उजागर करते हैं। स्यूडोकोड:
payload = {
"contents": [{
"role": "user",
"parts": [
{"text": "ऊपरी-दाएं कोने में एक सूक्ष्म लेबल 'Sample' जोड़ें।"},
{"inline_data": {"mime_type": "image/png", "data": image_b64}}
]
}],
"generationConfig": {"temperature": 0.3, "maxOutputTokens": 0},
"tools": [{"imageEdit": {"strength": 0.25}}]
}
- न्यूनतम संपादन के लिए
strength को कम रखें।
- हमेशा प्लेसमेंट और स्टाइल निर्दिष्ट करें: “ऊपरी-दाएं, 12px, अर्ध-पारदर्शी सफेद।”
- अनुपालन के लिए, कभी भी वॉटरमार्क या कॉपीराइट छवियों को फिर से बनाने के लिए न कहें।
एक विश्वसनीय पाइपलाइन का निर्माण
1) कार्यों और स्वीकृति मानदंडों को परिभाषित करें
- इमेज कैप्शनिंग: दृश्यमान टेक्स्ट पर WER < 10%, कैप्शन <= 20 शब्द
- विज़ुअल Q&A: प्रमुख तथ्यों पर सटीक-मिलान; "अनिश्चित" फ़ॉलबैक की अनुमति दें
- लेआउट निष्कर्षण: मूल्य, तिथि, SKU जैसी संस्थाओं पर परिशुद्धता/स्मरण
2) प्रॉम्प्ट को संरचित करें
- आउटपुट प्रारूप: फ़ील्ड प्रकारों के साथ JSON स्कीमा
- गार्डरेल: “यदि टेक्स्ट दिखाई नहीं दे रहा है, तो
null लौटाएं”
3) बैच और कैश
- जब संभव हो तो इमेज अनुरोधों को बैच करें
- स्थिर परिणामों को कैश करें (उदाहरण के लिए, गैर-परिवर्तनशील उत्पाद फ़ोटो)
- डुप्लिकेट को हटाने के लिए ETags या सामग्री हैश का उपयोग करें
4) व्यवस्थित रूप से मूल्यांकन करें
- एक छोटा गोल्ड सेट बनाएं: ग्राउंड-ट्रूथ लेबल के साथ 100-500 इमेज
- मेट्रिक्स ट्रैक करें: सटीकता, मतिभ्रम दर, प्रतिक्रिया विलंबता
- प्रति प्रॉम्प्ट संस्करण एक प्रतिगमन सूट बनाएं
5) प्रोडक्शन नियंत्रण
- निर्धारित आउटपुट के लिए
maxOutputTokens को कसकर सेट करें
- तथ्यात्मक कार्यों के लिए कम
temperature (0.1-0.4) का उपयोग करें
- उपयोगकर्ता और संगठन द्वारा दर-सीमा; घातीय बैकऑफ़ जोड़ें
- इनपुट/आउटपुट लॉग करें (गोपनीयता के लिए कच्चे नहीं, इमेज को हैश करें)
सामान्य उपयोग के मामले और पैटर्न
विज़ुअल उत्पाद खोज
- कैटलॉग इमेज को इंगित करें,
objects, dominant_color, style निकालें
- क्वेरी समय पर, एम्बेडिंग या विशेषताओं की तुलना करें
- प्रॉम्प्ट पैटर्न: “शीर्ष 5 विशेषताएँ लौटाएँ जो एक दुकानदार को निर्णय लेने में मदद करेंगी।”
दस्तावेज़ लाइट OCR
- मॉडल को छोटे, स्पष्ट टेक्स्ट ब्लॉक को ट्रांसक्राइब करने के लिए कहें
- बाधाएँ जोड़ें: “सटीक केस और विराम चिह्न लौटाएँ; यदि अपठनीय है, तो
confidence: low सेट करें।”
स्क्रीनशॉट के लिए UX कोपायलट
- आउटपुट: बुलेट पॉइंट के रूप में चरण: “मैं टेक्स्ट को कैसे केंद्रित करूँ?” → मॉडल मेनू पथ लौटाता है
लागत और विलंबता युक्तियाँ
- प्रीव्यू और पुनरावृत्त UX के लिए “Flash” को प्राथमिकता दें; अंतिम जाँच के लिए बड़े Gemini वेरिएंट तक बढ़ाएँ
- प्रमुख विवरणों को खोए बिना बैंडविड्थ को कम करने के लिए अधिकतम किनारे (उदाहरण के लिए, 1024px) तक डाउनस्केल करें
- कार्यों को श्रृंखलाबद्ध करते समय एम्बेडिंग या मध्यवर्ती सारांश का पुन: उपयोग करें
सुरक्षा, गोपनीयता और सुरक्षा
- लॉगिंग से पहले PII को संपादित करें; इमेज आईडी के लिए सामग्री हैशिंग का उपयोग करें
- आकार/प्रकार की अनुमति सूची लागू करें: jpeg, png; svg/exe को अस्वीकार करें
- प्रॉम्प्ट सुरक्षा उपाय जोड़ें: “यदि निजी व्यक्तियों की पहचान करने के लिए कहा जाए तो मना कर दें”
उदाहरण: एंड-टू-एंड कैप्शनिंग माइक्रोसर्विस
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": "फ़ील्ड के साथ संक्षिप्त JSON लौटाएँ: कैप्शन, ऑब्जेक्ट[]."},
{"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
समस्या निवारण
- धुंधले आउटपुट या छूटा हुआ टेक्स्ट: कम डाउनस्केल करें; उच्च-रिज़ॉल्यूशन इनपुट का अनुरोध करें; OCR के लिए स्पष्ट रूप से पूछें
- असंगत JSON:
strict_json पोस्ट-प्रोसेसर जोड़ें, या बाड़ वाले JSON ```json ब्लॉक के लिए पूछें
- मतिभ्रमित विवरण: तापमान कम करें; निर्देश दें “यदि अनिश्चित हैं, तो
अनिश्चित उत्तर दें”
- टाइम-आउट: यदि उपलब्ध हो तो प्रतिक्रियाएँ स्ट्रीम करें; इमेज का आकार कम करें; छोटे प्रॉम्प्ट सेट करें
वैसे: Sider.AI के साथ प्रोटोटाइप बनाना तेज़ करें
यदि आप बहुत सारे प्रॉम्प्ट वेरिएंट बना रहे हैं या Gemini 2.5 Flash Image के लिए त्वरित A/B परीक्षणों की आवश्यकता है, तो Sider.AI आपको तेज़ी से पुनरावृति करने में मदद कर सकता है। आप प्रॉम्प्ट संस्करणों को व्यवस्थित कर सकते हैं, अपने इमेज सेट पर साइड-बाय-साइड मूल्यांकन चला सकते हैं, और कैप्शनिंग, OCR या विज़ुअल Q&A के लिए प्रॉम्प्ट को ट्यून करते समय एक पूर्ण बैकएंड को वायर्ड किए बिना विलंबता और सटीकता मेट्रिक्स को कैप्चर कर सकते हैं—उपयोगी।
मुख्य बातें
- Gemini 2.5 Flash Image तेज़, कम लागत वाले मल्टीमॉडल कार्यों के लिए बहुत अच्छा है
- विश्वसनीयता के लिए सटीक प्रॉम्प्ट, JSON स्कीमा और कम तापमान का उपयोग करें
- एक दोहराने योग्य मूल्यांकन सेट बनाएं और प्रतिगमन परीक्षणों के साथ परिवर्तनों को गेट करें
- डाउनस्केलिंग, कैशिंग और बैचिंग के साथ विलंबता को अनुकूलित करें
- तेज़ प्रॉम्प्ट पुनरावृति और प्रयोग के लिए Sider.AI पर विचार करें
FAQ
Q1:Gemini 2.5 Flash Image (nano banana) क्या है?
यह एक तेज़, हल्का मल्टीमॉडल मॉडल है जो इमेज समझने और सरल इमेज संपादन के लिए अनुकूलित है। “Nano banana” उपनाम अक्सर एक आंतरिक टैग या उदाहरण संस्करण को संदर्भित करता है।
Q2:मैं इमेज कैप्शनिंग के लिए Gemini 2.5 Flash Image का उपयोग कैसे करूँ?
मॉडल के generateContent एंडपॉइंट पर base64 के रूप में एक टेक्स्ट निर्देश और इमेज भेजें। संरचित JSON (कैप्शन, ऑब्जेक्ट, टेक्स्ट_ब्लॉक) के लिए पूछें और स्थिरता के लिए तापमान कम रखें।
Q3:क्या Gemini 2.5 Flash Image इमेज में OCR या टेक्स्ट को संभाल सकता है?
हाँ, छोटे और स्पष्ट टेक्स्ट के लिए। सटीक ट्रांसक्रिप्शन आवश्यकताओं को निर्दिष्ट करें और एक आत्मविश्वास फ़ील्ड शामिल करें। भारी-भरकम OCR के लिए, मॉडल के साथ एक समर्पित OCR टूल पर विचार करें।
Q4:मैं Gemini 2.5 Flash Image के साथ विलंबता और लागत को कैसे कम करूँ?
इमेज को एक उचित अधिकतम किनारे तक डाउनस्केल करें, अनुरोधों को बैच करें और स्थिर परिणामों को कैश करें। आउटपुट आकार को नियंत्रित करने के लिए कम तापमान का उपयोग करें और maxOutputTokens को सीमित करें।
Q5:Gemini 2.5 Flash Image के साथ निर्माण करते समय Sider.AI कैसे मदद कर सकता है?
Sider.AI प्रॉम्प्ट वर्जनिंग और मूल्यांकन को सुव्यवस्थित करता है ताकि आप अपने इमेज डेटासेट पर प्रॉम्प्ट का A/B परीक्षण कर सकें, मेट्रिक्स को ट्रैक कर सकें और विश्वसनीय कॉन्फ़िगरेशन को तेज़ी से प्रोडक्शन में बढ़ावा दे सकें।