Genera imágenes con Imagen 3

La API de Gemini proporciona acceso a Imagen 3, el modelo de generación de imágenes de vanguardia de Google. Con Imagen, puedes generar imágenes nuevas a partir de instrucciones de texto. La integración de la API de Gemini con Imagen está diseñada para ayudarte a compilar aplicaciones de IA de nueva generación que transformen las instrucciones de los usuarios en recursos visuales de alta calidad en cuestión de segundos.

Esta guía te ayudará a comenzar a usar Imagen con el SDK de Python de la API de Gemini.

Acerca de Imagen 3

Imagen 3 es el modelo de texto a imagen de mayor calidad de Google, que incluye varias funciones nuevas y mejoradas. Imagen 3 puede hacer lo siguiente:

  • Genera imágenes con mejor detalle, una iluminación más nítida y menos artefactos distractores que los modelos anteriores.
  • Comprender instrucciones escritas en lenguaje natural y cotidiano, lo que facilita la generación de resultados alineados sin una ingeniería de instrucciones compleja
  • Genera imágenes en una amplia variedad de formatos y estilos, desde paisajes fotorrealistas hasta pinturas al óleo con texturas espléndidas o escenas extravagantes de animación con plastilina.
  • Renderiza el texto de manera más eficaz que los modelos anteriores, lo que abre nuevas posibilidades para casos de uso, como tarjetas de cumpleaños estilizadas, presentaciones y mucho más.

La imagen 3 se creó con las innovaciones de seguridad y responsabilidad más recientes de Google, desde el desarrollo de datos y modelos hasta la producción. El equipo de Google DeepMind usó un filtrado y un etiquetado de datos extensos para minimizar el contenido dañino en los conjuntos de datos y reducir la probabilidad de resultados dañinos. El equipo también llevó a cabo el equipo rojo y las evaluaciones sobre temas como la equidad, el sesgo y la seguridad del contenido.

Para obtener más información y ver ejemplos de resultados, consulta la descripción general de Imagen 3 de Google DeepMind.

Antes de comenzar: Configura tu proyecto y clave de API

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

Antes de llamar a la API de Gemini, debes configurar tu proyecto y la clave de API.

Generar imágenes

En esta sección, se muestra cómo crear una instancia de un modelo de Imagen y generar imágenes.

Para ejecutar el código de ejemplo, primero debes instalar Pillow:

pip install --upgrade Pillow

Luego, con Pillow y el SDK de Python instalados, puedes usar el siguiente código para generar imágenes:

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()

El notebook debería mostrar cuatro imágenes similares a esta:

Imagen generada por IA de dos conejos peludos en la cocina

Parámetros del modelo de Imagen

Los siguientes parámetros están disponibles para generate_images():

  • prompt: Es el mensaje de texto para la imagen.
  • negative_prompt: una descripción de lo que deseas omitir en las imágenes generadas. El valor predeterminado es ninguno.

    Por ejemplo, considera la consigna “una calle de la ciudad bajo la lluvia por la noche sin personas”. El modelo puede interpretar a “personas” como una directiva de lo que se incluye, en lugar de omitirlo. Para generar mejores resultados, puedes usar el mensaje “una calle de la ciudad bajo la lluvia por la noche” con un mensaje negativo “personas”.

  • number_of_images: Es la cantidad de imágenes que se generarán, de 1 a 4 (inclusive). El valor predeterminado es 4.

  • aspect_ratio: Cambia la relación de aspecto de la imagen generada. Los valores admitidos son "1:1", "3:4", "4:3", "9:16" y "16:9". El valor predeterminado es "1:1".

  • safety_filter_level: Agrega un nivel de filtro al filtrado de seguridad. Los siguientes valores son válidos:

    • "block_low_and_above": Bloquea cuando la puntuación de probabilidad o la puntuación de gravedad es LOW, MEDIUM o HIGH.
    • "block_medium_and_above": Bloquea cuando la puntuación de probabilidad o la puntuación de gravedad sea MEDIUM o HIGH.
    • "block_only_high": Bloquea cuando la puntuación de probabilidad o la puntuación de gravedad es HIGH.
  • person_generation: Permite que el modelo genere imágenes de personas. Se admiten los siguientes valores:

    • "dont_allow": Bloquea la generación de imágenes de personas.
    • "allow_adult": Genera imágenes de adultos, pero no de niños.

Idioma de la instrucción de texto

Se admiten los siguientes idiomas de la instrucción de texto de entrada:

  • Chino (simplificado) (zh/zh-CN)
  • Chino (tradicional) (zh-TW)
  • Inglés (en)
  • Hindi (hi)
  • Japonés (ja)
  • Coreano (ko)
  • Portugués (pt)
  • Español (es)

¿Qué sigue?

La imagen 3 de la API de Gemini está en acceso anticipado. No te pierdas los anuncios sobre el estado de la función.