Améliorez 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 renforcer l'engagement des utilisateurs. Cet article présente deux nouvelles fonctionnalités de génération d'images avec Firebase AI Logic : les fonctionnalités de modification spécialisées d'Imagen, 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.
Améliorez l'engagement des utilisateurs grâce aux 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 de profil utilisateur personnalisés ou pour intégrer des éléments visuels personnalisés directement dans les flux d'écran clés.
Par exemple, Imagen propose de nouvelles fonctionnalités de modification (en preview développeur). Vous pouvez désormais dessiner un masque et utiliser l'inpainting pour générer des pixels dans la zone masquée. De plus, l'outpainting est disponible pour générer des pixels en dehors du masque.
Imagen prend en charge l'inpainting, ce qui permet de générer uniquement une partie d'une image.
Gemini 2.5 Flash Image (alias Nano Banana) peut également utiliser des connaissances du monde étendues et les capacités de raisonnement des modèles Gemini pour générer des images contextuellement pertinentes, ce qui est idéal pour créer des illustrations dynamiques qui correspondent à 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 solliciter 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 modification d'images conversationnelles, en conservant le contexte et la cohérence du sujet sur plusieurs itérations, et en tirant parti des "connaissances du monde et du raisonnement" pour créer des éléments visuels contextuellement pertinents ou intégrer des éléments 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, conçu pour un meilleur contrôle créatif. Il est spécialisé dans les sorties très photoréalistes, les détails artistiques et les styles spécifiques, et fournit des commandes explicites pour spécifier le format de l'image générée.
| Images Gemini 2.5 Flash (Nano Banana 🍌) | Imagen |
🌎 Connaissances du monde et raisonnement pour des images plus pertinentes sur le plan contextuel 💬 Modifiez les images de manière conversationnelle tout en conservant le contexte 📖 Intégrez des éléments visuels précis dans de longues séquences de texte | 📐 Spécifiez le format des images générées
🖌️Prise en charge de la modification basée sur un masque pour l'inpainting et l'outpainting.
🎚️ Contrôle accru 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.
Inpainting avec Imagen
Il y a quelques mois, nous avons lancé de nouvelles fonctionnalités de modification pour Imagen. Bien qu'Imagen soit désormais prêt pour la production pour la génération d'images, les fonctionnalités de modification 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 un masque. Cette nouvelle fonctionnalité permet aux utilisateurs de modifier des zones spécifiques d'une image sans régénérer l'image entière. 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 de modification d'Imagen pour apporter des modifications précises et ciblées à une image, et garantir l'intégrité du reste de l'image
Ces modifications sont effectué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 l'inpainting avec Imagen, initialisez d'abord imagen-3.0-capability-001, un modèle Imagen spécifique qui prend en charge les fonctionnalités de modification :
// 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 d'inpainting :
// 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 à la fois une sourceImage, une maskImage, un prompt pour la modification et 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 prend également en charge l'outpainting , qui vous permet de laisser le modèle 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 destinée aux développeurs Android.
Génération d'images conversationnelles avec Gemini 2.5 Flash Image
Pour modifier des images avec Gemini 2.5 Flash Image, vous pouvez utiliser les fonctionnalités de chat multi-tours du modèle.
Initialisez d'abord 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 un 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 d'IA Android. Pour en savoir plus, consultez la documentation Android.
Conclusion
Imagen et Gemini 2.5 Flash Image offrent des fonctionnalités puissantes qui vous permettent de 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.
-
Actualités sur les produitsSi 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 sur les produitsAujourd'hui, nous élargissons la famille de modèles Gemini 3 avec la sortie 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 sur les produitsEn mars dernier, nous avons lancé Android Bench, notre classement des LLM pour les tâches de développement Android réelles. Depuis, nous avons amélioré le benchmark en fonction de vos commentaires, y compris en évaluant les modèles à poids ouverts et en ajoutant des dimensions de coût et d'efficacité au classement.
Zoe Lopez-Latorre • Temps de lecture : 3 min
Recevez chaque semaine les dernières informations sur le développement Android directement dans votre boîte de réception.