Imagen की आउटपेंटिंग सुविधा का इस्तेमाल करके, किसी इमेज के कॉन्टेंट को बड़ा करना


इस पेज पर, Firebase AI Logic SDK टूल का इस्तेमाल करके, Imagen की मदद से आउटपेंटिंग का इस्तेमाल करने का तरीका बताया गया है. इससे किसी इमेज के कॉन्टेंट को उसके ओरिजनल बॉर्डर से आगे बढ़ाया जा सकता है.

आउटपेंटिंग, मास्क-आधारित एडिटिंग का एक टाइप है. मास्क एक डिजिटल ओवरले होता है. यह उस खास हिस्से को तय करता है जिसमें आपको बदलाव करना है.

यह कैसे काम करता है: आपको एक ओरिजनल इमेज और उससे जुड़ी एक मास्क की गई इमेज देनी होती है. यह इमेज, अपने-आप जनरेट हुई हो सकती है या आपने दी हो सकती है. इसमें नई और बड़ी की गई इमेज के मास्क के बारे में बताया जाता है. आपके पास यह बताने के लिए टेक्स्ट प्रॉम्प्ट देने का विकल्प भी है कि आपको बढ़ाए गए हिस्से में क्या चाहिए. इसके अलावा, मॉडल यह भी तय कर सकता है कि मौजूदा सीन को लॉजिक के हिसाब से आगे बढ़ाने के लिए क्या सही होगा. मॉडल, नया कॉन्टेंट जनरेट करता है और मास्क की गई जगह में उसे भरता है.

उदाहरण के लिए, किसी इमेज का आसपेक्ट रेशियो बदला जा सकता है या बैकग्राउंड के बारे में ज़्यादा जानकारी जोड़ी जा सकती है.

कोड पर जाएं

शुरू करने से पहले

यह सुविधा सिर्फ़ तब उपलब्ध होती है, जब Vertex AI Gemini API को एपीआई उपलब्ध कराने वाली कंपनी के तौर पर इस्तेमाल किया जा रहा हो.

अगर आपने अब तक शुरुआती गाइड नहीं पढ़ी है, तो इसे पढ़ें. इसमें बताया गया है कि Firebase प्रोजेक्ट कैसे सेट अप करें, अपने ऐप्लिकेशन को Firebase से कैसे कनेक्ट करें, एसडीके कैसे जोड़ें, चुने गए एपीआई उपलब्ध कराने वाली कंपनी के लिए बैकएंड सेवा को कैसे शुरू करें, और ImagenModel इंस्टेंस कैसे बनाएं.

इस सुविधा के साथ काम करने वाले मॉडल

Imagen, capability मॉडल के ज़रिए इमेज में बदलाव करने की सुविधा देता है:

  • imagen-3.0-capability-001

ध्यान दें कि Imagen मॉडल के लिए, global जगह की जानकारी नहीं दी जा सकती.

किसी इमेज के कॉन्टेंट को बड़ा करना

इस सैंपल को आज़माने से पहले, इस गाइड के शुरू करने से पहले सेक्शन में दिए गए निर्देशों का पालन करके, अपना प्रोजेक्ट और ऐप्लिकेशन सेट अप करें.

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

  • मास्क की गई इमेज के पिक्सल डाइमेंशन, आउटपेंट की गई फ़ाइनल इमेज के टारगेट किए गए साइज़ के होने चाहिए.

  • ओरिजनल इमेज में, मास्क की गई इमेज के पिक्सल डाइमेंशन से मेल खाने के लिए, अतिरिक्त पैडिंग शामिल होनी चाहिए.

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

Swift

Swift के लिए, Imagen मॉडल की मदद से इमेज में बदलाव करने की सुविधा उपलब्ध नहीं है. इस साल के आखिर में फिर से देखें!

Kotlin

किसी इमेज को बड़ा करने के लिए, editImage() का इस्तेमाल करें. साथ ही, ImagenEditMode.OUTPAINT का इस्तेमाल करने के लिए, एडिटिंग कॉन्फ़िगरेशन सेट करें.
ध्यान दें कि editImage() के बजाय, outpaintImage() का इस्तेमाल किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है. साथ ही, आपको एडिटिंग मोड के बारे में बताने की ज़रूरत नहीं है.

आउटपेंटिंग के लिए सैंपल कोड से जुड़ी क्विकस्टार्ट गाइड देखें.

Java

किसी इमेज को बड़ा करने के लिए, editImage() का इस्तेमाल करें. साथ ही, ImagenEditMode.OUTPAINT का इस्तेमाल करने के लिए, एडिटिंग कॉन्फ़िगरेशन सेट करें.
ध्यान दें कि editImage() के बजाय, outpaintImage() का इस्तेमाल किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है. साथ ही, आपको एडिटिंग मोड के बारे में बताने की ज़रूरत नहीं है.

आउटपेंटिंग के लिए सैंपल कोड से जुड़ी क्विकस्टार्ट गाइड देखें.

Web

Imagen मॉडल की मदद से इमेज में बदलाव करने की सुविधा, वेब ऐप्लिकेशन के लिए उपलब्ध नहीं है. इस साल के आखिर में फिर से देखें!

Dart

किसी इमेज को बड़ा करने के लिए, editImage() का इस्तेमाल करें. साथ ही, ImagenEditMode.OUTPAINT का इस्तेमाल करने के लिए, एडिटिंग कॉन्फ़िगरेशन सेट करें.

आउटपेंटिंग के लिए सैंपल कोड से जुड़ी क्विकस्टार्ट गाइड देखें.

Unity

Unity के लिए, Imagen मॉडल की मदद से इमेज में बदलाव करने की सुविधा काम नहीं करती. इस साल के आखिर में फिर से देखें!

सबसे सही तरीके और सीमाएं

हमारा सुझाव है कि इमेज में बदलाव करते समय, मास्क को बड़ा करें. इससे बदलाव के बॉर्डर को स्मूद करने में मदद मिलती है. साथ ही, बदलाव को ज़्यादा भरोसेमंद बनाया जा सकता है. आम तौर पर, 1% या 2% की डाइलटेशन वैल्यू का सुझाव दिया जाता है (0.01 या 0.02).


Firebase AI Logic के साथ अपने अनुभव के बारे में सुझाव/राय दें या शिकायत करें