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


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

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

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

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

कोड पर जाएं

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

यह सुविधा, सिर्फ़ तब उपलब्ध होती है, जब Agent Platform Gemini API (formerly Vertex AI) को अपने एपीआई सेवा देने वाले प्लैटफ़ॉर्म के तौर पर इस्तेमाल किया जा रहा हो.

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

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

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

  • imagen-3.0-capability-001

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

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

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

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

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

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

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

Swift

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

Kotlin

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

आउटपेंटिंग के लिए सैंपल कोड देखने के लिए, क्विकस्टार्ट देखें.

Java

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

आउटपेंटिंग के लिए सैंपल कोड देखने के लिए, क्विकस्टार्ट देखें.

Web

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

Dart

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

आउटपेंटिंग के लिए सैंपल कोड देखने के लिए, क्विकस्टार्ट देखें.

Unity

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

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

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


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