इस पेज पर, आउटपेंटिंग करने का तरीका बताया गया है. इसमें, Imagen का इस्तेमाल करके, किसी इमेज के कॉन्टेंट को उसकी ओरिजनल सीमाओं से आगे बढ़ाया जा सकता है . इसके लिए, Firebase AI Logic SDK टूल का इस्तेमाल किया जाता है.
आउटपेंटिंग, मास्क-आधारित एडिटिंग का एक टाइप है. मास्क, एक डिजिटल ओवरले होता है. इससे, इमेज का वह खास हिस्सा तय होता है जिसमें आपको बदलाव करना है.
यह कैसे काम करता है: आपको एक ओरिजनल इमेज और उससे जुड़ी मास्क की गई इमेज देनी होती है. यह इमेज, अपने-आप जनरेट हो सकती है या आपके पास पहले से मौजूद हो सकती है. इसमें, इमेज के नए और बढ़ाए गए हिस्से का मास्क तय होता है. आपके पास यह बताने के लिए, टेक्स्ट प्रॉम्प्ट देने का विकल्प भी होता है कि आपको बढ़ाए गए हिस्से में क्या चाहिए. इसके अलावा, मॉडल यह भी तय कर सकता है कि मौजूदा सीन को लॉजिक के हिसाब से कैसे आगे बढ़ाया जाए. मॉडल, नया कॉन्टेंट जनरेट करता है और मास्क किए गए हिस्से में उसे भर देता है.
उदाहरण के लिए, किसी इमेज का आसपेक्ट रेशियो बदला जा सकता है या बैकग्राउंड में ज़्यादा कॉन्टेक्स्ट जोड़ा जा सकता है.
शुरू करने से पहले
| यह सुविधा, सिर्फ़ तब उपलब्ध होती है, जब Vertex AI Gemini API को अपने एपीआई सेवा देने वाले के तौर पर इस्तेमाल किया जा रहा हो. |
अगर आपने अब तक,
शुरू करने के लिए गाइड को पूरा नहीं किया है, तो इसे पूरा करें. इसमें, 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