Esta página descreve como usar pintura externa com Imagen para expandir o conteúdo de uma imagem além das bordas originais usando os SDKs Firebase AI Logic.
A pintura externa é um tipo de edição baseada em máscara. Uma máscara é uma sobreposição digital que define a área específica que você quer editar.
Como funciona: você fornece uma imagem original e uma imagem mascarada correspondente, gerada automaticamente ou fornecida por você, que define uma máscara da nova área expandida. Também é possível fornecer um comando de texto descrevendo o que você quer na área expandida. Ou o modelo pode decidir de forma inteligente o que vai continuar logicamente a cena atual. O modelo gera o novo conteúdo e preenche a área mascarada.
Por exemplo, você pode mudar a proporção de uma imagem ou adicionar mais contexto de plano de fundo.
Antes de começar
| Disponível apenas ao usar Vertex AI Gemini API como provedor de API. |
Se ainda não fez isso, conclua o
guia de início rápido, que
descreve como configurar seu projeto do Firebase, conectar seu app ao Firebase,
adicionar o SDK, inicializar o serviço de back-end para o provedor de API escolhido e
criar uma instância de ImagenModel.
Modelos que oferecem suporte a esse recurso
Imagen oferece edição de imagens pelo modelo capability:
imagen-3.0-capability-001
Para modelos Imagen, o local global
não é compatível.
Expandir o conteúdo de uma imagem
| Antes de tentar este exemplo, conclua a seção Antes de começar deste guia para configurar seu projeto e app. |
O exemplo a seguir mostra como expandir uma imagem além das bordas originais usando uma máscara definida em uma imagem fornecida. Você fornece a imagem original, um comando de texto e a imagem mascarada. Observe o seguinte sobre a imagem original e a mascarada:
A imagem mascarada precisa ter as dimensões de pixel do tamanho de destino da imagem pintada externamente final.
A imagem original precisa incluir um preenchimento extra para corresponder às dimensões de pixel da imagem mascarada.
Fornecer um comando de texto é opcional se você quiser que o modelo decida de forma inteligente o que vai continuar logicamente a cena atual. Se você quiser conteúdo específico na área expandida, especifique isso em um comando de texto.
Swift
A edição de imagens com modelos Imagen não é compatível com Swift. Volte mais tarde este ano.
Kotlin
Para expandir uma imagem, use
editImage()
e defina a configuração de edição para usar ImagenEditMode.OUTPAINT.
Observe que você pode usar opcionalmente
outpaintImage()
em vez de editImage(), e não é necessário especificar o modo de edição.
Confira o guia de início rápido para ver um exemplo de código de pintura externa.
Java
Para expandir uma imagem, use
editImage()
e defina a configuração de edição para usar ImagenEditMode.OUTPAINT.
Observe que você pode usar opcionalmente
outpaintImage()
em vez de editImage(), e não é necessário especificar o modo de edição.
Confira o guia de início rápido para ver um exemplo de código de pintura externa.
Web
A edição de imagens com modelos Imagen não é compatível com apps da Web. Volte mais tarde este ano.
Dart
Para expandir uma imagem, use
editImage()
e defina a configuração de edição para usar ImagenEditMode.OUTPAINT.
Confira o guia de início rápido para ver um exemplo de código de pintura externa.
Unity
A edição de imagens com modelos Imagen não é compatível com Unity. Volte mais tarde este ano.
Práticas recomendadas e limitações
Recomendamos dilatar a máscara ao editar uma imagem. Isso pode ajudar a suavizar
as bordas de uma edição e torná-la mais convincente. Geralmente, um valor de dilatação
de 1% ou 2% é recomendado (0.01 ou 0.02).
Enviar feedback sobre sua experiência com Firebase AI Logic