Personnalisation du style

La personnalisation de style d'Imagen 3 vous permet de générer de nouvelles images à partir de requêtes textuelles et d'images de référence que vous fournissez. Les images de référence guident la génération d'images.

Cas d'utilisation

La personnalisation Imagen 3 propose un système de rédaction de requêtes libre, ce qui peut donner l'impression que ses capacités sont plus étendues que ce pour quoi il a été entraîné. Les sections suivantes décrivent les cas d'utilisation prévus pour la personnalisation Imagen 3 et une série non exhaustive d'exemples de cas d'utilisation non prévus.

Nous vous recommandons d'utiliser la personnalisation Imagen 3 pour les cas d'utilisation prévus, car nous avons entraîné le modèle pour ces cas précis et nous nous attendons à de bons résultats. À l'inverse, bien que vous puissiez pousser le modèle à effectuer des tâches en dehors des cas d'utilisation prévus, nous ne nous attendons pas à ce que vous obteniez de bons résultats.

Cas d'utilisation prévus

Voici les cas d'utilisation prévus pour la personnalisation du style avec Imagen 3 :

  • Générer une image à partir d'une saisie de texte qui respecte le style spécifique fourni par une image de référence
  • Modifier une photo d'une personne
  • Modifier une photo d'une personne tout en conservant son expression faciale

Exemples de cas d'utilisation non prévus

Voici une liste non exhaustive des cas d'utilisation pour lesquels la personnalisation Imagen 3 n'a pas été entraînée et qui génèrent des résultats médiocres :

  • Générer une image à partir de texte et à l'aide d'une image de référence, dans le but d'avoir un certain niveau de contrôle sur la composition générée à partir de l'image de référence

  • Générer une image d'une personne à partir d'une image de référence sur laquelle une personne présente une expression faciale particulière

  • Placer deux personnes dans une scène différente, tout en conservant leur identité et en spécifiant le style de l'image de sortie (par exemple, une peinture à l'huile) à l'aide d'une image de référence

  • Styliser une photo d'un animal de compagnie et la transformer en dessin, tout en préservant ou en spécifiant la composition de l'image

  • Placer un produit, comme un cookie ou un canapé, dans différentes scènes avec différentes perspectives, tout en adoptant un style d'image spécifique (photoréaliste avec des couleurs, des styles d'éclairage ou des animations spécifiques, par exemple)

Exemple de personnalisation de style

Voici un exemple de personnalisation du style avec Imagen 3 :

Exemple d'entrée Exemple de résultat
  1. Image de référence1 :
    Exemple d'entrée pour la personnalisation d'un animal de compagnie
  2. Requête textuelle :
    Génère une image avec le mosaic style [1] à partir de
    la légende suivante : Paysage urbain de New York

Exemple de résultat de personnalisation d'un animal de compagnie

1 Image d'entrée de référence générée à l'aide de la génération d'images Imagen 3 à partir de la requête : une mosaïque simple.

