Novidades do produto

Aumente o engajamento do usuário com a geração de imagens com IA

Leitura de 5 minutos

Adicionar imagens personalizadas ao app pode melhorar e personalizar significativamente a experiência do usuário e aumentar o engajamento do usuário. Esta postagem explora dois novos recursos para geração de imagens com o Firebase AI Logic: os recursos especializados de edição do Imagen, atualmente em prévia, e a disponibilidade geral do Gemini 2.5 Flash Image (também conhecido como "Nano Banana"), projetado para geração de imagens contextual ou conversacional.

Aumente o engajamento do usuário com imagens geradas pelo Firebase AI Logic

Os modelos de geração de imagens podem ser usados para criar avatares de perfil de usuário personalizados ou para integrar recursos visuais personalizados diretamente aos fluxos de tela principais.  

Por exemplo, o Imagen oferece novos recursos de edição (na prévia para desenvolvedores). Agora é possível desenhar uma máscara e usar a pintura para gerar pixels na área mascarada. Além disso, o outpainting está disponível para gerar pixels fora da máscara.   

Imagen inpainting.png

O Imagen oferece suporte à pintura, permitindo gerar apenas uma parte de uma imagem. 

Como alternativa, o Gemini 2.5 Flash Image (também conhecido como Nano Banana) pode usar o conhecimento mundial estendido e os recursos de raciocínio dos modelos do Gemini para gerar imagens contextualmente relevantes, o que é ideal para criar ilustrações dinâmicas que se alinham à experiência atual do usuário no app.   

 

Ilustração do Nano Banana no contexto.png

Use o Gemini 2.5 Flash Image para criar ilustrações dinâmicas contextualmente relevantes para seu app.

Por fim, a capacidade de editar imagens de forma conversacional e iterativa permite que os usuários editem uma foto usando linguagem natural.

 

photo edit natural language.png

Use o Gemini 2.5 Flash Image para editar uma imagem usando linguagem natural.

Ao começar a integrar a IA ao seu aplicativo, é importante aprender sobre segurança de IA. É fundamental avaliar os riscos de segurança do aplicativo, considerar ajustes para mitigar os riscos de segurança, realizar testes de segurança adequados ao seu caso de uso e solicitar feedback do usuário e monitorar o conteúdo.

Imagen ou Gemini: a escolha é sua

A diferença entre Gemini 2.5 Flash Image ("Nano Banana") e Imagen está no foco principal e nos recursos avançados. O Gemini 2.5 Flash Image, como um modelo de imagem na família maior do Gemini, se destaca na edição de imagens conversacional, mantendo o contexto e a consistência do assunto em várias iterações e aproveitando o "conhecimento e raciocínio mundial" para criar recursos visuais contextualmente relevantes ou incorporar recursos visuais precisos em sequências de texto longas. 

O Imagen é o modelo especializado de geração de imagens do Google, projetado para maior controle criativo, especializado em saídas altamente fotorrealistas, detalhes artísticos, estilos específicos e controles explícitos para especificar a proporção ou o formato da imagem gerada.

Imagens do Gemini 2.5 Flash 
(Nano Banana 🍌)
Imagen

🌎 Conhecimento e raciocínio mundial para imagens mais contextualmente relevantes

💬 Edite imagens de forma conversacional, mantendo o contexto

📖 Incorpore recursos visuais precisos em sequências de texto longas

📐 Especifique a proporção ou o formato das imagens geradas

 

🖌️Suporte à edição baseada em máscara para pintura e outpainting. 

 

🎚️ Maior controle sobre os detalhes da imagem gerada (qualidade, detalhes artísticos e estilos específicos)

Vamos conferir como usá-los no seu app.

Pintura com o Imagen

Há alguns meses, lançamos novos recursos de edição para o Imagen. Embora o Imagen já esteja pronto para produção para geração de imagens, os recursos de edição ainda estão na prévia para desenvolvedores.

