L'API Imagen vous permet de générer des images de haute qualité en quelques secondes, en utilisant des requêtes textuelles pour guider la génération.
Afficher la fiche du modèle Imagen pour la génération d'images
Versions de modèles compatibles
L'API Imagen est compatible avec les modèles suivants :
imagen-4.0-generate-001imagen-4.0-fast-generate-001imagen-4.0-ultra-generate-001imagen-3.0-generate-002imagen-3.0-generate-001imagen-3.0-fast-generate-001imagen-3.0-capability-001
Pour en savoir plus sur les fonctionnalités disponibles avec chaque modèle, consultez Modèles Imagen.
Exemple de syntaxe
Syntaxe pour créer une image à partir d'un prompt textuel.
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()
Générer des images
REST
| Paramètres | |
|---|---|
addWatermark |
Facultatif. Ajoute un filigrane invisible aux images générées.
La valeur par défaut est |
aspectRatio |
Facultatif. Format de l'image de sortie générée. La valeur par défaut est "1:1". |
enhancePrompt |
Facultatif. Paramètre facultatif permettant d'utiliser une fonctionnalité de reformulation de prompt basée sur un LLM pour générer des images de meilleure qualité qui reflètent mieux l'intention du prompt 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. |
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 |
prompt |
Obligatoire. Prompt textuel pour l'image. |
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 |
safetySetting |
Facultatif. Ajoute un niveau de filtrage de sécurité. Les valeurs suivantes sont acceptées :
La valeur par défaut est |
sampleCount |
Obligatoire. Nombre d'images à générer. La valeur par défaut est 4. |
sampleImageSize |
Facultatif. Spécifie la résolution de sortie de l'image générée. Les valeurs acceptées sont |
seed |
Facultatif. Graine aléatoire pour la génération d'images. Ce paramètre n'est pas disponible lorsque
Si |
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 à la requête REST.
| Paramètre | |
|---|---|
predictions |
Un tableau d'objets VisionGenerativeModelResult, un pour chaque sampleCount demandé. Si des images sont filtrées par l'IA responsable, elles ne sont pas incluses, sauf si includeRaiReason est défini sur true.
|
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. Absent si l'image de sortie n'a pas passé les filtres d'IA responsable. |
mimeType |
Type de l'image générée. Absent si l'image de sortie n'a pas passé les filtres d'IA responsable. |
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 | |
|---|---|
add_watermark |
Facultatif. Ajoute un filigrane à l'image générée.
La valeur par défaut est |
aspect_ratio |
Facultatif. Format de l'image de sortie générée. La valeur par défaut est "1:1". |
compression_quality |
Facultatif. Niveau de compression si le type MIME de sortie est |
language |
Facultatif. Langue du prompt textuelle de l'image. Les valeurs suivantes sont acceptées :
La valeur par défaut est |
negative_prompt |
Facultatif. Description de ce que vous ne voulez pas voir apparaître dans les images générées.
|
number_of_images |
Obligatoire. Nombre d'images à générer. La valeur par défaut est de 1. |
output_gcs_uri |
Facultatif. URI Cloud Storage pour stocker les images générées. |
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 |
prompt |
Obligatoire. Prompt textuel pour l'image. |
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 |
safety_filter_level |
Facultatif. Ajoute un niveau de filtrage de sécurité. Les valeurs suivantes sont acceptées :
La valeur par défaut est |
sample_image_size |
Facultatif. Spécifie la résolution de sortie de l'image générée. Les valeurs acceptées sont |
seed |
Facultatif. Graine aléatoire pour la génération d'images. Ce paramètre n'est pas disponible lorsque
Si |
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 :
- 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 .
-
MODEL_VERSION : version du modèle Imagen à utiliser. Pour en savoir plus sur les modèles disponibles, consultez Modèles Imagen.
- 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.
-
IMAGE_COUNT : nombre d'images à générer. La plage de valeurs acceptée est comprise entre
1et4. - 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
truecontient un SynthID numérique que vous pouvez utiliser pour vérifier une image avec filigrane. Si vous omettez ce champ, la valeur par défauttrueest utilisée. Vous devez définir la valeur surfalsepour désactiver cette fonctionnalité. Vous pouvez utiliser le champseedpour obtenir un résultat déterministe uniquement lorsque ce champ est défini surfalse. - ASPECT_RATIO : chaîne. Facultatif. Un paramètre du 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 prompt basée sur un LLM pour générer des images de meilleure qualité qui reflètent mieux l'intention du prompt d'origine. La désactivation de cette fonctionnalité peut avoir un impact sur la qualité de l'image et le respect du prompt. 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 :
true. - INCLUDE_SAFETY_ATTRIBUTES : valeur booléenne. Facultatif. Indique si les scores d'IA responsable doivent être arrondis pour 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/jpegimage/gifimage/pngimage/webpimage/bmpimage/tiffimage/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 de seed génère toujours les mêmes images de sortie. Si le modèle que vous utilisez est compatible avec les filigranes numériques, vous devez définir
"addWatermark": falsepour utiliser ce champ. Valeurs entières acceptées : de1à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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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 prompts, la réponse inclut un champ prompt supplémentaire avec le prompt amélioré utilisé 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 sur l'utilisation des 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.
Étapes suivantes
- 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.