Expande el contenido de una imagen con el retoque con Imagen


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.

Ir al código

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