Gere imagens usando o Imagen 3

A API Gemini oferece acesso ao Imagen 3, o modelo de geração de imagens de última geração do Google. Com o Imagen, você pode gerar novas imagens a partir 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 comandos 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 usando o SDK da API Gemini para Python.

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. O Imagen 3 pode fazer o seguinte:

  • Gera imagens com mais detalhes, iluminação mais rica e menos artefatos distrativos do que os modelos anteriores.
  • Entenda os comandos escritos em linguagem natural e cotidiana, facilitando a geração alinhada sem engenharia de comando complexa.
  • Gere imagens em uma ampla variedade de formatos e estilos, de paisagens realistas a pinturas a óleo com texturas ricas ou cenas de animação em stop-motion.
  • 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 de segurança e responsabilidade mais recentes 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 conteúdos nocivos nos conjuntos de dados e reduzir a probabilidade de saídas prejudiciais. A equipe também realizou uma equipe vermelha e avaliações em tópicos como imparcialidade, viés e segurança de conteúdo.

Para saber mais e conferir exemplos 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 configurar seu projeto e a chave de API.

Gerar imagens

Nesta seção, mostramos como instanciar um modelo do Imagen e gerar imagens.

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

pip install --upgrade Pillow

Em seguida, com o Pillow e o SDK do Python instalados, use o seguinte código 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 bloco de notas vai mostrar quatro imagens semelhantes a esta:

Imagem gerada por IA de dois coelhos fofos na cozinha

Parâmetros do modelo do Imagen

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

  • prompt: o comando de texto para a imagem.
  • negative_prompt: uma descrição do que você quer omitir nas imagens geradas. O padrão é nenhum.

    Por exemplo, considere o comando "uma rua chuvosa à noite sem pessoas". O modelo pode interpretar "pessoas" como uma diretiva do que incluir em vez de omitir. Para gerar resultados melhores, você pode usar o comando "uma rua de cidade chuvosa à noite" com um 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. Os valores aceitos 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": bloqueia quando a pontuação de probabilidade ou de gravidade é LOW, MEDIUM ou HIGH.
    • "block_medium_and_above": bloqueia quando a pontuação de probabilidade ou de gravidade é 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.

Idioma do comando de texto

Os seguintes idiomas de comando de texto de entrada são compatíveis:

  • Chinês (simplificado) (zh/zh-CN)
  • Chinese (Traditional) (zh-TW)
  • Inglês (en)
  • Hindi (hi)
  • Japonês (ja)
  • Coreano (ko)
  • Português (pt)
  • Espanhol (es)

A seguir

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