Imagen 3 è un modello di generazione di immagini. Può essere utilizzato per generare avatar personalizzati per i profili utente o per integrare asset visivi personalizzati nei flussi di schermata esistenti al fine di aumentare il coinvolgimento degli utenti.
Puoi accedere ai modelli Imagen dalla tua app per Android utilizzando l'SDK Vertex AI in Firebase.
Sperimenta con i prompt
Spesso sono necessari più tentativi per creare i prompt ideali. Puoi sperimentare con i prompt di immagini in Vertex AI Studio, un'IDE per la progettazione e la prototipazione dei prompt. Per suggerimenti su come migliorare i prompt, consulta la guida agli attributi di prompt e immagine.

Configura un progetto Firebase e collega la tua app
Segui i passaggi descritti nella documentazione di Firebase per aggiungere Firebase al tuo progetto Android.
Aggiungi la dipendenza Gradle
Aggiungi le seguenti dipendenze al file dell'app build.gradle
:
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.9.0"))
implementation("com.google.firebase:firebase-vertexai")
}
Imagen 3 in Vertex AI in Firebase richiede Firebase BOM 33.10.0 o versioni successive.
Genera un'immagine
Per generare un'immagine nella tua app per Android, inizia creando un'istanza di ImagenModel
con una configurazione facoltativa.
Puoi utilizzare il parametro generationConfig
per definire un prompt negativo, il numero di immagini, le proporzioni delle immagini di output, il formato dell'immagine e aggiungere una filigrana. Puoi utilizzare il parametro safetySettings
per configurare i filtri di sicurezza e per le persone.
Kotlin
val imagenModel = Firebase.vertexAI.imagenModel(
modelName = "imagen-3.0-generate-001",
generationConfig = ImagenGenerationConfig(
negativePrompt = "frogs",
numberOfImages = 2,
aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
addWatermark = false
),
safetySettings = ImagenSafetySettings(
safetyFilterLevel = ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
personFilterLevel = ImagenPersonFilterLevel.BLOCK_ALL
)
)
Java
GenerativeModel imagenModel = FirebaseVertexAI.getInstance().imagenModel(
"imagen-3.0-generate-001",
ImagenGenerationConfig.builder()
.setNegativePrompt("frogs")
.setNumberOfImages(2)
.setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
.setImageFormat(ImagenImageFormat.jpeg(100))
.setAddWatermark(true)
.build(),
ImagenSafetySettings.builder()
.setSafetyFilterLevel(ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE)
.setPersonFilterLevel(ImagenPersonFilterLevel.BLOCK_ALL)
.build()
);
Una volta creato ImagenModel
, puoi generare immagini chiamando
generateImages
:
Kotlin
val imageResponse = imagenModel.generateImages(
prompt = "An astronaut riding a horse",
)
val image = imageResponse.images.first
val bitmapImage = image.asBitmap()
Java
CompletableFuture<GenerateContentResponse> futureResponse =
imagenModel.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();
}
Passaggi successivi
- Consulta la panoramica di Vertex AI in Firebase
- Scopri di più su come utilizzare Vertex AI negli SDK Firebase per accedere a Imagen
- Consulta la documentazione di riferimento dell'API Imagen di Google Cloud
- Scopri di più sulle pratiche di AI responsabile di Google