Memperluas konten gambar menggunakan perluasan dengan Imagen


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

Outpainting adalah jenis pengeditan berbasis mask. Mask adalah overlay digital yang menentukan area tertentu yang ingin Anda edit.

Cara kerjanya: Anda menyediakan gambar asli dan gambar yang sesuai dengan mask — baik yang dibuat secara otomatis atau 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 diperluas, atau model dapat secara cerdas memutuskan apa yang akan melanjutkan adegan yang ada secara logis. Model akan membuat konten baru dan mengisi area yang di-mask.

Misalnya, Anda dapat mengubah rasio aspek gambar atau menambahkan lebih banyak 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 Imagen model, 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 di-mask. Perhatikan hal berikut tentang gambar asli dan gambar yang di-mask:

  • Gambar yang di-mask harus memiliki dimensi piksel dari ukuran target gambar outpainted akhir.

  • Gambar asli harus menyertakan padding tambahan agar sesuai dengan dimensi piksel gambar yang di-mask.

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

Swift

Pengeditan gambar dengan model Imagen tidak didukung untuk Swift. Nantikan kabar terbaru tahun ini.

Kotlin

Untuk memperluas gambar, gunakan editImage() dan tetapkan konfigurasi pengeditan untuk menggunakan ImagenEditMode.OUTPAINT.
Perhatikan bahwa Anda dapat secara opsional menggunakan outpaintImage() dan bukan 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 secara opsional menggunakan outpaintImage() dan bukan 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. Nantikan kabar terbaru 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. Nantikan kabar terbaru tahun ini.

Praktik terbaik dan batasan

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


Berikan masukan tentang pengalaman Anda dengan Firebase AI Logic