Imagen 3 adalah model pembuatan gambar. Alat ini dapat digunakan untuk membuat avatar kustom untuk profil pengguna atau mengintegrasikan aset visual yang dipersonalisasi ke dalam alur layar yang ada untuk meningkatkan engagement pengguna.
Anda dapat mengakses model Imagen dari aplikasi Android menggunakan Firebase AI Logic SDK. Model Imagen tersedia menggunakan penyedia API Logika AI Firebase: 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 tips tentang cara meningkatkan perintah, tinjau panduan atribut gambar dan perintah.

Menyiapkan project Firebase dan menghubungkan aplikasi
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:33.14.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")
}
Membuat gambar
Untuk membuat gambar di aplikasi Android, mulai 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 keamanan
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
dibuat instance-nya, 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();
}