Os recursos de edição do Imagen incluem pintura e outpainting, recursos de edição de imagens baseados em máscara. Esse novo recurso permite que os usuários modifiquem áreas específicas de uma imagem sem regenerar a imagem inteira. Isso significa que você pode preservar as melhores partes da imagem e alterar apenas o que quiser mudar.

Imagen inpainting dog.png

Use os recursos de edição do Imagen para fazer mudanças direcionadas e precisas em uma imagem e garantir a integridade do restante da imagem

Essas mudanças são feitas mantendo os elementos principais e a integridade geral da imagem original e modificando apenas a área na máscara.

Para implementar a pintura com o Imagen, primeiro inicialize imagen-3.0-capability-001, um modelo específico do Imagen que oferece suporte a recursos de edição:

  // Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val editingModel =
        Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
            "imagen-3.0-capability-001",
            generationConfig = ImagenGenerationConfig(
                numberOfImages = 1,
                aspectRatio = ImagenAspectRatio.SQUARE_1x1,
                imageFormat = ImagenImageFormat.jpeg(compressionQuality = 75),
            ),
        )

Em seguida, defina a função de pintura:

  // Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

val prompt = "remove the pancakes and make it an omelet instead"

suspend fun inpaintImageWithMask(sourceImage: Bitmap, maskImage: Bitmap, prompt: String, editSteps: Int = 50): Bitmap {
        val imageResponse = editingModel.editImage(
            referenceImages = listOf(
                ImagenRawImage(sourceImage.toImagenInlineImage()),
                ImagenRawMask(maskImage.toImagenInlineImage()),
            ),
            prompt = prompt,
            config = ImagenEditingConfig(
                editMode = ImagenEditMode.INPAINT_INSERTION,
                editSteps = editSteps,
            ),
        )
        return imageResponse.images.first().asBitmap()
    }

Você fornece uma sourceImage, uma maskImage e um comando para a edição e o número de etapas de edição a serem realizadas.

Confira o exemplo de edição do Imagen no catálogo de exemplos de IA do Android.

O Imagen também oferece suporte ao outpainting , que permite que o modelo gere os pixels fora de uma máscara. Você também pode usar os recursos de personalização de imagens do Imagen para mudar o estilo de uma imagem ou atualizar um assunto em uma imagem. Leia mais sobre isso na documentação para desenvolvedores Android.

Geração de imagens conversacional com o Gemini 2.5 Flash Image

Uma maneira de editar imagens com o Gemini 2.5 Flash Image é usar os recursos de conversa multiturno do modelo.

Primeiro, inicialize o modelo:

  // Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
    modelName = "gemini-2.5-flash-image",
    // Configure the model to respond with text and images (required)
    generationConfig = generationConfig {
        responseModalities = listOf(ResponseModality.TEXT,
        ResponseModality.IMAGE)
    }
)

Para alcançar um resultado semelhante ao método do Imagen baseado em máscara descrito acima, podemos usar a API chat para iniciar uma conversa com o Gemini 2.5 Flash Image.

  // Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

// Initialize the chat
val chat = model.startChat()


// Load a bitmap
val source = ImageDecoder.createSource(context.contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source)


// Create the initial prompt instructing the model to edit the image
val prompt = content {
    image(bitmap)
    text("remove the pancakes and add an omelet")
}

// To generate an initial response, send a user message with the image and text prompt
var response = chat.sendMessage(prompt)

// Inspect the returned image
var generatedImageAsBitmap = response
    .candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image

// Follow up requests do not need to specify the image again
response = chat.sendMessage("Now, center the omelet in the pan")
generatedImageAsBitmap = response
    .candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image

Confira o exemplo de chat de imagens do Gemini no catálogo de exemplos de IA do Android e leia mais sobre ele na documentação do Android.

Conclusão

O Imagen e o Gemini 2.5 Flash Image oferecem recursos avançados, permitindo que você selecione o modelo de geração de imagens ideal para personalizar seu app e aumentar o engajamento do usuário, dependendo do seu caso de uso específico.

Escrito por:

Continuar lendo