Imagen vous permet de modifier des images en quelques secondes, à l'aide de requêtes textuelles, de masques et d'images existantes pour guider les modifications.
Afficher la fiche de modèle Imagen pour la modification et la personnalisation
Versions de modèles compatibles
L'API Imagen est compatible avec les modèles suivants :
imagen-3.0-capability-001
Pour en savoir plus sur les fonctionnalités compatibles avec le modèle, consultez Modèles Imagen.
Requête HTTP
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": [
{
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_RAW",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": string
}
},
{
"referenceType": "REFERENCE_TYPE_MASK",
"referenceId": 2,
"referenceImage": {
"bytesBase64Encoded": string
},
"maskImageConfig": {
"maskMode": "MASK_MODE_USER_PROVIDED"
}
}
],
"prompt": string
}
],
"parameters": {
"addWatermark": boolean,
"baseSteps": integer,
"editMode": string,
"guidanceScale": integer,
"includeRaiReason": boolean,
"includeSafetyAttributes": boolean,
"language": string,
"negativePrompt": string,
"outputOptions": {
"mimeType": string,
"compressionQuality": integer
},
"personGeneration": string,
"safetySetting": string,
"sampleCount": integer,
"seed": integer,
"storageUri": string
}
}'
Instances
| Instances | |
|---|---|
prompt |
Facultatif. Prompt textuel pour l'image. Si aucun |
referenceImages |
Liste d'objets
Obligatoire. Pour la modification du masque, deux images de référence doivent être spécifiées, l'une avec |
Objet referenceImages
L'objet referenceImages décrit les composants Image à modifier dans Imagen.
| Paramètres | |
|---|---|
referenceType |
Obligatoire. Type d'image de référence. Choisissez l'une des options suivantes :
|
referenceId |
Obligatoire. Identifiant unique de l'image de référence. Non utilisé pour la modification masquée. |
referenceImage.bytesBase64Encoded |
Obligatoire. Octets de l'image encodés en base64. Accepte les fichiers PNG, JPEG, GIF et BMP. La taille maximale est de 20 Mo après le transcodage au format PNG. Si vous fournissez une image de masque, elle doit avoir les mêmes dimensions que l'image de base. |
maskImageConfig.maskMode |
Obligatoire lorsque
|
maskImageConfig.dilation |
Facultatif. Plage : [0, 1]. Pourcentage de la largeur de l'image à utiliser pour dilater (agrandir) le masque. Cela peut aider à compenser les masques imprécis.
Pour obtenir les meilleurs résultats, nous vous recommandons les paramètres
|
maskImageConfig.maskClasses |
Facultatif. Masque les classes pour le mode |
Paramètres
| Paramètres | |
|---|---|
addWatermark |
Facultatif. Ajoute un filigrane invisible aux images générées.
La valeur par défaut est |
baseSteps |
Facultatif. Nombre d'étapes d'échantillonnage. Une valeur plus élevée améliore la qualité de l'image, tandis qu'une valeur plus faible améliore la latence. La valeur par défaut est
Pour les zones de masque plus petites ou pour les modes de suppression ou d'insertion, utilisez les étapes |
editMode
|
Obligatoire pour la modification de masque. Énumération avec l'une des valeurs suivantes :
|
guidanceScale |
Facultatif. Contrôle dans quelle mesure le modèle respecte le prompt textuel. Des valeurs élevées augmentent la sortie et l'alignement des prompts, mais peuvent compromettre la qualité de l'image.
Plage acceptée :
Valeur par défaut : |
includeRaiReason |
Facultatif. Indique si un motif de sécurité doit être inclus dans la réponse pour les images filtrées. La valeur par défaut est |
includeSafetyAttributes |
Facultatif. Indique si les scores de sécurité de chaque image doivent être indiqués dans la réponse. La valeur par défaut est |
language |
Facultatif. Code de langue correspondant à la langue de votre requête textuelle. Les valeurs suivantes sont acceptées :
|
negativePrompt |
Facultatif. Description de ce que vous ne voulez pas voir apparaître dans les images générées. |
outputOptions |
Facultatif. Décrit le format des images de sortie dans un objet |
personGeneration |
Facultatif. Autorise ou non la génération de personnes par le modèle. Les valeurs suivantes sont acceptées :
Pour la modification basée sur un masque, |
sampleCount |
Facultatif. Nombre d'images à générer. La valeur par défaut est 4. |
seed |
Facultatif. Graine aléatoire pour la génération d'images. Ce paramètre n'est pas disponible lorsque |
safetySetting |
Facultatif. Ajoute un niveau de filtrage de sécurité. Les valeurs suivantes sont acceptées :
La valeur par défaut est
|
storageUri |
Facultatif. URI Cloud Storage pour stocker les images générées. |
Objet outputOptions
L'objet outputOptions décrit la sortie d'image.
| Paramètres | |
|---|---|
outputOptions.mimeType |
Facultatif. Format d'image dans lequel la sortie doit être enregistrée. Les valeurs suivantes sont acceptées :
La valeur par défaut est |
outputOptions.compressionQuality |
Facultatif. Niveau de compression si le type de sortie est |
Exemple de requête
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
-
REGION: région dans laquelle se trouve votre projet. Pour en savoir plus sur les régions compatibles, consultez Emplacements de l'IA générative sur Vertex AI. -
PROJECT_ID: ID de votre projet Google Cloud . -
TEXT_PROMPT: Facultatif. Une requête textuelle pour guider les images que le modèle génère. Pour de meilleurs résultats, décrivez la zone masquée et évitez les requêtes d'un seul mot. Par exemple, utilisez "un corgi mignon" au lieu de "corgi". -
B64_BASE_IMAGE: image encodée en base64 de l'image en cours de modification, dont la taille ne dépasse pas 10 Mo. Pour en savoir plus sur l'encodage en base64, consultez Encoder et décoder des fichiers en Base64. -
B64_MASK_IMAGE: image de masque en noir et blanc encodée en base64, dont la taille ne dépasse pas 10 Mo. -
MASK_DILATION: Facultatif. Valeur flottante comprise entre 0 et 1 (inclus) représentant le pourcentage de la largeur de l'image à utiliser pour agrandir le masque. L'utilisation dedilationpermet de compenser les masques imprécis. Nous vous recommandons de définir une valeur de0.01. -
EDIT_STEPS: facultatif. Entier représentant le nombre d'étapes d'échantillonnage. Une valeur plus élevée améliore la qualité de l'image, tandis qu'une valeur plus faible améliore la latence.Nous vous recommandons de commencer par
35étapes. Si la qualité ne répond pas à vos exigences, nous vous recommandons d'augmenter la valeur jusqu'à la limite supérieure de75. -
SAMPLE_COUNT: Facultatif. Entier qui décrit le nombre d'images à générer. La plage de valeurs acceptée est comprise entre1et4. La valeur par défaut est4.
Méthode HTTP et URL :
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict
Corps JSON de la requête :
{
"instances": [
{
"prompt": "TEXT_PROMPT",
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_RAW",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "B64_BASE_IMAGE"
}
},
{
"referenceType": "REFERENCE_TYPE_MASK",
"referenceImage": {
"bytesBase64Encoded": "B64_MASK_IMAGE"
},
"maskImageConfig": {
"maskMode": "MASK_MODE_USER_PROVIDED",
"dilation": MASK_DILATION
}
}
]
}
],
"parameters": {
"editConfig": {
"baseSteps": EDIT_STEPS
},
"editMode": "EDIT_MODE_INPAINT_INSERTION",
"sampleCount": SAMPLE_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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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.