L'API Imagen vous permet de créer des images de haute qualité en quelques secondes, en vous appuyant sur des requêtes textuelles et des images de référence pour guider la génération de style ou de sujet.
Afficher la fiche de modèle Imagen pour la modification et la personnalisation
Modèles compatibles
Modèle | Code |
---|---|
Personnalisation à l'aide d'images de référence (few-shot) | imagen-3.0-capability-001 |
Pour en savoir plus sur les fonctionnalités disponibles avec chaque modèle, consultez Modèles Imagen.
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
Exemple de syntaxe
Syntaxe pour personnaliser une image à partir d'une requête textuelle et d'images de référence.
Syntaxe
Syntaxe pour personnaliser une image.
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/imagen-3.0-capability-001:predict \ -d '{ "instances": [ { // Use [1] to refer to the reference images with referenceId=1 // [2] to refer to the reference images with referenceId=2, // following the same format for all reference IDs that you provide. "prompt": "${TEXT_PROMPT}", "referenceImages": [ // A list of at most 4 reference image objects. [...] ] } ], "parameters": { [...] } }'
Exemple de corps de requête :
Cette requête concerne la personnalisation d'une personne avec une image de contrôle du maillage du visage et trois images de référence.
{ "instances": [ { "prompt": "Create an image about a man with short hair [1] in the pose of control image [2] to match the description: A pencil style sketch of a full-body portrait of a man with short hair [1] with hatch-cross drawing, hatch drawing of portrait with 6B and graphite pencils, white background, pencil drawing, high quality, pencil stroke, looking at camera, natural human eyes", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_CONTROL", "referenceId": 2, "referenceImage": { "bytesBase64Encoded": "${IMAGE_BYTES_1}" }, "controlImageConfig": { "controlType": "CONTROL_TYPE_FACE_MESH", "enableControlImageComputation": true } }, { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "${IMAGE_BYTES_2}" }, "subjectImageConfig": { "subjectDescription": "a man with short hair", "subjectType": "SUBJECT_TYPE_PERSON" } }, { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "${IMAGE_BYTES_3}" }, "subjectImageConfig": { "subjectDescription": "a man with short hair", "subjectType": "SUBJECT_TYPE_PERSON" } }, { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "${IMAGE_BYTES_4}" }, "subjectImageConfig": { "subjectDescription": "a man with short hair", "subjectType": "SUBJECT_TYPE_PERSON" } } ] } ], "parameters": { "negativePrompt": "wrinkles, noise, Low quality, dirty, low res, multi face, rough texture, messy, messy background, color background, photo realistic, photo, super realistic, signature, autograph, sign, text, characters, alphabet, letter", "seed": 1, "language": "en", "sampleCount": 4 } }
Liste des paramètres
Consultez des exemples pour en savoir plus sur l'implémentation.
Personnaliser des images
REST
Paramètres | |
---|---|
referenceType |
Énumération des paramètres requis :
|
referenceId |
integer (obligatoire)ID de référence. Utilisez cet ID de référence dans la requête. Par exemple, utilisez [1] pour renvoyer aux images de référence avec referenceId=1, et [2] pour renvoyer aux images de référence avec referenceId=2.
|
referenceImage.bytesBase64Encoded |
string (obligatoire) Chaîne en base64 pour l'image de référence encodée. |
maskImageConfig.maskMode |
Énumération des paramètres facultatifs :
Spécifié lorsque referenceType est défini sur REFERENCE_TYPE_MASK .
|
maskImageConfig.dilation |
float (facultatif). Plage : [0, 1]Pourcentage de la largeur de l'image à utiliser pour dilater ce masque. Spécifié lorsque referenceType est défini sur REFERENCE_TYPE_MASK .
|
maskImageConfig.maskClasses |
list[Integer] facultatif.Classes de masque pour le mode MASK_MODE_SEMANTIC .Spécifié lorsque referenceType est défini sur REFERENCE_TYPE_MASK .
|
controlImageConfig.controlType |
Énumération des paramètres requis :
Spécifié lorsque referenceType est défini sur REFERENCE_TYPE_CONTROL .
|
controlImageConfig.enableControlImageComputation |
bool (facultatif).Par défaut : false .
Spécifié lorsque referenceType est défini sur REFERENCE_TYPE_CONTROL .
|
language |
Facultatif : Code de la langue de votre requête textuelle. Les valeurs suivantes sont acceptées :
en : anglais (valeur par défaut en cas d'omission)
|
subjectImageConfig.subjectDescription |
string (obligatoire).Brève description du sujet de l'image. Par exemple, une femme aux cheveux bruns courts. Spécifié lorsque referenceType est défini sur REFERENCE_TYPE_SUBJECT .
|
subjectImageConfig.subjectType |
Énumération des paramètres requis :
Spécifié lorsque referenceType est défini sur REFERENCE_TYPE_SUBJECT .
|
styleImageConfig.styleDescription |
string (facultatif).Brève description du style. Spécifié lorsque referenceType est défini sur REFERENCE_TYPE_STYLE .
|
Réponse
Corps de la réponse à la requête REST.
Paramètre | |
---|---|
predictions |
Un tableau d'objets |
Objet du résultat du modèle génératif Vision
Informations sur le résultat du modèle.
Paramètre | |
---|---|
bytesBase64Encoded |
Image générée encodée en base64. Absent si l'image de sortie n'a pas passé les filtres d'IA responsable. |
mimeType |
Type de l'image générée. Non présent si l'image de sortie n'a pas passé les filtres d'IA responsables. |
Exemples
Les exemples suivants montrent comment utiliser le modèle Imagen pour personnaliser des images.
Personnaliser des images
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 : 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 deux images de référence avec
"referenceId": 1
. Les deux images sont accompagnées d'une description facultative de"subjectDescription": "man with short hair"
: Crée une image d'un homme aux cheveux courts correspondant à la description : un croquis au crayon d'un portrait en pied d'un man with short hair [1] avec un dessin en hachures, dessin en hachures du portrait avec des crayons 6B et graphite, fond blanc, dessin au crayon, haute qualité, trait de crayon, regardant l'objectif, yeux humains naturels
- La requête textuelle suivante concerne une requête comportant deux images de référence avec
"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, les deux images de référence correspondent à la même personne. Elles partagent donc le mêmereferenceId
(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.
- SUBJECT_DESCRIPTION : facultatif. Description textuelle de l'image de référence que vous pouvez ensuite utiliser dans le champ
prompt
. Exemple :"prompt": "a full-body portrait of a man with short hair [1] with hatch-cross drawing", [...], "subjectDescription": "man with short hair"
- 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_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE" }, "subjectImageConfig": { "subjectDescription": "SUBJECT_DESCRIPTION", "subjectType": "SUBJECT_TYPE_PERSON" } }, { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE" }, "subjectImageConfig": { "subjectDescription": "SUBJECT_DESCRIPTION", "subjectType": "SUBJECT_TYPE_PERSON" } } ] } ], "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" } ] }
ID de classe
Utilisez les ID de classe d'objets suivants pour créer automatiquement un masque d'image basé sur des objets spécifiques.
ID de classe (class_ ) |
Objet |
---|---|
0 | sac à dos |
1 | parapluie |
2 | sac |
3 | cravate |
4 | valise |
5 | étui |
6 | oiseau |
7 | chat |
8 | chien |
9 | cheval |
10 | mouton |
11 | vache |
12 | éléphant |
13 | ours |
14 | zèbre |
15 | girafe |
16 | animal (autre) |
17 | micro-ondes |
18 | radiateur |
19 | four |
20 | grille-pain |
21 | réservoir de stockage |
22 | tapis roulant |
23 | évier |
24 | réfrigérateur |
25 | lave-linge séchant |
26 | ventilateur |
27 | lave-vaisselle |
28 | toilettes |
29 | baignoire |
30 | douche |
31 | tunnel |
32 | pont |
33 | jetée |
34 | tente |
35 | bâtiment |
36 | plafond |
37 | ordinateur portable |
38 | clavier |
39 | souris |
40 | télécommande |
41 | téléphone portable |
42 | télévision |
43 | étage |
44 | scène |
45 | banane |
46 | pomme |
47 | sandwich |
48 | orange |
49 | brocoli |
50 | carotte |
51 | hot dog |
52 | pizza |
53 | beignet |
54 | gâteau |
55 | fruit (autre) |
56 | aliment (autre) |
57 | chaise (autre) |
58 | fauteuil |
59 | siège de bureau |
60 | tabouret |
61 | siège |
62 | canapé |
63 | poubelle |
64 | plante en pot |
65 | table de chevet |
66 | lit |
67 | table |
68 | table de billard |
69 | tonneau |
70 | bureau |
71 | méridienne |
72 | penderie |
73 | lit d'enfant |
74 | panier |
75 | commode |
76 | bibliothèque |
77 | rangement (autre) |
78 | meuble de salle de bain |
79 | îlot de cuisine |
80 | porte |
81 | éclairage (autre) |
82 | lampe |
83 | applique |
84 | lustre |
85 | miroir |
86 | tableau blanc |
87 | étagère |
88 | escaliers |
89 | escalier mécanique |
90 | meuble de rangement |
91 | cheminée |
92 | cuisinière |
93 | borne d'arcade |
94 | gravier |
95 | plate-forme |
96 | terrain de sport |
97 | chemin de fer |
98 | route |
99 | neige |
100 | trottoir |
101 | piste |
102 | relief |
103 | livre |
104 | boîte |
105 | horloge |
106 | vase |
107 | ciseaux |
108 | jouet (autre) |
109 | ours en peluche |
110 | sèche-cheveux |
111 | brosse à dents |
112 | peinture |
113 | affiche |
114 | panneau d'affichage |
115 | bouteille |
116 | tasse |
117 | verre de vin |
118 | couteau |
119 | fourchette |
120 | cuillère |
121 | bol |
122 | plateau |
123 | hotte aspirante |
124 | assiette |
125 | personne |
126 | pilote (autre) |
127 | cycliste |
128 | motocycliste |
129 | papier |
130 | lampadaire |
131 | barrière |
132 | boîte aux lettres |
133 | caméra de surveillance |
134 | boîtier de raccordement |
135 | panneau de signalisation |
136 | feu tricolore |
137 | borne d'incendie |
138 | horodateur |
139 | banc |
140 | range-vélos |
141 | panneau publicitaire |
142 | ciel |
143 | poteau |
144 | clôture |
145 | rampe |
146 | garde-fou |
147 | colline montagneuse |
148 | rocher |
149 | frisbee |
150 | skis |
151 | snowboard |
152 | ballon de sport |
153 | cerf-volant |
154 | batte de base-ball |
155 | gant de base-ball |
156 | skateboard |
157 | planche de surf |
158 | raquette de tennis |
159 | filet |
160 | base |
161 | sculpture |
162 | colonne |
163 | fontaine |
164 | auvent |
165 | vêtement |
166 | bannière |
167 | drapeau |
168 | couverture |
169 | rideau (autre) |
170 | rideau de douche |
171 | oreiller |
172 | serviette |
173 | paillasson |
174 | végétation |
175 | vélo |
176 | voiture |
177 | tuk-tuk |
178 | moto |
179 | avion |
180 | bus |
181 | train |
182 | camion |
183 | remorque |
184 | bateau navire |
185 | objet à roues lent |
186 | rivière lac |
187 | mer |
188 | eau (autre) |
189 | piscine |
190 | cascade |
191 | mur |
192 | fenêtre |
193 | store |
Étape suivante
- Pour en savoir plus, consultez Imagen sur Vertex AI.