प्रॉडक्ट से जुड़ी खबरें

एआई की मदद से इमेज जनरेट करने की सुविधा का इस्तेमाल करके, उपयोगकर्ताओं की दिलचस्पी बढ़ाना

पांच मिनट में पढ़ें
Thomas Ezan & Mozart Louis

अपने ऐप्लिकेशन में पसंद के मुताबिक इमेज जोड़ने से, उपयोगकर्ता अनुभव को बेहतर बनाया जा सकता है. साथ ही, इससे उपयोगकर्ताओं की दिलचस्पी भी बढ़ाई जा सकती है. इस पोस्ट में, Firebase AI Logic की मदद से इमेज जनरेट करने की दो नई सुविधाओं के बारे में बताया गया है: Imagen की एडिटिंग से जुड़ी खास सुविधाएं, जो फ़िलहाल प्रीव्यू में हैं. साथ ही, Gemini 2.5 Flash Image (इसे "Nano Banana" भी कहा जाता है) की सामान्य उपलब्धता. इसे कॉन्टेक्स्ट के हिसाब से या बातचीत के लिए इमेज जनरेट करने के लिए डिज़ाइन किया गया है. 

Firebase AI Logic की मदद से जनरेट की गई इमेज का इस्तेमाल करके, उपयोगकर्ताओं का जुड़ाव बढ़ाना

इमेज जनरेट करने वाले मॉडल का इस्तेमाल, कस्टम यूज़र प्रोफ़ाइल अवतार बनाने के लिए किया जा सकता है. इसके अलावा, इनका इस्तेमाल मनमुताबिक़ विज़ुअल ऐसेट को सीधे तौर पर मुख्य स्क्रीन फ़्लो में इंटिग्रेट करने के लिए भी किया जा सकता है.  

उदाहरण के लिए, Imagen में बदलाव करने की नई सुविधाएं उपलब्ध हैं. हालांकि, ये सुविधाएं डेवलपर प्रीव्यू में उपलब्ध हैं. अब मास्क बनाया जा सकता है. साथ ही, मास्क किए गए हिस्से में पिक्सल जनरेट करने के लिए, इनपेंटिंग की सुविधा का इस्तेमाल किया जा सकता है. इसके अलावा, मास्क के बाहर पिक्सल जनरेट करने के लिए आउटपेंटिंग की सुविधा उपलब्ध है.   

Imagen inpainting.png

Imagen में इनपेंटिंग की सुविधा उपलब्ध है. इसकी मदद से, इमेज का सिर्फ़ एक हिस्सा जनरेट किया जा सकता है. 

इसके अलावा, Gemini 2.5 Flash Image (इसे Nano Banana भी कहा जाता है) के पास दुनिया भर की ज़्यादा जानकारी होती है. साथ ही, इसमें Gemini मॉडल की तरह गहराई से विश्लेषण करने की क्षमता होती है. इसलिए, यह कॉन्टेक्स्ट के हिसाब से इमेज जनरेट कर सकता है. यह सुविधा, डाइनैमिक इलस्ट्रेशन बनाने के लिए सबसे सही है. इससे उपयोगकर्ता को ऐप्लिकेशन इस्तेमाल करने का अनुभव बेहतर मिलता है.   

 

In-context nano banana illustration.png

Gemini 2.5 Flash Image का इस्तेमाल करके, अपने ऐप्लिकेशन के हिसाब से डाइनैमिक इलस्ट्रेशन बनाएँ. 

आखिर में, बातचीत के दौरान और बार-बार इमेज में बदलाव करने की सुविधा की मदद से, उपयोगकर्ता आम बोलचाल की भाषा का इस्तेमाल करके फ़ोटो में बदलाव कर सकते हैं.

 

photo edit natural language.png

नैचुरल लैंग्वेज का इस्तेमाल करके, किसी इमेज में बदलाव करने के लिए Gemini 2.5 Flash Image का इस्तेमाल करें.

अपने ऐप्लिकेशन में एआई को इंटिग्रेट करने से पहले, एआई की सुरक्षा के बारे में जानना ज़रूरी है. अपने ऐप्लिकेशन के सुरक्षा जोखिमों का आकलन करना, सुरक्षा जोखिमों को कम करने के लिए ज़रूरी बदलाव करना, इस्तेमाल के उदाहरण के हिसाब से सुरक्षा जांच करना, उपयोगकर्ताओं से सुझाव/राय पाना, और कॉन्टेंट की निगरानी करना ज़रूरी है.

Imagen या Gemini: फ़ैसला आपका है 

