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

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

पांच मिनट में पढ़ें

अपने ऐप्लिकेशन में कस्टम इमेज जोड़ने से, उपयोगकर्ता अनुभव को बेहतर बनाया जा सकता है. साथ ही, उपयोगकर्ता की दिलचस्पी भी बढ़ाई जा सकती है. इस पोस्ट में, 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 Images 
(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()
    }

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

इसे, Android AI सैंपल कैटलॉग में मौजूद, Imagen की एडिटिंग के सैंपल में देखा जा सकता है!

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 के तरीके जैसा नतीजा पाने के लिए, हम Gemini 2.5 Flash Image के साथ बातचीत शुरू करने के लिए, chat एपीआई का इस्तेमाल कर सकते हैं.

// 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 AI सैंपल कैटलॉग में मौजूद, Gemini की इमेज चैट के सैंपल में देखा जा सकता है. इसके बारे में ज़्यादा जानने के लिए, Android के दस्तावेज़ पढ़ें.

निष्कर्ष

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

लेखक:

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