En esta página, se describe cómo usar outpainting con Imagen para expandir el contenido de una imagen más allá de sus bordes originales con los SDK de Firebase AI Logic.
Outpainting es un tipo de edición basada en máscaras. Una máscara es una superposición digital que define el área específica que deseas editar.
Cómo funciona: Proporcionas una imagen original y una imagen enmascarada correspondiente, ya sea generada automáticamente o proporcionada por ti, que define una máscara del área nueva y expandida. También puedes proporcionar, de manera opcional, una instrucción de texto que describa lo que deseas en el área expandida, o bien el modelo puede decidir de forma inteligente qué continuará lógicamente la escena existente. El modelo genera el contenido nuevo y completa el área enmascarada.
Por ejemplo, puedes cambiar la relación de aspecto de una imagen o agregar más contexto de fondo.
Antes de comenzar
| Solo está disponible cuando se usa Vertex AI Gemini API como proveedor de API. |
Si aún no lo hiciste, completa la
guía de introducción, en la que
se describe cómo configurar tu proyecto de Firebase, conectar tu app a Firebase,
agregar el SDK, inicializar el servicio de backend para el proveedor de API que elijas y
crear una instancia de ImagenModel.
Modelos que admiten esta capacidad
Imagen ofrece edición de imágenes a través de su capability
modelo:
imagen-3.0-capability-001
Ten en cuenta que, para los modelos Imagen, no se admite la ubicación global
not.
Expande el contenido de una imagen
| Antes de probar esta muestra, completa la Antes de comenzar sección de esta guía para configurar tu proyecto y tu app. |
En la siguiente muestra, se muestra cómo expandir una imagen más allá de sus bordes originales con una máscara definida en una imagen que proporcionas. Proporcionas la imagen original, una instrucción de texto y la imagen enmascarada. Ten en cuenta lo siguiente sobre la imagen original y la imagen enmascarada:
La imagen enmascarada debe tener las dimensiones en píxeles del tamaño objetivo de la imagen final con outpainting.
La imagen original debe incluir un relleno adicional para que coincida con las dimensiones en píxeles de la imagen enmascarada.
Proporcionar una instrucción de texto es opcional si deseas que el modelo decida de forma inteligente qué continuará lógicamente la escena existente. Si deseas contenido específico dentro del área expandida, debes especificarlo en una instrucción de texto.
Swift
La edición de imágenes con modelos Imagen no es compatible con Swift. Vuelve a consultar más adelante este año.
Kotlin
Para expandir una imagen, usa
editImage()
y configura la configuración de edición para usar ImagenEditMode.OUTPAINT.
Ten en cuenta que, de manera opcional, puedes usar
outpaintImage()
en lugar de editImage(), y no necesitas especificar el modo de edición.
Consulta la guía de inicio rápido para obtener un código de muestra para outpainting.
Java
Para expandir una imagen, usa
editImage()
y configura la configuración de edición para usar ImagenEditMode.OUTPAINT.
Ten en cuenta que, de manera opcional, puedes usar
outpaintImage()
en lugar de editImage(), y no necesitas especificar el modo de edición.
Consulta la guía de inicio rápido para obtener un código de muestra para outpainting.
Web
La edición de imágenes con modelos Imagen no es compatible con las apps web. Vuelve a consultar más adelante este año.
Dart
Para expandir una imagen, usa
editImage()
y configura la configuración de edición para usar ImagenEditMode.OUTPAINT.
Consulta la guía de inicio rápido para obtener un código de muestra para outpainting.
Unity
La edición de imágenes con modelos Imagen no es compatible con Unity. Vuelve a consultar más adelante este año.
Prácticas recomendadas y limitaciones
Te recomendamos que dilates la máscara cuando edites una imagen. Esto puede ayudar a suavizar
los bordes de una edición y hacer que parezca más convincente. Por lo general, se recomienda un valor de dilatación del 1% o el 2% (0.01 o 0.02).
Envía comentarios sobre tu experiencia con Firebase AI Logic