Gemini 2.5 Flash Image ("Nano Banana") और Imagen के बीच का अंतर, इनके मुख्य फ़ोकस और ऐडवांस सुविधाओं में है. Gemini 2.5 Flash Image, Gemini के बड़े परिवार का हिस्सा है. यह इमेज में बदलाव करने के लिए बातचीत करने, कई इटरेशन में कॉन्टेक्स्ट और सब्जेक्ट की कंसिस्टेंसी बनाए रखने, और "दुनिया के बारे में जानकारी और तर्क" का इस्तेमाल करके, कॉन्टेक्स्ट के हिसाब से काम के विज़ुअल बनाने या लंबे टेक्स्ट सीक्वेंस में सटीक विज़ुअल एम्बेड करने में माहिर है. 

Imagen, Google का इमेज जनरेट करने वाला एक खास मॉडल है. इसे क्रिएटिविटी को बेहतर तरीके से कंट्रोल करने के लिए डिज़ाइन किया गया है. यह फ़ोटो जैसी दिखने वाली इमेज, कलात्मक जानकारी, और खास स्टाइल जनरेट करने में माहिर है. साथ ही, यह जनरेट की गई इमेज के आसपेक्ट रेशियो या फ़ॉर्मैट को तय करने के लिए, साफ़ तौर पर कंट्रोल उपलब्ध कराता है.

Gemini 2.5 Flash की मदद से जनरेट की गई इमेज 
(Nano Banana 🍌)
Imagen

🌎 हर विषय के बारे में जानकारी और तर्क देने की क्षमता, ताकि संदर्भ के हिसाब से ज़्यादा काम की इमेज मिल सकें
  

💬 बातचीत के दौरान इमेज में बदलाव करना और कॉन्टेक्स्ट बनाए रखना
  

📖 लंबे टेक्स्ट सीक्वेंस में सटीक विज़ुअल एम्बेड करना

📐 जनरेट की गई इमेज का आसपेक्ट रेशियो या फ़ॉर्मैट तय करना

 

🖌️मास्क के आधार पर बदलाव करने की सुविधा, पेंटिंग के अंदर और बाहर के हिस्से में बदलाव करने के लिए उपलब्ध है. 

 

🎚️ जनरेट की गई इमेज की बारीकियों पर ज़्यादा कंट्रोल (क्वालिटी, कलात्मक बारीकियां, और खास स्टाइल)

आइए, देखते हैं कि इन्हें अपने ऐप्लिकेशन में कैसे इस्तेमाल किया जाता है.
 

Imagen की मदद से इमेज में मौजूद अवांछित हिस्सों को हटाना 

हमने कुछ महीने पहले, Imagen के लिए बदलाव करने की नई सुविधाएं रिलीज़ की थीं. इमेज जनरेट करने के लिए, Imagen अब प्रोडक्शन के लिए तैयार है. हालांकि, इमेज में बदलाव करने की सुविधाएं अब भी डेवलपर प्रीव्यू में हैं.

Imagen में, फ़ोटो में बदलाव करने की ये सुविधाएं शामिल हैं: इनपेंटिंग और आउटपेंटिंग, मास्क पर आधारित फ़ोटो में बदलाव करने की सुविधाएं. इस नई सुविधा की मदद से, उपयोगकर्ता पूरी इमेज को फिर से जनरेट किए बिना, उसके कुछ हिस्सों में बदलाव कर सकते हैं. इसका मतलब है कि इमेज के सबसे अच्छे हिस्सों को सुरक्षित रखा जा सकता है और सिर्फ़ उन हिस्सों में बदलाव किया जा सकता है जिन्हें आपको बदलना है.

Imagen inpainting dog.png

किसी इमेज में सटीक बदलाव करने के लिए, Imagen की फ़ोटो में बदलाव करने की सुविधाओं का इस्तेमाल करना. इससे इमेज के बाकी हिस्सों में कोई बदलाव नहीं होता

ये बदलाव, ओरिजनल इमेज के मुख्य एलिमेंट और पूरी इमेज को बनाए रखते हुए किए जाते हैं. साथ ही, सिर्फ़ मास्क वाली जगह में बदलाव किया जाता है.

Imagen की मदद से इमेज के कुछ हिस्से को बदलने की सुविधा इस्तेमाल करने के लिए, सबसे पहले imagen-3.0-capability-001 फ़ोटो में बदलाव करने की सुविधाएं देने वाले किसी Imagen मॉडल को शुरू करें:

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val editingModel =
        Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
            "imagen-3.0-capability-001",
            generationConfig = ImagenGenerationConfig(
                numberOfImages = 1,
                aspectRatio = ImagenAspectRatio.SQUARE_1x1,
                imageFormat = ImagenImageFormat.jpeg(compressionQuality = 75),
            ),
        )

