En esta página, se describe cómo usar la expansión de imágenes con Imagen para expandir el contenido de una imagen más allá de sus bordes originales con los SDKs de Firebase AI Logic.
El retoque 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 (generada automáticamente o proporcionada por ti) que define una máscara del área nueva y expandida. También puedes proporcionar, de forma opcional, una instrucción de texto que describa lo que quieres 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 usas Vertex AI Gemini API como tu proveedor de la 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 la 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 modelo capability
:
imagen-3.0-capability-001
Ten en cuenta que, para los modelos Imagen, no se admite la ubicación global
.
Expande el contenido de una imagen
Antes de probar esta muestra, completa la sección Antes de comenzar de esta guía para configurar tu proyecto y tu app. |
En el siguiente ejemplo, 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 enmascarada:
La imagen enmascarada debe tener las dimensiones de píxeles del tamaño objetivo de la imagen final con expansión.
La imagen original debe incluir un relleno adicional para que coincida con las dimensiones de píxeles de la imagen enmascarada.
Proporcionar una instrucción de texto es opcional si quieres que el modelo decida de forma inteligente qué continuará lógicamente la escena existente. Si quieres contenido específico en el área expandida, debes especificarlo en una instrucción de texto.
Swift
La edición de imágenes con modelos de Imagen no se admite en Swift. Vuelve a consultar más adelante este año.
Kotlin
Para expandir una imagen, usa editImage()
y configura la edición para que use ImagenEditMode.OUTPAINT
.
Ten en cuenta que, de manera opcional, puedes usar outpaintImage()
en lugar de editImage()
, y no es necesario que especifiques el modo de edición.
Consulta la guía de inicio rápido para obtener código de muestra para la expansión de la pintura.
Java
Para expandir una imagen, usa editImage()
y configura la edición para que use ImagenEditMode.OUTPAINT
.
Ten en cuenta que, de manera opcional, puedes usar outpaintImage()
en lugar de editImage()
, y no es necesario que especifiques el modo de edición.
Consulta la guía de inicio rápido para obtener código de muestra para la expansión de la pintura.
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 edición para que use ImagenEditMode.OUTPAINT
.
Consulta la guía de inicio rápido para obtener código de muestra para la expansión de la pintura.
Unity
La edición de imágenes con modelos de 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. En 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