Nesta página, descrevemos como usar a pintura externa com Imagen para expandir o conteúdo de uma imagem além das bordas originais usando os SDKs Firebase AI Logic.
Outpainting é 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. Você também pode fornecer um comando de texto descrevendo o que quer na área expandida. Caso contrário, o modelo vai decidir de forma inteligente o que vai continuar 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 segundo plano.
Antes de começar
Disponível apenas quando você usa o Vertex AI Gemini API como provedor de API. |
Se ainda não tiver feito isso, conclua o
guia de primeiros passos, 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 compatíveis com esse recurso
O Imagen oferece edição de imagens com o modelo capability
:
imagen-3.0-capability-001
Para modelos Imagen, o local global
não é compatível.
Ampliar o conteúdo de uma imagem
Antes de testar esta amostra, 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 desejado da imagem final com pintura externa.
A imagem original precisa incluir um padding 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
.
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 com exemplos de código para expansão de imagens.
Java
Para expandir uma imagem, use
editImage()
e defina a configuração de edição para usar ImagenEditMode.OUTPAINT
.
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 com exemplos de código para expansão de imagens.
Web
A edição de imagens com modelos Imagen não está disponível para 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 com exemplos de código para expansão de imagens.
Unity
A edição de imagens com modelos Imagen não é compatível com o Unity. Volte mais tarde este ano!
Práticas recomendadas e limitações
Recomendamos dilatar a máscara ao editar uma imagem. Isso ajuda a suavizar as bordas de uma edição e a tornar a mudança mais convincente. Em geral, é recomendável um valor de dilatação de 1% ou 2% (0.01
ou 0.02
).
Enviar feedback sobre sua experiência com Firebase AI Logic