Essayer la génération d'images (Vertex AI Studio)
Cette page explique comment utiliser un nombre de départ dans Imagen sur Vertex AI pour générer des images déterministes.
Un nombre source est un nombre que vous ajoutez à une requête pour rendre les images générées non déterministes déterministes. Déterministe signifie que chaque fois que vous générez une image avec Imagen, vous obtenez le même résultat.
Par exemple, vous pouvez fournir une requête, définir le nombre de résultats sur 1 et utiliser un numéro source pour obtenir la même image chaque fois que vous utilisez les mêmes valeurs d'entrée. Si vous envoyez la même requête avec un nombre de résultats défini sur 8, vous obtiendrez les huit mêmes images.
Utiliser un seed pour générer des images
Procédez comme suit :
REST
Le numéro source est un champ facultatif dans l'objet parameters
du corps d'une requête JSON.
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 Imagen à utiliser. Pour en savoir plus sur les modèles disponibles, consultez Modèles Imagen.
- 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. 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 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 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 :
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/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 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": false
pour 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://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" } ] }
Remplacez les éléments suivants :
- 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": false
pour utiliser ce champ. Valeurs entières acceptées : de1
à2147483647
.
- 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
{
"instances": [
...
],
"parameters": {
"sampleCount": IMAGE_COUNT,
"seed": SEED_NUMBER,
// required for model version 006 and greater only when using a seed number
"addWatermark": false
}
}
Étapes suivantes
- Utiliser le réécriveur de requêtes
- Définir la langue des requêtes textuelles
- Configurer les proportions
- Omettre du contenu à l'aide d'une requête négative