Gere imagens usando o Imagen 3

A API Gemini oferece acesso a Imagen 3, o modelo de geração de imagens de última geração. Com o Imagen, você pode gerar novos imagens de comandos de texto. A integração da API Gemini com o Imagen foi projetada para ajudar você a criar aplicativos de IA de última geração que transformam instruções do usuário em recursos visuais de alta qualidade em questão de segundos.

Este guia vai ajudar você a começar a usar o Imagen com a API Gemini em Python SDK do Vertex AI Pipelines.

Sobre a Imagen 3

O Imagen 3 é o modelo de conversão de texto em imagem de maior qualidade do Google, com vários recursos novos e aprimorados. A Imagen 3 pode fazer o seguinte:

  • Gera imagens com mais detalhes, iluminação mais rica e menos artefatos distrativos do que os modelos anteriores.
  • Entender comandos escritos em linguagem natural e cotidiana, facilitando a geração de saídas alinhadas sem uma engenharia de comando complexa.
  • Gere imagens em uma ampla variedade de formatos e estilos, de paisagens fotorrealistas a pinturas a óleo com texturas ricas ou cenas de animação com massinha de modelar.
  • Renderiza texto de maneira mais eficaz do que os modelos anteriores, abrindo novas possibilidades para casos de uso, como cartões de aniversário estilizados, apresentações e mais.

A Imagen 3 foi criada com as inovações mais recentes de segurança e responsabilidade do Google, desde o desenvolvimento de dados e modelos até a produção. A equipe do Google DeepMind usou filtragem extensiva e rotulagem de dados para minimizar o conteúdo nocivo em conjuntos de dados e reduzir a probabilidade de resultados prejudiciais. A equipe também realizou avaliações e testes de reação a temas como imparcialidade, viés e segurança do conteúdo.

Para saber mais e conferir um exemplo de saída, consulte a Visão geral do Google DeepMind Imagen 3.

Antes de começar: configure o projeto e a chave de API

pip install -U git+https://github.com/google-gemini/generative-ai-python@imagen

Antes de chamar a API Gemini, você precisa definir seu projeto e configurar sua chave de API.

Gerar imagens

Esta seção mostra como instanciar um modelo do Imagen e gerar imagens.

Para executar o código de exemplo, primeiro instale Almofada:

pip install --upgrade Pillow

Depois, com o Pillow e o SDK do Python instalados, use o código a seguir: para gerar imagens:

import os
import google.generativeai as genai

genai.configure(api_key=os.environ['API_KEY'])

imagen = genai.ImageGenerationModel("imagen-3.0-generate-001")

result = imagen.generate_images(
    prompt="Fuzzy bunnies in my kitchen",
    number_of_images=4,
    safety_filter_level="block_only_high",
    person_generation="allow_adult",
    aspect_ratio="3:4",
    negative_prompt="Outside",
)

for image in result.images:
  print(image)

# The output should look similar to this:
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f3396ef370>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f3396ef700>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f33953c2b0>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f33953c280>

for image in result.images:
  # Open and display the image using your local operating system.
  image._pil_image.show()

O notebook vai exibir quatro imagens semelhantes a esta:

Imagem gerada por IA de dois coelhinhos peludos na cozinha

Parâmetros do modelo do Imagen

Os seguintes parâmetros estão disponíveis para generate_images():

  • prompt: o comando de texto da imagem.
  • negative_prompt: uma descrição do que você quer omitir nos de imagens de contêiner. O padrão é nenhum.

    Por exemplo, considere o comando "uma rua chuvosa à noite sem "povo O modelo pode interpretar "pessoas" como uma diretiva do que incluir em vez de omitir. Para gerar resultados melhores, você pode usar o comando rua da cidade à noite" com o comando negativo "pessoas".

  • number_of_images: o número de imagens a serem geradas, de 1 a 4. O padrão é 4.

  • aspect_ratio: muda a proporção da imagem gerada. Compatível os valores são "1:1", "3:4", "4:3", "9:16" e "16:9". O padrão é "1:1".

  • safety_filter_level: adiciona um nível de filtro à filtragem de segurança. Os seguintes valores são válidos:

    • "block_low_and_above": bloquear quando a pontuação de probabilidade ou a gravidade a pontuação é LOW, MEDIUM ou HIGH.
    • "block_medium_and_above": bloquear quando a pontuação de probabilidade ou a gravidade a pontuação é MEDIUM ou HIGH.
    • "block_only_high": bloqueia quando a pontuação de probabilidade ou de gravidade é HIGH.
  • person_generation: permite que o modelo gere imagens de pessoas. Os seguintes valores são compatíveis:

    • "dont_allow": bloqueia a geração de imagens de pessoas.
    • "allow_adult": gera imagens de adultos, mas não de crianças.

A seguir

A imagem 3 na API Gemini está em acesso antecipado. Fique de olho nos anúncios sobre o status do recurso.