Actualités des produits
Améliorer l'engagement des utilisateurs grâce à la génération d'images par IA
Temps de lecture : 5 min
L'ajout d'images personnalisées à votre application peut améliorer et personnaliser considérablement l'expérience utilisateur, et accroître l'engagement des utilisateurs. Cet article explore deux nouvelles fonctionnalités de génération d'images avec Firebase AI Logic : les fonctionnalités de retouche Imagen spécialisées, actuellement en preview, et la disponibilité générale de Gemini 2.5 Flash Image (alias "Nano Banana"), conçu pour la génération d'images contextuelles ou conversationnelles.
Booster l'engagement des utilisateurs avec des images générées via Firebase AI Logic
Les modèles de génération d'images peuvent être utilisés pour créer des avatars personnalisés pour les profils utilisateur ou pour intégrer des éléments visuels personnalisés directement dans les principaux flux d'écran.
Par exemple, Imagen propose de nouvelles fonctionnalités de retouche (en Preview développeur). Vous pouvez désormais dessiner un masque et utiliser la technique de l'inpainting pour générer des pixels dans la zone masquée. L'outpainting est également disponible pour générer des pixels en dehors du masque.
Imagen est compatible avec le remplissage, ce qui vous permet de générer uniquement une partie d'une image.
Gemini 2.5 Flash Image (alias Nano Banana) peut également utiliser des connaissances étendues sur le monde et les capacités de raisonnement des modèles Gemini pour générer des images contextuellement pertinentes. C'est idéal pour créer des illustrations dynamiques qui s'alignent sur l'expérience actuelle de l'utilisateur dans l'application.
Utilisez Gemini 2.5 Flash Image pour créer des illustrations dynamiques contextuellement pertinentes pour votre application.
Enfin, la possibilité de modifier des images de manière conversationnelle et itérative permet aux utilisateurs de modifier une photo en langage naturel.
Utilisez Gemini 2.5 Flash Image pour modifier une image en langage naturel.
Lorsque vous commencez à intégrer l'IA à votre application, il est important de vous renseigner sur la sécurité de l'IA. Il est particulièrement important d'évaluer les risques de sécurité de votre application, d'envisager des ajustements pour atténuer les risques de sécurité, d'effectuer des tests de sécurité adaptés à votre cas d'utilisation, de recueillir les commentaires des utilisateurs et de surveiller le contenu.
Imagen ou Gemini : à vous de choisir
La différence entre Gemini 2.5 Flash Image ("Nano Banana") et Imagen réside dans leur objectif principal et leurs fonctionnalités avancées. Gemini 2.5 Flash Image, en tant que modèle d'image au sein de la famille Gemini, excelle dans la retouche d'images conversationnelle. Il maintient la cohérence du contexte et du sujet sur plusieurs itérations, et exploite les connaissances et le raisonnement sur le monde pour créer des visuels contextuellement pertinents ou intégrer des visuels précis dans de longues séquences de texte.
Imagen est le modèle de génération d'images spécialisé de Google. Il est conçu pour offrir un contrôle créatif accru et se spécialise dans les résultats très photoréalistes, les détails artistiques et les styles spécifiques. Il fournit également des commandes explicites pour spécifier le format ou le format de l'image générée.
| Gemini 2.5 Flash Image (Nano Banana 🍌) | Imagen |
🌎 Connaissances du monde et raisonnement pour des images plus pertinentes en fonction du contexte 💬 modifier des images de manière conversationnelle tout en conservant le contexte 📖 intégrer des éléments visuels précis dans de longues séquences de texte ; | 📐 spécifier le format des images générées ;
🖌️ Prise en charge de l'édition basée sur un masque pour la peinture intérieure et extérieure.
🎚️ plus de contrôle sur les détails de l'image générée (qualité, détails artistiques et styles spécifiques) |
Voyons comment les utiliser dans votre application.
Remplissage d'image avec Imagen
Il y a quelques mois, nous avons lancé de nouvelles fonctionnalités de retouche pour Imagen. Bien qu'Imagen soit désormais prêt pour la production en matière de génération d'images, les fonctionnalités d'édition sont toujours en Preview développeur.
Les fonctionnalités de modification d'Imagen incluent l'inpainting et l'outpainting, qui sont des fonctionnalités de modification d'images basées sur des masques. Cette nouvelle fonctionnalité permet aux utilisateurs de modifier des zones spécifiques d'une image sans avoir à la régénérer entièrement. Cela signifie que vous pouvez conserver les meilleures parties de votre image et ne modifier que ce que vous souhaitez changer.
Utilisez les fonctionnalités d'édition d'Imagen pour apporter des modifications précises et ciblées à une image tout en garantissant l'intégrité du reste de l'image.
Ces modifications sont apportées tout en conservant les éléments de base et l'intégrité globale de l'image d'origine, et en ne modifiant que la zone du masque.
Pour implémenter le remplissage avec Imagen, commencez par initialiser imagen-3.0-capability-001 un modèle Imagen spécifique prenant en charge les fonctionnalités d'édition :
// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val editingModel =
Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
"imagen-3.0-capability-001",
generationConfig = ImagenGenerationConfig(
numberOfImages = 1,
aspectRatio = ImagenAspectRatio.SQUARE_1x1,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 75),
),
)
Définissez ensuite la fonction de retouche :
// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val prompt = "remove the pancakes and make it an omelet instead"
suspend fun inpaintImageWithMask(sourceImage: Bitmap, maskImage: Bitmap, prompt: String, editSteps: Int = 50): Bitmap {
val imageResponse = editingModel.editImage(
referenceImages = listOf(
ImagenRawImage(sourceImage.toImagenInlineImage()),
ImagenRawMask(maskImage.toImagenInlineImage()),
),
prompt = prompt,
config = ImagenEditingConfig(
editMode = ImagenEditMode.INPAINT_INSERTION,
editSteps = editSteps,
),
)
return imageResponse.images.first().asBitmap()
}
Vous fournissez une sourceImage, une maskImage et un prompt pour la modification, ainsi que le nombre d'étapes de modification à effectuer.
Vous pouvez le voir en action dans l'exemple de modification d'Imagen du catalogue d'exemples d'IA Android.
Imagen est également compatible avec l'outpainting, qui permet au modèle de générer les pixels en dehors d'un masque. Vous pouvez également utiliser les fonctionnalités de personnalisation d'images d'Imagen pour modifier le style d'une image ou mettre à jour un sujet dans une image. Pour en savoir plus, consultez la documentation Android pour les développeurs.
Génération d'images conversationnelle avec Gemini 2.5 Flash Image
Pour modifier des images avec Gemini 2.5 Flash Image, vous pouvez utiliser les capacités de chat multitour du modèle.
Commencez par initialiser le modèle :
// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
modelName = "gemini-2.5-flash-image",
// Configure the model to respond with text and images (required)
generationConfig = generationConfig {
responseModalities = listOf(ResponseModality.TEXT,
ResponseModality.IMAGE)
}
)
Pour obtenir un résultat similaire à la méthode Imagen basée sur le masque décrite ci-dessus, nous pouvons utiliser l'API chat pour lancer une conversation avec Gemini 2.5 Flash Image.
// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
// Initialize the chat
val chat = model.startChat()
// Load a bitmap
val source = ImageDecoder.createSource(context.contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source)
// Create the initial prompt instructing the model to edit the image
val prompt = content {
image(bitmap)
text("remove the pancakes and add an omelet")
}
// To generate an initial response, send a user message with the image and text prompt
var response = chat.sendMessage(prompt)
// Inspect the returned image
var generatedImageAsBitmap = response
.candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image
// Follow up requests do not need to specify the image again
response = chat.sendMessage("Now, center the omelet in the pan")
generatedImageAsBitmap = response
.candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image
Vous pouvez le voir en action dans l'exemple de chat d'images Gemini du catalogue d'exemples Android AI et en savoir plus dans la documentation Android.
Conclusion
Imagen et Gemini 2.5 Flash Image offrent tous deux des fonctionnalités puissantes. Vous pouvez ainsi sélectionner le modèle de génération d'images idéal pour personnaliser votre application et améliorer l'engagement des utilisateurs, en fonction de votre cas d'utilisation spécifique.
Lire la suite
-
Actualités des produits
Si vous êtes un développeur Android et que vous souhaitez implémenter des fonctionnalités d'IA innovantes dans votre application, nous avons récemment lancé de nouvelles mises à jour puissantes.
Thomas Ezan • Temps de lecture : 3 min
-
Actualités des produits
Aujourd'hui, nous élargissons la gamme de modèles Gemini 3 avec le lancement de Gemini 3 Flash, une intelligence de pointe conçue pour la rapidité à un coût bien inférieur.
Thomas Ezan • Temps de lecture : 2 min
-
Actualités des produits
Android Studio Panda 4 est désormais stable et prêt à être utilisé en production. Cette version inclut le mode Planification, la prédiction de la prochaine modification et bien d'autres fonctionnalités qui vous permettent de créer des applications Android de haute qualité plus facilement que jamais.
Matt Dyor • Temps de lecture : 5 min
Restez informé
Recevez chaque semaine les dernières informations sur le développement Android directement dans votre boîte de réception.