Imagen adalah model pembuatan gambar. Fitur ini dapat digunakan untuk membuat avatar kustom untuk profil pengguna atau untuk mengintegrasikan aset visual yang dipersonalisasi ke dalam alur layar yang ada untuk meningkatkan interaksi pengguna.
Anda dapat mengakses model Imagen dari aplikasi Android Anda menggunakan Firebase AI Logic SDK. Model Imagen tersedia menggunakan penyedia API Firebase AI Logic: Gemini Developer API (direkomendasikan untuk sebagian besar developer) dan Vertex AI.
Bereksperimen dengan perintah
Membuat perintah yang ideal sering kali memerlukan beberapa upaya. Anda dapat bereksperimen dengan perintah gambar di Vertex AI Studio, IDE untuk desain dan pembuatan prototipe perintah. Untuk mendapatkan tips tentang cara meningkatkan kualitas perintah, tinjau panduan atribut gambar dan perintah.

Menyiapkan project Firebase dan menghubungkan aplikasi Anda
Ikuti langkah-langkah dalam dokumentasi Firebase untuk menambahkan Firebase ke project Android Anda.
Menambahkan dependensi Gradle
Tambahkan dependensi berikut ke file build.gradle
Anda:
dependencies {
// Import the BoM for the Firebase platform
implementation(platform("com.google.firebase:firebase-bom:34.2.0"))
// Add the dependency for the Firebase AI Logic library. When using the BoM,
// you don't specify versions in Firebase library dependencies
implementation("com.google.firebase:firebase-ai")
}
Buat gambar
Untuk membuat gambar di aplikasi Android, mulailah dengan membuat instance
ImagenModel
dengan konfigurasi opsional.
Anda dapat menggunakan parameter generationConfig
untuk menentukan perintah negatif, jumlah gambar, rasio aspek gambar output, format gambar, dan menambahkan watermark. Anda dapat menggunakan parameter safetySettings
untuk mengonfigurasi filter
keselamatan dan orang.
Kotlin
val config = ImagenGenerationConfig {
numberOfImages = 2,
aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
addWatermark = false
}
// Initialize the Gemini Developer API backend service
// For Vertex AI use Firebase.ai(backend = GenerativeBackend.vertexAI())
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).imagenModel(
modelName = "imagen-3.0-generate-002",
generationConfig = config,
safetySettings = ImagenSafetySettings(
safetyFilterLevel = ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
personFilterLevel = ImagenPersonFilterLevel.BLOCK_ALL
)
)
Java
ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
.setNumberOfImages(2)
.setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
.setImageFormat(ImagenImageFormat.jpeg(100))
.setAddWatermark(false)
.build();
// For Vertex AI use Firebase.ai(backend = GenerativeBackend.vertexAI())
ImagenModelFutures model = ImagenModelFutures.from(
FirebaseAI.ai(backend = GenerativeBackend.googleAI()).imagenModel(
"imagen-3.0-generate-002",
config,
ImagenSafetySettings.builder()
.setSafetyFilterLevel(ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE)
.setPersonFilterLevel(ImagenPersonFilterLevel.BLOCK_ALL)
.build())
);
Setelah ImagenModel
di-instance, Anda dapat membuat gambar dengan memanggil
generateImages
:
Kotlin
val imageResponse = model.generateImages(
prompt = "An astronaut riding a horse",
)
val image = imageResponse.images.first
val bitmapImage = image.asBitmap()
Java
CompletableFuture<GenerateContentResponse> futureResponse =
model.generateContent(
Content.newBuilder()
.addParts(
Part.newBuilder()
.setText("An astronaut riding a horse")
.build())
.build());
try {
GenerateContentResponse imageResponse = futureResponse.get();
List<GeneratedImage> images =
imageResponse
.getCandidates(0)
.getContent()
.getParts(0)
.getInlineData()
.getImagesList();
if (!images.isEmpty()) {
GeneratedImage image = images.get(0);
Bitmap bitmapImage = image.asBitmap();
// Use bitmapImage
}
} catch (ExecutionException | InterruptedException e) {
e.printStackTrace();
}