Générer des images avec Imagen 3

L'API Gemini donne accès à Imagen 3, le modèle de génération d'images de pointe de Google. Avec Imagen, vous pouvez générer de nouvelles à partir de requêtes textuelles. L'intégration de l'API Gemini à Imagen est conçue pour vous aider à créer des applications d'IA de nouvelle génération qui transforment les requêtes utilisateur en éléments visuels de haute qualité en quelques secondes.

Ce guide vous aidera à faire vos premiers pas avec Imagen à l'aide de l'API Gemini Python SDK.

À propos d'Imagen 3

Imagen 3 est le modèle de génération d'images à partir de texte de Google offrant la meilleure qualité des fonctionnalités nouvelles et améliorées. Imagen 3 peut effectuer les opérations suivantes:

  • Générez des images avec de meilleurs détails, un éclairage plus riche et moins gênants que les modèles précédents.
  • Comprendre les requêtes rédigées dans un langage naturel et courant, ce qui facilite la génération de sorties alignées sans ingénierie de requête complexe.
  • Générez des images dans un large éventail de formats et de styles, des paysages photoréalistes aux peintures à l'huile aux textures riches ou aux scènes d'animation en argile fantaisistes.
  • Affiche le texte plus efficacement que les modèles précédents, ce qui ouvre de nouvelles possibilités pour les cas d'utilisation tels que les cartes d'anniversaire stylisées, les présentations, etc.

Imagen 3 a été conçu avec les dernières innovations de Google en matière de sécurité et de responsabilité, du développement des données et des modèles à la production. L'équipe Google DeepMind a utilisé des fonctionnalités avancées de filtrage et d'étiquetage des données pour réduire le contenu nuisible dans les ensembles de données et réduire le risque de générer des sorties nuisibles. L'équipe a également mené des évaluations et des analyses de groupe de contrôle sur des sujets tels que l'équité, les biais et la sécurité des contenus.

Pour en savoir plus et voir un exemple de sortie, consultez la présentation d'Imagen 3 de Google DeepMind.

Avant de commencer: configurer votre projet et votre clé API

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

Avant d'appeler l'API Gemini, vous devez configurer votre projet et votre clé API.

Générer des images

Cette section vous explique comment instancier un modèle Imagen et générer des images.

Pour exécuter l'exemple de code, vous devez d'abord installer Pillow :

pip install --upgrade Pillow

Ensuite, une fois Pillow et le SDK Python installés, vous pouvez utiliser le code suivant pour générer des images :

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

Le notebook doit afficher quatre images semblables à celle-ci :

Image générée par IA de deux lapins dans la cuisine

Paramètres du modèle Imagen

Les paramètres suivants sont disponibles pour generate_images() :

  • prompt: requête textuelle pour l'image.
  • negative_prompt : description de ce que vous souhaitez omettre dans les images générées. La valeur par défaut est "Aucun".

    Prenons l'exemple de la requête "rue de ville pluvieuse la nuit sans personnes." Le modèle peut interpréter le terme "personnes" comme directive sur ce qu'il faut inclure au lieu d'omettre. Pour générer de meilleurs résultats, vous pouvez utiliser la requête "rue pluvieuse la nuit" avec une requête négative "personne".

  • number_of_images : nombre d'images à générer, compris entre 1 et 4 (inclus). La valeur par défaut est 4.

  • aspect_ratio: modifie le format de l'image générée. Les valeurs acceptées sont "1:1", "3:4", "4:3", "9:16" et "16:9". La valeur par défaut est "1:1".

  • safety_filter_level: ajoute un niveau de filtre au filtrage de sécurité. Les valeurs suivantes sont valides :

    • "block_low_and_above": bloquer le score de probabilité ou la gravité le score est LOW, MEDIUM ou HIGH.
    • "block_medium_and_above" : bloquer lorsque le score de probabilité ou le score de gravité est MEDIUM ou HIGH.
    • "block_only_high": bloquer le score de probabilité ou le score de gravité est HIGH.
  • person_generation: autorise le modèle à générer des images de personnes. La les valeurs suivantes sont acceptées:

    • "dont_allow": bloquer la génération d'images de personnes.
    • "allow_adult" : générer des images d'adultes, mais pas d'enfants

Étape suivante

Imagen 3 dans l'API Gemini est en accès anticipé. Nous vous communiquerons prochainement des annonces l'état de la fonctionnalité.