Memperluas konten gambar menggunakan perluasan dengan Imagen


Halaman ini menjelaskan cara menggunakan outpainting menggunakan Imagen untuk memperluas konten gambar di luar batas aslinya menggunakan SDK Firebase AI Logic.

Perluasan gambar adalah jenis pengeditan berbasis mask. Masker adalah overlay digital yang menentukan area spesifik yang ingin Anda edit.

Cara kerjanya: Anda memberikan gambar asli dan gambar yang sesuai dengan mask — baik yang dibuat secara otomatis maupun yang Anda berikan — yang menentukan mask area baru yang diperluas. Anda juga dapat secara opsional memberikan perintah teks yang menjelaskan apa yang Anda inginkan di area yang diluaskan, atau model dapat secara cerdas memutuskan apa yang akan melanjutkan adegan yang ada secara logis. Model membuat konten baru dan mengisi area yang tertutup.

Misalnya, Anda dapat mengubah rasio aspek gambar atau menambahkan konteks latar belakang.

Langsung ke kode

Sebelum memulai

Hanya tersedia saat menggunakan Vertex AI Gemini API sebagai penyedia API Anda.

Jika belum, selesaikan panduan memulai, yang menjelaskan cara menyiapkan project Firebase, menghubungkan aplikasi ke Firebase, menambahkan SDK, menginisialisasi layanan backend untuk penyedia API yang Anda pilih, dan membuat instance ImagenModel.

Model yang mendukung kemampuan ini

Imagen menawarkan pengeditan gambar melalui model capability:

  • imagen-3.0-capability-001

Perhatikan bahwa untuk model Imagen, lokasi global tidak didukung.

Memperluas konten gambar

Sebelum mencoba contoh ini, selesaikan bagian Sebelum memulai dari panduan ini untuk menyiapkan project dan aplikasi Anda.

Contoh berikut menunjukkan cara memperluas gambar di luar batas aslinya — menggunakan mask yang ditentukan dalam gambar yang Anda berikan. Anda memberikan gambar asli, perintah teks, dan gambar yang diberi mask. Perhatikan hal berikut tentang gambar asli dan gambar yang disamarkan:

  • Gambar yang ditutupi harus memiliki dimensi piksel dari ukuran target gambar akhir yang diisi.

  • Gambar asli harus menyertakan padding tambahan agar sesuai dengan dimensi piksel gambar yang ditutupi.

Memberikan perintah teks bersifat opsional jika Anda ingin model secara cerdas memutuskan apa yang secara logis akan melanjutkan adegan yang ada. Jika Anda menginginkan konten tertentu di area yang diperluas, Anda harus menentukannya dalam perintah teks.

Swift

Pengeditan gambar dengan model Imagen tidak didukung untuk Swift. Periksa kembali nanti tahun ini.

Kotlin

Untuk memperluas gambar, gunakan editImage() dan tetapkan konfigurasi pengeditan untuk menggunakan ImagenEditMode.OUTPAINT.
Perhatikan bahwa Anda dapat menggunakan outpaintImage() alih-alih editImage(), dan Anda tidak perlu menentukan mode pengeditan.

Lihat panduan memulai untuk kode contoh outpainting.

Java

Untuk memperluas gambar, gunakan editImage() dan tetapkan konfigurasi pengeditan untuk menggunakan ImagenEditMode.OUTPAINT.
Perhatikan bahwa Anda dapat menggunakan outpaintImage() alih-alih editImage(), dan Anda tidak perlu menentukan mode pengeditan.

Lihat panduan memulai untuk kode contoh outpainting.

Web

Pengeditan gambar dengan model Imagen tidak didukung untuk aplikasi Web. Periksa kembali nanti tahun ini.

Dart

Untuk memperluas gambar, gunakan editImage() dan tetapkan konfigurasi pengeditan untuk menggunakan ImagenEditMode.OUTPAINT.

Lihat panduan memulai untuk kode contoh outpainting.

Unity

Pengeditan gambar dengan model Imagen tidak didukung untuk Unity. Periksa kembali nanti tahun ini.

Praktik terbaik dan batasan

Sebaiknya perluas mask saat mengedit gambar. Hal ini dapat membantu memperhalus batas hasil edit dan membuatnya tampak lebih meyakinkan. Umumnya, nilai pelebaran 1% atau 2% direkomendasikan (0.01 atau 0.02).


Memberikan masukan tentang pengalaman Anda dengan Firebase AI Logic