L'API Imagen vous permet de créer des images de haute qualité en quelques secondes, en utilisant des requêtes textuelles pour guider la génération. Vous pouvez également améliorer la qualité des images à l'aide de l'API Imagen.
Afficher la fiche du modèle Imagen pour la génération d'images
Modèles compatibles
Modèle | Code |
---|---|
Génération d'images | imagen-3.0-generate-002 imagen-3.0-generate-001 imagen-3.0-fast-generate-001 imagegeneration@006 imagegeneration@005 imagegeneration@002 |
Pour en savoir plus sur les fonctionnalités disponibles avec chaque modèle, consultez Versions de modèles.
Exemple de syntaxe
Syntaxe pour créer une image à partir d'une requête textuelle.
Syntaxe
Syntaxe pour générer 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/${MODEL_VERSION}:predict \ -d '{ "instances": [ { "prompt": "..." } ], "parameters": { "sampleCount": ... } }'
Python
generation_model = ImageGenerationModel.from_pretrained("MODEL_VERSION") response = generation_model.generate_images( prompt="...", negative_prompt="...", aspect_ratio=..., ) response.images[0].show()
Liste des paramètres
Consultez des exemples pour en savoir plus sur l'implémentation.
Générer des images
REST
Paramètres | |
---|---|
prompt |
Obligatoire : Requête textuelle pour l'image. Le modèle Le modèle Le modèle Le modèle Le modèle Le modèle |
sampleCount |
Obligatoire : Nombre d'images à générer. La valeur par défaut est 4. Le modèle Le modèle Le modèle Le modèle Le modèle Le modèle |
seed |
Facultatif : Graine aléatoire pour la génération d'images. Ce paramètre n'est pas disponible lorsque Si |
enhancePrompt |
Facultatif : Paramètre facultatif permettant d'utiliser une fonctionnalité de reformulation de requête basée sur un LLM pour générer des images de meilleure qualité qui reflètent mieux l'intention de la requête d'origine. La désactivation de cette fonctionnalité peut avoir un impact sur la qualité de l'image et le respect de la requête. Le modèle Le modèle Le modèle Le modèle Le modèle Le modèle |
negativePrompt |
Facultatif : Description de ce que vous ne voulez pas voir apparaître dans les images générées. Le modèle Le modèle Le modèle Le modèle Le modèle Le modèle |
aspectRatio |
Facultatif : Format de l'image. La valeur par défaut est "1:1". Le modèle Le modèle Le modèle Le modèle Le modèle Le modèle |
outputOptions |
Facultatif : Décrit le format des images de sortie dans un objet |
sampleImageStyle |
Facultatif : Définit le style des images générées. Les valeurs suivantes sont acceptées :
|
personGeneration |
Facultatif : Autorise ou non la génération de personnes par le modèle. Les valeurs suivantes sont acceptées :
La valeur par défaut est |
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)
|
safetySetting |
Facultatif : Ajoute un niveau de filtrage de sécurité. Les valeurs suivantes sont acceptées :
La valeur par défaut est |
addWatermark |
Facultatif : Ajoute un filigrane invisible aux images généré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 |
Réponse
Corps de la réponse de la requête REST.
Paramètre | |
---|---|
predictions |
Un tableau d'objets |
Objet du résultat du modèle génératif de vision
Informations sur le résultat du modèle.
Paramètre | |
---|---|
bytesBase64Encoded |
Image générée encodée en base64. Non présente si l'image de sortie n'a pas passé les filtres d'IA responsables. |
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. |
raiFilteredReason |
Motif du filtrage par l'IA responsable. Renvoyé uniquement si |
safetyAttributes.categories |
Nom de l'attribut de sécurité. Renvoyé uniquement si |
safetyAttributes.scores |
Score de l'attribut de sécurité. Renvoyé uniquement si |
Python
Paramètres | |
---|---|
prompt |
Obligatoire : Requête textuelle pour l'image. Le modèle Le modèle Le modèle Le modèle Le modèle |
number_of_images |
Obligatoire : Nombre d'images à générer. La valeur par défaut est 1. Le modèle Le modèle Le modèle Le modèle Le modèle |
seed |
Facultatif : Graine aléatoire pour la génération d'images. Ce paramètre n'est pas disponible lorsque Si |
negative_prompt |
Facultatif : Description de ce que vous ne voulez pas voir apparaître dans les images générées. Le modèle Le modèle Le modèle Le modèle Le modèle |
aspect_ratio |
Facultatif : Format de l'image. La valeur par défaut est "1:1". Le modèle Le modèle Le modèle |
output_mime_type |
Facultatif : Format d'image dans lequel la sortie doit être enregistrée. Les valeurs suivantes sont acceptées :
La valeur par défaut est |
compression_quality |
Facultatif : Niveau de compression si le type MIME de sortie est |
language |
Facultatif : Langue de la requête textuelle de l'image. Les valeurs suivantes sont acceptées :
La valeur par défaut est |
output_gcs_uri |
Facultatif : URI Cloud Storage pour stocker les images générées. |
add_watermark |
Facultatif : Ajoute un filigrane à l'image générée. La valeur par défaut est |
safety_filter_level |
Facultatif : Ajoute un niveau de filtrage de sécurité. Les valeurs suivantes sont acceptées :
La valeur par défaut est |
person_generation |
Facultatif : Autorise ou non la génération de personnes par le modèle. Les valeurs suivantes sont acceptées :
La valeur par défaut est |
Augmenter la résolution des images
REST
Paramètre | |
---|---|
mode |
Obligatoire : Doit être défini sur |
upscaleConfig |
Obligatoire : |
outputOptions |
Facultatif : Décrit le format des images de sortie dans un objet |
storageUri |
Facultatif : URI Cloud Storage pour stocker les images générées. |
Objet UpscaleConfig
Paramètre | |
---|---|
upscaleConfig.upscaleFactor |
Obligatoire : Facteur d'augmentation. Les valeurs acceptées sont |
Réponse
Corps de la réponse de la requête REST.
Paramètre | |
---|---|
predictions |
Un tableau d'objets |
Exemples
Les exemples suivants montrent comment utiliser les modèles Imagen pour générer des images.
Générer des images
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- MODEL_VERSION : version du modèle
imagegeneration
à utiliser. Valeurs disponibles :- Imagen 3 :
imagen-3.0-generate-002
(modèle le plus récent)imagen-3.0-generate-001
imagen-3.0-fast-generate-001
: version du modèle à faible latence.
-
Version du modèle par défaut :
imagegeneration
: utilise la version de modèle par défaut v.006. Nous vous recommandons de toujours spécifier la version du modèle, en particulier dans les environnements de production.
Pour en savoir plus sur les versions et les fonctionnalités des modèles, consultez la section Versions de modèles.
- Imagen 3 :
- 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 de texte qui guide les images générées par le modèle. Ce champ est obligatoire pour la génération et la modification.
- IMAGE_COUNT : nombre d'images générées.
Valeurs entières acceptées : de 1 à 8 (
imagegeneration@002
), de 1 à 4 (toutes les autres versions de modèle). Valeur par défaut : 4. - ADD_WATERMARK : valeur booléenne. Facultatif. Active ou non un filigrane pour les images générées.
Toute image générée lorsque le champ est défini sur
true
contient un SynthID numérique que vous pouvez utiliser pour vérifier une image avec filigrane. Si vous omettez ce champ, la valeur par défauttrue
est utilisée. Vous devez définir la valeur surfalse
pour désactiver cette fonctionnalité. Vous pouvez utiliser le champseed
pour obtenir un résultat déterministe uniquement lorsque ce champ est défini surfalse
. - ASPECT_RATIO : chaîne. Facultatif. Un paramètre de mode de génération qui contrôle le format. Valeurs de format acceptées et utilisation prévue :
1:1
(par défaut, carré)3:4
(publicités, réseaux sociaux)4:3
(TV, photographie)16:9
(paysage)9:16
(portrait)
- ENABLE_PROMPT_REWRITING : valeur booléenne. Facultatif. Paramètre permettant d'utiliser une fonctionnalité de reformulation de requête basée sur un LLM pour générer des images de meilleure qualité qui reflètent mieux l'intention de la requête d'origine. La désactivation de cette fonctionnalité peut avoir un impact sur la qualité de l'image et le respect de la requête. Valeur par défaut :
true
. - INCLUDE_RAI_REASON : valeur booléenne. Facultatif. Indique si le code de motif de filtrage par IA responsable doit être activé dans les réponses comportant une entrée ou une sortie bloquée. Valeur par défaut :
false
. - INCLUDE_SAFETY_ATTRIBUTES : valeur booléenne. Facultatif. Indique si les scores d'IA responsable doivent être arrondis pour obtenir une liste d'attributs de sécurité dans les réponses d'entrée et de sortie non filtrées. Catégories d'attributs de sécurité :
"Death, Harm & Tragedy"
,"Firearms & Weapons"
,"Hate"
,"Health"
,"Illicit Drugs"
,"Politics"
,"Porn"
,"Religion & Belief"
,"Toxic"
,"Violence"
,"Vulgarity"
et"War & Conflict"
. Valeur par défaut :false
. - MIME_TYPE : chaîne. Facultatif. Type MIME du contenu de l'image. Valeurs disponibles :
image/jpeg
image/gif
image/png
image/webp
image/bmp
image/tiff
image/vnd.microsoft.icon
- COMPRESSION_QUALITY : entier. Facultatif. S'applique uniquement aux fichiers de sortie JPEG. Niveau de détail conservé par le modèle pour les images générées au format JPEG. Valeurs : de
0
à100
. Plus la valeur est élevée, plus la compression est importante. Par défaut :75
. - PERSON_SETTING : chaîne. Facultatif. Paramètre de sécurité qui contrôle le type de génération de personnes ou de visages autorisé par le modèle. Valeurs disponibles :
allow_adult
(par défaut) : autorise uniquement la génération d'adultes, à l'exception de la génération de célébrités. La génération de célébrités n'est autorisée pour aucun paramètre.dont_allow
: désactive l'inclusion de personnes ou de visages dans les images générées.
- SAFETY_SETTING : chaîne. Facultatif. Paramètre qui contrôle les seuils de filtre de sécurité pour les images générées. Valeurs disponibles :
block_low_and_above
: seuil de sécurité le plus élevé qui entraîne le filtrage de la plus grande quantité d'images générées. Valeur précédente :block_most
.block_medium_and_above
(par défaut) : seuil de sécurité moyen qui équilibre le filtrage des contenus potentiellement dangereux et sécurisés. Valeur précédente :block_some
.block_only_high
: seuil de sécurité qui réduit le nombre de requêtes bloquées en raison de filtres de sécurité. Ce paramètre peut augmenter le volume de contenus répréhensibles générés par Imagen. Valeur précédente :block_few
.
- SEED_NUMBER : entier. Facultatif. Tout entier non négatif que vous fournissez pour rendre les images de sortie déterministes. Fournir le même numéro source donne toujours les mêmes images de sortie. Si le modèle que vous utilisez est compatible avec le filigrane numérique, vous devez définir
"addWatermark": false
pour utiliser ce champ. Valeurs entières acceptées :1
à2147483647
. - OUTPUT_STORAGE_URI : chaîne. Facultatif. Bucket Cloud Storage utilisé pour stocker les images de sortie. Si aucune valeur n'est fournie, les octets d'image encodés en base64 sont renvoyés dans la réponse. Exemple de valeur :
gs://image-bucket/output/
.
Paramètres facultatifs supplémentaires
Utilisez les variables facultatives suivantes en fonction de votre cas d'utilisation. Ajoutez l'ensemble ou une partie des paramètres suivants dans l'objet "parameters": {}
.
Cette liste présente des paramètres facultatifs courants et n'est pas exhaustive. Pour en savoir plus sur les paramètres facultatifs, consultez la section "Générer des images" de la documentation de référence de l'API Imagen.
"parameters": { "sampleCount": IMAGE_COUNT, "addWatermark": ADD_WATERMARK, "aspectRatio": "ASPECT_RATIO", "enhancePrompt": ENABLE_PROMPT_REWRITING, "includeRaiReason": INCLUDE_RAI_REASON, "includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES, "outputOptions": { "mimeType": "MIME_TYPE", "compressionQuality": COMPRESSION_QUALITY }, "personGeneration": "PERSON_SETTING", "safetySetting": "SAFETY_SETTING", "seed": SEED_NUMBER, "storageUri": "OUTPUT_STORAGE_URI" }
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict
Corps JSON de la requête :
{ "instances": [ { "prompt": "TEXT_PROMPT" } ], "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/MODEL_VERSION: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/MODEL_VERSION: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" } ] }
Si vous utilisez un modèle compatible avec l'amélioration des requêtes, la réponse inclut un champ prompt
supplémentaire avec la requête améliorée utilisée pour la génération :
{ "predictions": [ { "mimeType": "MIME_TYPE", "prompt": "ENHANCED_PROMPT_1", "bytesBase64Encoded": "BASE64_IMG_BYTES_1" }, { "mimeType": "MIME_TYPE", "prompt": "ENHANCED_PROMPT_2", "bytesBase64Encoded": "BASE64_IMG_BYTES_2" } ] }
Python
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le guide de démarrage rapide de Vertex AI à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI pour Python.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Dans cet exemple, vous appelez la méthode generate_images
sur le ImageGenerationModel
(version @006
) et enregistrez localement les images générées. Vous pouvez ensuite utiliser la méthode show()
dans un notebook pour afficher les images générées. Pour en savoir plus sur les versions et les fonctionnalités des modèles, consultez Versions de modèles.
Augmenter la résolution des images
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- 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. - PROJECT_ID : ID de votre projet Google Cloud .
- 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. La taille maximale est de 10 Mo.
- IMAGE_SOURCE : emplacement Cloud Storage de l'image que vous souhaitez modifier ou améliorer. Exemple :
gs://output-bucket/source-photos/photo.png
. - UPSCALE_FACTOR : facultatif. Facteur d'amélioration de l'image. S'il n'est pas spécifié, il sera déterminé par le côté le plus long de l'image d'entrée et par
sampleImageSize
. Vous pouvez choisirx2
oux4
comme valeur.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@002:predict
Corps JSON de la requête :
{ "instances": [ { "prompt": "", "image": { // use one of the following to specify the image to upscale "bytesBase64Encoded": "B64_BASE_IMAGE" "gcsUri": "IMAGE_SOURCE" // end of base image input options }, } ], "parameters": { "sampleCount": 1, "mode": "upscale", "upscaleConfig": { "upscaleFactor": "UPSCALE_FACTOR" } } }
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/imagegeneration@002: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/imagegeneration@002:predict" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "predictions": [ { "mimeType": "image/png", "bytesBase64Encoded": "iVBOR..[base64-encoded-upscaled-image]...YII=" } ] }
Étape suivante
- Pour en savoir plus, consultez Présentation d'Imagen sur Vertex AI et Générer des images à l'aide de requêtes de texte.