Afficher la fiche de modèle Imagen pour la modification et la personnalisation

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Configurez l'authentification pour votre environnement.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    REST

    Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .

    Personnalisation du style

    Vous pouvez fournir des images de référence de types de style lorsque vous utilisez la personnalisation Imagen 3. Le style que vous choisissez affecte la façon dont vous formulez votre requête de génération.

    La requête que vous utilisez avec la personnalisation Imagen 3 peut avoir une incidence sur la qualité des images générées. Les sections suivantes décrivent les modèles et les exemples de requête recommandés pour envoyer des requêtes de personnalisation.

    Cas d'utilisation Images de référence Modèle de requête Exemple
    Style de l'objet Image du sujet (1 à 4) Générez une image avec le STYLE_DESCRIPTION [1] en fonction de la légende suivante : IMAGE_DESCRIPTION. Générez une image avec le neon sign style [1] en fonction de la légende suivante : a sign saying have a great day.
    Stylisation de l'image d'une personne sans entrée de maillage du visage Image du sujet (1 à 4) Crée une image de SUBJECT_DESCRIPTION [1] correspondant à la description : un portrait de SUBJECT_DESCRIPTION [1] ${PROMPT} Crée une image de a woman with short hair[1] correspondant à la description : un portrait de a woman with short hair[1] dans un style de dessin animé 3D sur un fond flou. Un personnage mignon et adorable, un visage souriant, regardant la caméra, des tons pastel, une qualité élevée, 4K, un chef-d'œuvre, des détails superbes, une texture de peau, un mappage de texture, des ombres douces, un éclairage réaliste doux, des couleurs vives
    Stylisation de l'image d'une personne avec entrée de maillage du visage Image du sujet (1 à 3)

    Image de contrôle avec maillage du visage (1)
    Crée une image de SUBJECT_DESCRIPTION [1] dans la pose de CONTROL_IMAGE [2] correspondant à la description : un portrait de SUBJECT_DESCRIPTION [1] ${PROMPT} Crée une image de a woman with short hair [1] dans la pose de control image [2] correspondant à la description : un portrait de a woman with short hair [1] dans un style de dessin animé 3D sur un fond flou. Un personnage mignon et adorable au visage souriant, regardant la caméra, des tons pastel, une qualité élevée, 4K, un chef-d'œuvre, des détails superbes, une texture de peau, un mappage de texture, des ombres douces, un éclairage réaliste doux, des couleurs vives

    REST

    Pour en savoir plus sur les requêtes envoyées au modèle imagen-3.0-capability-001, consultez la documentation de référence de l'API du modèle imagen-3.0-capability-001.

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud .
    • LOCATION : région de votre projet (us-central1, europe-west2 ou asia-northeast3, par exemple). Pour obtenir la liste des régions disponibles, consultez IA générative sur les emplacements Vertex AI.
    • TEXT_PROMPT : prompt textuel qui guide le modèle pour la génération d'images. Pour utiliser la personnalisation Imagen 3, incluez le referenceId de l'image ou des images de référence que vous fournissez au format [$referenceId]. Par exemple :
      • La requête textuelle suivante concerne une requête comportant une seule image de référence avec "referenceId": 1 et une description facultative de "styleDescription": "glowing style" : Génère une image avec un glowing style [1] en fonction de la légende suivante : une église dans la montagne.
    • "referenceId" : ID de l'image de référence ou ID d'une série d'images de référence correspondant au même sujet ou style. Dans cet exemple, la seule image de référence possède un referenceId correspondant à (1).
    • BASE64_REFERENCE_IMAGE : image de référence pour guider la génération d'images. L'image doit être spécifiée en tant que chaîne d'octets encodée en base64.
    • STYLE_DESCRIPTION : facultatif. Description textuelle de l'image de référence que vous pouvez ensuite utiliser dans le champ prompt. Exemple :
            "prompt": "Generate an image in glowing style [1] based on the following
              caption: A church in the mountain.",
            [...],
            "styleImageConfig": {
              "styleDescription": "glowing style"
            }
          
    • IMAGE_COUNT : nombre d'images générées. Valeurs entières acceptées : 1 à 4. Valeur par défaut : 4.

    Méthode HTTP et URL :

    POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict

    Corps JSON de la requête :

    {
      "instances": [
        {
          "prompt": "TEXT_PROMPT",
          "referenceImages": [
            {
              "referenceType": "REFERENCE_TYPE_STYLE",
              "referenceId": 1,
              "referenceImage": {
                "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
              },
              "styleImageConfig": {
                "styleDescription": "STYLE_DESCRIPTION"
              }
            }
          ]
        }
      ],
      "parameters": {
        "sampleCount": IMAGE_COUNT
      }
    }
    

    Pour envoyer votre requête, choisissez l'une des options suivantes :

    curl

    Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict"

    PowerShell

    Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
    L'exemple suivant représente la réponse à une requête avec "sampleCount": 2. La réponse renvoie deux objets de prédiction, avec les octets d'image générés encodés en base64.
    {
      "predictions": [
        {
          "bytesBase64Encoded": "BASE64_IMG_BYTES",
          "mimeType": "image/png"
        },
        {
          "mimeType": "image/png",
          "bytesBase64Encoded": "BASE64_IMG_BYTES"
        }
      ]
    }
    

    Python

    from google import genai
    from google.genai.types import EditImageConfig, Image, StyleReferenceConfig, StyleReferenceImage
    
    client = genai.Client()
    
    # TODO(developer): Update and un-comment below line
    # output_gcs_uri = "gs://your-bucket/your-prefix"
    
    # Create a style reference image of a neon sign stored in Google Cloud Storage
    # using https://storage.googleapis.com/cloud-samples-data/generative-ai/image/neon.png
    style_reference_image = StyleReferenceImage(
        reference_id=1,
        reference_image=Image(gcs_uri="gs://cloud-samples-data/generative-ai/image/neon.png"),
        config=StyleReferenceConfig(style_description="neon sign"),
    )
    
    image = client.models.edit_image(
        model="imagen-3.0-capability-001",
        prompt="generate an image of a neon sign [1] with the words: have a great day",
        reference_images=[style_reference_image],
        config=EditImageConfig(
            edit_mode="EDIT_MODE_DEFAULT",
            number_of_images=1,
            seed=1,
            safety_filter_level="BLOCK_MEDIUM_AND_ABOVE",
            person_generation="ALLOW_ADULT",
            output_gcs_uri=output_gcs_uri,
        ),
    )
    
    # Example response:
    # gs://your-bucket/your-prefix
    print(image.generated_images[0].image.gcs_uri)

    Utilisation du produit

    Pour afficher les normes d'utilisation et les restrictions de contenu associées à Imagen sur Vertex AI, consultez les consignes d'utilisation.

    Versions de modèle

    Vous pouvez utiliser plusieurs modèles de génération d'images. Pour en savoir plus, consultez Modèles Imagen.

    Étapes suivantes

    Consultez des articles concernant Imagen et d'autres produits d'IA générative sur Vertex AI :