इसके बाद, इमेज के कुछ हिस्से को हटाने और उसे फिर से भरने वाले फ़ंक्शन को तय करें:

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

val prompt = "remove the pancakes and make it an omelet instead"

suspend fun inpaintImageWithMask(sourceImage: Bitmap, maskImage: Bitmap, prompt: String, editSteps: Int = 50): Bitmap {
        val imageResponse = editingModel.editImage(
            referenceImages = listOf(
                ImagenRawImage(sourceImage.toImagenInlineImage()),
                ImagenRawMask(maskImage.toImagenInlineImage()),
            ),
            prompt = prompt,
            config = ImagenEditingConfig(
                editMode = ImagenEditMode.INPAINT_INSERTION,
                editSteps = editSteps,
            ),
        )
        return imageResponse.images.first().asBitmap()
    }

आपको sourceImage, maskImage, और प्रॉम्प्ट, तीनों देने होंगे. साथ ही, यह भी बताना होगा कि इमेज में बदलाव करने के लिए कितने चरण पूरे करने हैं.

Android के एआई सैंपल कैटलॉग में मौजूद Imagen Editing Sample में जाकर, इसे ऐक्शन में देखा जा सकता है!

Imagen में आउटपेंटिंग की सुविधा भी उपलब्ध है. इसकी मदद से, मॉडल को मास्क के बाहर पिक्सल जनरेट करने की अनुमति दी जा सकती है. इमेज को अपनी पसंद के मुताबिक बनाने के लिए, Imagen की सुविधाओं का इस्तेमाल किया जा सकता है. जैसे, किसी फ़ोटो की स्टाइल बदलना या फ़ोटो में किसी विषय को अपडेट करना. इसके बारे में ज़्यादा जानने के लिए, Android डेवलपर के लिए उपलब्ध दस्तावेज़ पढ़ें.

Gemini 2.5 Flash Image की मदद से, बातचीत के आधार पर इमेज जनरेट करने की सुविधा

Gemini 2.5 Flash Image की मदद से इमेज में बदलाव करने का एक तरीका यह है कि मॉडल की मल्टी-टर्न चैट की सुविधाओं का इस्तेमाल किया जाए.

सबसे पहले, मॉडल को शुरू करें:

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
    modelName = "gemini-2.5-flash-image",
    // Configure the model to respond with text and images (required)
    generationConfig = generationConfig {
        responseModalities = listOf(ResponseModality.TEXT,
        ResponseModality.IMAGE)
    }
)

ऊपर बताए गए मास्क-आधारित Imagen तरीके से मिलता-जुलता नतीजा पाने के लिए, हम chat एपीआई का इस्तेमाल करके Gemini 2.5 Flash Image के साथ बातचीत शुरू कर सकते हैं.

// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

// Initialize the chat
val chat = model.startChat()


// Load a bitmap
val source = ImageDecoder.createSource(context.contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source)


// Create the initial prompt instructing the model to edit the image
val prompt = content {
    image(bitmap)
    text("remove the pancakes and add an omelet")
}

// To generate an initial response, send a user message with the image and text prompt
var response = chat.sendMessage(prompt)

// Inspect the returned image
var generatedImageAsBitmap = response
    .candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image

// Follow up requests do not need to specify the image again
response = chat.sendMessage("Now, center the omelet in the pan")
generatedImageAsBitmap = response
    .candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image

Android के एआई सैंपल कैटलॉग में मौजूद Gemini की इमेज चैट के सैंपल में जाकर, इसे इस्तेमाल करके देखें. इसके बारे में ज़्यादा जानने के लिए, Android का दस्तावेज़ पढ़ें.

निष्कर्ष

Imagen और Gemini 2.5 Flash Image, दोनों ही बेहतरीन सुविधाएँ उपलब्ध कराते हैं. इनकी मदद से, इमेज जनरेट करने के लिए सबसे सही मॉडल चुना जा सकता है. इससे, अपने ऐप्लिकेशन को मनमुताबिक़ बनाया जा सकता है और उपयोगकर्ता की दिलचस्पी बढ़ाई जा सकती है. हालाँकि, यह सब आपके इस्तेमाल के तरीके पर निर्भर करता है.

लेखक:

पढ़ना जारी रखें