Cette page explique comment utiliser l'outpainting avec Imagen pour développer le contenu d’une image au-delà de ses bordures d’origine à l’aide des SDK Firebase AI Logic.
L'outpainting est un type de modification basée sur un masque. Un masque est une superposition numérique qui définit la zone spécifique que vous souhaitez modifier.
Fonctionnement : vous fournissez une image d'origine et une image masquée correspondante (générée automatiquement ou fournie par vous) qui définit un masque de la nouvelle zone agrandie. Vous pouvez également fournir un prompt textuel décrivant ce que vous souhaitez dans la zone agrandie, ou le modèle peut décider de manière intelligente de ce qui continuera logiquement la scène existante. Le modèle génère le nouveau contenu et remplit la zone masquée.
Par exemple, vous pouvez modifier le format d'une image ou ajouter plus de contexte d'arrière-plan.
Avant de commencer
| Disponible uniquement lorsque vous utilisez le Agent Platform Gemini API (formerly Vertex AI) comme votre fournisseur d'API. |
Si ce n'est pas déjà fait, suivez le
guide de démarrage, qui
explique comment configurer votre projet Firebase, connecter votre application à Firebase,
ajouter le SDK, initialiser le service de backend pour le fournisseur d'API de votre choix et
créer une instance ImagenModel.
Modèles compatibles avec cette fonctionnalité
Imagen propose la retouche d'images via son capability
modèle :
imagen-3.0-capability-001
Notez que pour les modèles Imagen, l'emplacement global
n'est pas accepté.
Développer le contenu d'une image
| Avant d'essayer cet exemple, suivez les étapes de la section Avant de commencer de ce guide pour configurer votre projet et votre application. |
L'exemple suivant montre comment développer une image au-delà de ses bordures d'origine à l'aide d'un masque défini dans une image que vous fournissez. Vous fournissez l'image d'origine, un prompt textuel et l'image masquée. Notez les points suivants concernant l'image d'origine et l'image masquée :
L'image masquée doit avoir les dimensions en pixels de la taille cible de l'image finale.
L'image d'origine doit inclure un remplissage supplémentaire pour correspondre aux dimensions en pixels de l'image masquée.
Il est facultatif de fournir un prompt textuel si vous souhaitez que le modèle décide de manière intelligente de ce qui continuera logiquement la scène existante. Si vous souhaitez un contenu spécifique dans la zone agrandie, vous devez le spécifier dans un prompt textuel.
Swift
La retouche d'images avec les modèles Imagen n'est pas disponible pour Swift. Revenez plus tard cette année.
Kotlin
Pour développer une image, utilisez
editImage()
et définissez la configuration de modification sur ImagenEditMode.OUTPAINT.
Notez que vous pouvez également utiliser
outpaintImage()
au lieu de editImage(), et que vous n'avez pas besoin de spécifier le mode de modification.
Consultez le guide de démarrage rapide pour obtenir un exemple de code pour l'outpainting.
Java
Pour développer une image, utilisez
editImage()
et définissez la configuration de modification sur ImagenEditMode.OUTPAINT.
Notez que vous pouvez également utiliser
outpaintImage()
au lieu de editImage(), et que vous n'avez pas besoin de spécifier le mode de modification.
Consultez le guide de démarrage rapide pour obtenir un exemple de code pour l'outpainting.
Web
La retouche d'images avec les modèles Imagen n'est pas disponible pour les applications Web. Revenez plus tard cette année.
Dart
Pour développer une image, utilisez
editImage()
et définissez la configuration de modification sur ImagenEditMode.OUTPAINT.
Consultez le guide de démarrage rapide pour obtenir un exemple de code pour l'outpainting.
Unity
La retouche d'images avec les modèles Imagen n'est pas disponible pour Unity. Revenez plus tard cette année.
Bonnes pratiques et limites
Nous vous recommandons de dilater le masque lorsque vous modifiez une image. Cela peut aider à lisser
les bordures d'une modification et à la rendre plus convaincante. En règle générale, une valeur de dilatation
de 1% ou 2% est recommandée (0.01 ou 0.02).
Envoyer des commentaires sur votre expérience avec Firebase AI Logic