Actualités sur les produits
Améliorez l'engagement des utilisateurs grâce à la génération d'images par IA
Temps de lecture : 5 min
Ajouter des images personnalisées à votre application peut améliorer considérablement l'expérience utilisateur et la personnaliser, tout en stimulant 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 retouche spécialisées d'Imagen, actuellement en Preview, et la disponibilité générale de Gemini 2.5 Flash Image (alias "Nano Banana"), conçue 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 retouche (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 étendues du monde et les capacités de raisonnement des modèles Gemini pour générer des images contextuellement pertinentes. Cette fonctionnalité est idéale 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 retoucher une photo en langage naturel.
Utilisez Gemini 2.5 Flash Image pour retoucher 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 ces risques, 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 retouche d'images conversationnelle, 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 résultats 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 💬 Retouche conversationnelle des images tout en conservant le contexte 📖 Intégration d'éléments visuels précis dans de longues séquences de texte | 📐 Spécification du format des images générées
🖌️Prise en charge de la retouche basée sur un masque pour l'inpainting et l'outpainting.
🎚️ Contrôle accru des 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 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 de retouche sont toujours en Preview développeur.
Les fonctionnalités de retouche d'Imagen incluent l'inpainting et l'outpainting, qui sont des fonctionnalités de retouche d'images basées sur un masque. 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 de retouche 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 l'inpainting avec Imagen, commencez par initialiser imagen-3.0-capability-001, un modèle Imagen spécifique qui prend en charge les fonctionnalités de retouche :
// 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 retouche et le nombre d'étapes de retouche à effectuer.
Vous pouvez voir cette fonctionnalité en action dans l'exemple de retouche 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 conversationnelle avec Gemini 2.5 Flash Image
Pour retoucher des images avec Gemini 2.5 Flash Image, vous pouvez utiliser les fonctionnalités de chat multi-tours 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 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 voir cette fonctionnalité 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.
Lire la suite
-
Actualités sur les produits
Aujourd'hui, nous élargissons la famille 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 sur les produits
Nous nous efforçons de proposer l'expérience Google Play la plus sécurisée et la plus fiable possible. Aujourd'hui, nous annonçons un nouvel ensemble de mises à jour des règles et une fonctionnalité de transfert de compte pour améliorer la confidentialité des utilisateurs et protéger votre entreprise contre la fraude.
Bennet Manuel • Temps de lecture : 3 min
-
Actualités sur les produits
Il n'a jamais été aussi facile de tester les interactions multi-appareils qu'avec Android Emulator.
Steven Jenkins • Temps de lecture : 2 min
Restez informé
Recevez chaque semaine les dernières informations sur le développement Android directement dans votre boîte de réception.