Imagen 3 est un modèle de génération d'images. Il peut être utilisé pour générer des avatars personnalisés pour les profils utilisateur ou pour intégrer des composants visuels personnalisés dans des flux d'écran existants afin d'accroître l'engagement des utilisateurs.
Vous pouvez accéder aux modèles Imagen depuis votre application Android à l'aide du SDK Vertex AI in Firebase.
Tester des requêtes
Créer les requêtes idéales nécessite souvent plusieurs tentatives. Vous pouvez tester des requêtes d'image dans Vertex AI Studio, un IDE pour la conception et le prototypage de requêtes. Pour obtenir des conseils sur l'amélioration de vos requêtes, consultez le guide des attributs de requête et d'image.

Configurer un projet Firebase et associer votre application
Suivez les étapes décrites dans la documentation Firebase pour ajouter Firebase à votre projet Android.
Ajouter la dépendance Gradle
Ajoutez les dépendances suivantes à votre fichier d'application build.gradle
:
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.9.0"))
implementation("com.google.firebase:firebase-vertexai")
}
Imagen 3 dans Vertex AI in Firebase nécessite la BOM Firebase 33.10.0 ou une version ultérieure.
Générer une image
Pour générer une image dans votre application Android, commencez par instancier un ImagenModel
avec une configuration facultative.
Vous pouvez utiliser le paramètre generationConfig
pour définir une invite négative, le nombre d'images, le format de l'image de sortie, le format d'image et ajouter un filigrane. Vous pouvez utiliser le paramètre safetySettings
pour configurer les filtres de sécurité et de personne.
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()
);
Une fois votre ImagenModel
instanciée, vous pouvez générer des images en appelant 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();
}
Étapes suivantes
- Consultez la présentation de Vertex AI in Firebase.
- Découvrez comment utiliser Vertex AI dans les SDK Firebase pour accéder à Imagen.
- Consultez la documentation de référence de l'API Imagen de Google Cloud.
- En savoir plus sur les pratiques d'IA responsable de Google