La personnalisation contrôlée vous permet de créer des images à partir d'une image source ou d'un signal d'image source (format contours de Canny ou croquis). Cette page vous explique comment envoyer deux types de requêtes de personnalisation contrôlée :
Personnalisation contrôlée Imagen 3 (fonctionnalité DG)
Afficher la fiche de modèle Imagen pour la modification et la personnalisation
Personnalisation contrôlée d'Imagen 2 : signal d'image source au format Contours de Canny ou Croquis (fonctionnalité en preview)
Cas d'utilisation
La personnalisation contrôlée Imagen 3 propose un système de rédaction de requêtes libre, ce qui peut vous donner l'impression que le modèle peut faire plus que ce pour quoi il a été entraîné. Les sections suivantes décrivent les cas d'utilisation et fournissent des exemples pour la personnalisation contrôlée Imagen 3.
Le modèle a été entraîné sur les cas d'utilisation que nous fournissons. Nous nous attendons à de bons résultats lorsque vous utilisez la personnalisation contrôlée Imagen 3. Si vous poussez le modèle à répondre de manière inattendue, nous ne nous attendons pas à ce que vous obteniez de bons résultats.
Exemples de cas d'utilisation prévus
Voici les cas d'utilisation pour lesquels la personnalisation contrôlée Imagen 3 a été entraînée et génère de bons résultats :
Générez une image qui suit le prompt et les images de contrôle au format Contours de Canny.
Générez une image qui respecte la requête et les images de gribouillis.
Styliser une photo d'une personne tout en conservant son expression faciale
Exemples de cas d'utilisation non prévus
Voici les cas d'utilisation pour lesquels la personnalisation contrôlée Imagen 3 n'a pas été entraînée et génère des résultats médiocres :
Générez une image en utilisant un style spécifié dans la requête.
Générer une image à partir de texte qui respecte un style spécifique fourni par une image de référence, avec un certain niveau de contrôle sur la composition de l'image à l'aide d'une image de contrôle.
Générer une image à partir de texte qui respecte un style spécifique fourni par une image de référence, avec un certain niveau de contrôle sur la composition de l'image à l'aide d'un gribouillis de contrôle
Générer une image à partir de texte qui respecte un style spécifique fourni par l'image de référence, avec un certain niveau de contrôle sur la composition de l'image à l'aide d'une image de contrôle La personne sur l'image a une expression faciale spécifique.
Styliser une photo de plusieurs personnes tout en conservant leurs expressions faciales
Styliser une photo d'un animal de compagnie et la transformer en dessin Préserver ou spécifier la composition de l'image (par exemple, aquarelle)
Avant de commencer
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
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 API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud init
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Écrire une requête de personnalisation
La requête que vous utilisez avec la personnalisation Imagen 3 peut avoir une incidence sur la qualité des images générées. Utilisez les modèles de requêtes suivants comme point de départ pour écrire des requêtes de personnalisation. Vous devrez peut-être envoyer plusieurs requêtes pour obtenir le résultat souhaité.
Cas d'utilisation Images de référence Modèle de requête Exemple Personnalisation contrôlée Croquis de carte (1) Génère une image alignée sur scribble map [1] pour qu'elle corresponde à la description : ${STYLE_PROMPT} ${PROMPT}. Génère une image alignée sur scribble map [1] pour qu'elle corresponde à la description : L'image doit être dans le style d'une peinture à l'huile impressionniste avec des coups de pinceau détendus. Il possède une ambiance naturellement lumineuse et des coups de pinceau visibles. Vue de profil d'une voiture. La voiture est garée sur une route mouillée et réfléchissante, avec les lumières de la ville qui se reflètent dans les flaques d'eau. Personnalisation contrôlée Image de contrôle Canny (1) Génère une image alignée sur edge map [1] pour qu'elle corresponde à la description : ${STYLE_PROMPT} ${PROMPT} Génère une image alignée sur edge map [1] pour qu'elle corresponde à la description : L'image doit être dans le style d'une peinture à l'huile impressionniste, avec des coups de pinceau détendus. Il présente une ambiance naturellement éclairée et des coups de pinceau visibles. Vue latérale d'une voiture. La voiture est garée sur une route mouillée et réfléchissante, avec les lumières de la ville qui se reflètent dans les flaques d'eau. Stylisation de l'image d'une personne avec ajout du maillage du visage en entrée 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, avec un visage souriant, face à 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 ajout du maillage du visage en entrée Image du sujet (1 à 3)
Image de contrôle avec maillage du visage (1)Crée une image ${STYLE_PROMPT} 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 dans un style de dessin animé 3D 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 avec un visage souriant, face à 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 Envoyer une requête de personnalisation contrôlée Imagen 3
Utilisez les exemples suivants pour envoyer une requête de personnalisation contrôlée Imagen 3 :
REST
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
ouasia-northeast3
, par exemple). Pour obtenir la liste des régions disponibles, consultez IA générative sur les emplacements Vertex AI. - TEXT_PROMPT : la requête textuelle guide les images générées par le modèle. Pour utiliser la personnalisation contrôlée Imagen 3, incluez le
referenceId
de l'image de référence de contrôle que vous fournissez au format [$referenceId]. Par exemple :- Générer une image alignée sur le croquis de carte [1] pour qu'elle corresponde à la description : [image description].
- BASE64_CONTROL_IMAGE : image de contrôle de base (croquis). L'image doit être spécifiée en tant que chaîne d'octets encodés en base64.
PourCONTROL_TYPE_SCRIBBLE
: l'image de contrôle au format Croquis attendue présente un fond noir et une ligne de croquis blanche.
PourCONTROL_TYPE_CANNY
: l'image de contrôle au format Contours de Canny attendue présente un fond noir et des contours de Canny blancs. - CONTROL_TYPE : type du signal de contrôle. Utilisez
CONTROL_TYPE_CANNY
pour le format Contours de Canny. UtilisezCONTROL_TYPE_SCRIBBLE
pour le format Croquis. enableControlImageComputation
: définissez cette valeur surfalse
si vous fournissez votre propre image de contrôle. Dans ce cas,B64_BASE_IMAGE
doit être l'image du signal de contrôle. Définissez cette valeur surtrue
si vous souhaitez qu'Imagen calcule l'image de contrôle à partir de l'image de référence. Dans ce cas,B64_BASE_IMAGE
doit être l'image RVB brute.- 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_CONTROL", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_CONTROL_IMAGE" }, "controlImageConfig": { "controlType": "CONTROL_TYPE", "enableControlImageComputation": false } } ] } ], "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"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
Griffonner
Contour de Canny
Envoyer une requête de personnalisation contrôlée Imagen 2
Image d'entrée Autres paramètres Image de sortie Image d'entrée. Source de l'image : Alec Cutter sur Unsplash. Requête : "version d'art numérique"
Requête négative : "noir et blanc"
Type d'image guide : RVB standard
Condition de contrôle : format Contours de Canny
Échelle de contrôle d'Imagen : 0,95
Image d'entrée. Source de l'image : Alec Cutter sur Unsplash
(détection des contours de Canny appliquée).Requête : "version d'art numérique"
Requête négative : "noir et blanc"
Type d'image guide : format Contours de Canny
Échelle de contrôle d'Imagen : 0,95
Utilisez les exemples suivants pour envoyer une requête de personnalisation contrôlée Imagen 2 :
Console
-
Dans la console Google Cloud , accédez à la page Vertex AI>Media Studio .
-
Dans le panneau de tâches en bas, cliquez sur
Modifier l'image. -
Cliquez sur Importer pour sélectionner une image stockée localement afin de la modifier.
-
Dans la section Mode du panneau Paramètres, cliquez sur Contrôle.
-
Facultatif. Modifiez le Nombre de résultats, fournissez une Requête négative ou modifiez les paramètres Options avancées > Région.
-
Dans la section Options avancées, sélectionnez le Type d'image guide : RVB standard, Contours de Canny ou Croquis.
-
Dans la section Options avancées, sélectionnez la Condition de contrôle : Contours de Canny ou Croquis.
-
Dans le champ de requête (Rédigez votre requête…), indiquez une requête textuelle.
-
Cliquez sur
Générer.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- TEXT_PROMPT : prompt textuel qui guide le modèle pour la génération d'images. Ce champ est obligatoire pour la génération et la modification.
- B64_BASE_IMAGE : image de base à modifier ou à améliorer. L'image doit être spécifiée en tant que chaîne d'octets encodés en base64. Limite de taille : 10 Mo.
- EDIT_IMAGE_COUNT : nombre d'images modifiées. Valeur par défaut : 4.
- NEGATIVE_PROMPT : requête négative pour aider à générer les images. Par exemple : "animaux" (supprime les animaux), "floutage" (rend l'image plus claire), "texte" (supprime le texte) ou "recadrer" (supprime les images recadrées).
-
CONDITION :
string
. Type de signal d'image de contrôle fourni. Valeurs :cannyEdges
ouscribble
. -
CONTROL_SCALE :
float
. Intensité du signal d'image de contrôle. Valeurs :0.0
à1.0
. Valeur par défaut :0.95
. Plage recommandée :0.9
à1.0
. -
SAMPLING_STEPS :
integer
. Nombre d'étapes d'échantillonnage. Valeurs :1
à30
. Valeur par défaut :16
. -
COMPUTE_CONDITION_MAP :
boolean
. Indique si une carte de conditions doit être calculée à partir de votre image d'entrée de base. Lorsque ce paramètre est défini surfalse
, le service s'attend à ce que l'image d'entrée soit un croquis ou des contours de Canny, et l'image est fournie directement au modèle. Lorsque ce paramètre est défini surtrue
, le service s'attend à ce que l'image d'entrée soit une image RVB. Il calcule ensuite les contours de Canny ou les informations du croquis à partir de votre image d'entrée en fonction deconditionName
. Le service fournit ensuite la carte de conditions traitée au modèle pour la modification d'image. Lorsque vous fournissez des images de croquis, elles doivent avoir un arrière-plan noir et des lignes blanches représentant l'objet à générer. Valeur par défaut :false
.
Méthode HTTP et URL :
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict
Corps JSON de la requête :
{ "instances": [ { "prompt": "TEXT_PROMPT", "image": { "bytesBase64Encoded": "B64_BASE_IMAGE" } } ], "parameters": { "sampleCount": EDIT_IMAGE_COUNT, "negativePrompt": "NEGATIVE_PROMPT", "controlPluginConfig": { "conditions": [ { "conditionName": "CONDITION", "controlScale": CONTROL_SCALE, "samplingSteps": SAMPLING_STEPS, "computeConditionMap": COMPUTE_CONDITION_MAP } ] } } }
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict" | Select-Object -Expand Content"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" } ] }
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 :
- Guide du développeur pour bien démarrer avec Imagen 3 sur Vertex AI
- Nouveaux outils et modèles multimédias génératifs, conçus avec et pour les créateurs
- Nouveautés dans Gemini : Gems personnalisés et génération d'images améliorée avec Imagen 3
- Google DeepMind : Imagen 3 – Notre modèle texte-vers-image le plus puissant
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/10/19 (UTC).