Vous pouvez utiliser Gemini pour générer des images à partir d'un prompt textuel. Les interfaces compatibles incluent la console Google Cloud et l'API Agent Platform.
Les modèles Gemini suivants sont compatibles avec la génération d'images :
Cliquez pour développer la liste des modèles compatibles
Pour en savoir plus sur les fonctionnalités des modèles Gemini, consultez Modèles Gemini.
Générer des images
Vous trouverez ci-dessous la procédure à suivre pour générer des images à l'aide d'Agent Studio ou de l'API.
Pour en savoir plus sur les bonnes pratiques concernant les prompts, consultez Concevoir des prompts multimodaux.
Console
Pour générer des images avec Gemini, procédez comme suit :
- Ouvrez Agent Studio > Créer un prompt.
- Cliquez sur Changer de modèle, puis sélectionnez l'un des modèles affichés.
- Dans le panneau Sorties, sélectionnez Image et texte dans le menu déroulant.
- Rédigez une description de l'image que vous souhaitez générer dans la zone de texte Écrire un prompt.
- Cliquez sur le bouton Prompt ().
Gemini génère une image en fonction de votre description. Ce processus prend quelques secondes, mais peut être relativement plus lent en fonction de la capacité.
Python
Installer
pip install --upgrade google-genai
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Google Gen AI avec Vertex AI :
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Go
Découvrez comment installer ou mettre à jour le Go.
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Google Gen AI avec Vertex AI :
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Node.js
Installer
npm install @google/genai
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Google Gen AI avec Vertex AI :
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Java
Découvrez comment installer ou mettre à jour le Java.
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Google Gen AI avec Vertex AI :
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
REST
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${API_ENDPOINT}:generateContent \
-d '{
"contents": {
"role": "USER",
"parts": [
{
"text": "Create a tutorial explaining how to make a peanut butter and jelly sandwich in three easy steps."
}
]
},
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
},
},
"safetySettings": {
"method": "PROBABILITY",
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
}' 2>/dev/null >response.json
Gemini génère une image en fonction de votre description. Ce processus prend quelques secondes, mais peut être relativement plus lent en fonction de la capacité.
Générez du texte entrecoupé d'images
Vous pouvez utiliser Gemini pour générer des images entrelacées avec des réponses textuelles. Par exemple, vous pouvez générer des images pour chaque étape d'une recette générée sans avoir à envoyer des requêtes distinctes au modèle.
Les modèles Gemini suivants permettent de générer des images et du texte entrelacés :
Cliquez pour développer la liste des modèles compatibles
Console
Pour générer des images entrelacées avec des réponses textuelles, procédez comme suit :
- Ouvrez Agent Studio > Créer un prompt.
- Cliquez sur Changer de modèle, puis sélectionnez l'un des modèles affichés.
- Dans le panneau Sorties, sélectionnez Image et texte dans le menu déroulant.
- Rédigez une description de l'image que vous souhaitez générer dans la zone de texte Écrire un prompt. Par exemple, "Crée un tutoriel expliquant comment préparer un sandwich au beurre de cacahuète et à la confiture en trois étapes. Pour chaque étape, indiquez un titre avec le numéro de l'étape, une explication et générez une image au format 1:1."
- Cliquez sur le bouton Prompt ().
Gemini génère une réponse en fonction de votre description. Ce processus prend quelques secondes, mais peut être relativement plus lent en fonction de la capacité.
Python
Installer
pip install --upgrade google-genai
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Google Gen AI avec Vertex AI :
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Java
Découvrez comment installer ou mettre à jour le Java.
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Google Gen AI avec Vertex AI :
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Go
Découvrez comment installer ou mettre à jour le Go.
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Google Gen AI avec Vertex AI :
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
Node.js
Installer
npm install @google/genai
Pour en savoir plus, consultez la documentation de référence du SDK.
Définissez des variables d'environnement pour utiliser le SDK Google Gen AI avec Vertex AI :
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_ENTERPRISE=True
REST
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${API_ENDPOINT}:generateContent \
-d '{
"contents": {
"role": "USER",
"parts": [
{
"text": "Generate an illustrated recipe for a paella. Create images to
go alongside the text as you generate the recipe."
}
]
},
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
},
},
"safetySettings": {
"method": "PROBABILITY",
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
}' 2>/dev/null >response.json
Gemini génère une image en fonction de votre description. Ce processus prend quelques secondes, mais peut être relativement plus lent en fonction de la capacité.
Enregistrer les images générées dans Cloud Storage
Au lieu de renvoyer des octets d'image bruts encodés en base64 de manière intégrée dans la réponse, vous pouvez configurer les requêtes generateContent et streamGenerateContent pour qu'elles écrivent les images générées directement dans un bucket Cloud Storage et renvoient l'URI de l'objet dans fileData.fileUri.
Les modèles Gemini suivants sont compatibles avec la persistance des sorties Cloud Storage :
- Gemini Nano Banana 2.1
(
gemini-nano-banana-2.1) - Gemini 3.1 Flash Image (
gemini-3.1-flash-image) - Gemini 3.1 Flash-Lite Image (
gemini-3.1-flash-lite-image) - Gemini 3 Pro Image (
gemini-3-pro-image)
Prérequis
Avant d'envoyer une requête avec persistance de sortie Cloud Storage, vérifiez que le compte principal authentifiant la requête dispose de l'autorisation Identity and Access Management suivante sur le bucket Cloud Storage de destination :
storage.objects.create(inclus dans des rôles tels que le rôle Créateur d'objets Storage,roles/storage.objectCreator)
Avant de générer des images, le service vérifie l'autorisation storage.objects.create sur le bucket Cloud Storage cible à l'aide des identifiants de l'appelant. Si le bucket Cloud Storage n'existe pas, si l'appelant ne dispose pas d'une autorisation d'écriture ou si un périmètre VPC Service Controls bloque l'écriture, la requête échoue avant la génération avec une erreur 403 PERMISSION_DENIED.
Envoyer une requête avec une sortie Cloud Storage
Pour écrire des images générées directement dans Cloud Storage, configurez les deux champs suivants dans votre requête generateContent ou streamGenerateContent :
- Définissez
outputConfig.outputUriPrefixsur le bucket Cloud Storage de destination ou le préfixe du dossier (par exemple,gs://BUCKET_NAME/PREFIX/). - Définissez
generationConfig.responseFormat[].image.deliverysur"URI".
La requête REST suivante génère une image et l'écrit directement dans un bucket Cloud Storage :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-nano-banana-2.1:generateContent" \
-d '{
"contents": [
{
"role": "USER",
"parts": [
{
"text": "Create an architectural rendering of a sustainable glass greenhouse in alpine snow."
}
]
}
],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"responseFormat": [
{
"image": {
"delivery": "URI"
}
}
]
},
"outputConfig": {
"outputUriPrefix": "gs://BUCKET_NAME/PREFIX/"
}
}'
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- BUCKET_NAME : nom du bucket Cloud Storage de destination.
- PREFIX : préfixe de chemin d'accès au dossier facultatif dans le bucket Cloud Storage (par exemple,
outputs).
Le service écrit chaque partie d'image générée dans Cloud Storage en utilisant le modèle de nom gs://BUCKETNAME/PREFIX/imageGENERATIONID.EXTENSION (en ajoutant CANDIDATEINDEX lorsqu'une réponse contient plusieurs candidats, et IMAGE_INDEX lorsqu'un candidat contient plusieurs images) et renvoie l'URI dans fileData :
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"fileData": {
"mimeType": "image/png",
"fileUri": "gs://my-bucket/outputs/image_1234567890.png"
}
}
]
}
}
]
}
Lorsque vous configurez la diffusion de la sortie Cloud Storage, le service gère les réponses comme suit :
- Réponses mixtes (texte et image) : les parties de texte d'une réponse
TEXTetIMAGErestent intégrées dansparts[].text. Seules les parties d'image générées sont écrites dans Cloud Storage et renvoyées en tant qu'objetsparts[].fileData. - Images de réflexion : lorsque
generationConfig.thinkingConfig.includeThoughtsest défini surtrue, les images de réflexion intermédiaires (parts[].thought: true) sont également écrites dans Cloud Storage à l'aide du préfixethoughtimageGENERATION_IDet renvoyées en tant qu'objetsparts[].fileData. - Réponses en streaming (
streamGenerateContent) : chaque image générée est écrite dans Cloud Storage avant l'envoi du fragment de réponse faisant référence à sonfileData.fileUri. - Réponses sans image : si une requête ne renvoie que du texte ou est bloquée par des filtres de sécurité, aucun objet n'est écrit dans Cloud Storage.
- Chiffrement et conservation : les objets écrits héritent de la configuration de chiffrement du bucket Cloud Storage de destination, y compris des clés de chiffrement gérées par le client (CMEK), et suivent les règles de gestion du cycle de vie du bucket Cloud Storage.
Limites
La sortie Cloud Storage présente la limite suivante :
Édition multitour avec des buckets Cloud Storage multiprojets : le service écrit les images générées à l'aide des identifiants du compte principal qui a envoyé la requête. Toutefois, lorsqu'une requête ultérieure dans une conversation multitour fait référence à une image générée par son
fileData.fileUri, le service lit l'objet à l'aide de l'agent de service Gemini Enterprise Agent Platform du projet appelant (service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com). Si le bucket Cloud Storage de destination se trouve dans un autre projet et que l'agent de service ne dispose pas de l'autorisationstorage.objects.getsur ce bucket Cloud Storage, la requête de suivi échoue avec une erreur403 PERMISSION_DENIED, même si l'écriture d'origine a réussi.Pour utiliser des images génératives comme entrées dans l'édition multitour, accordez à l'agent de service un accès en lecture au bucket Cloud Storage de destination (par exemple, le rôle Lecteur d'objets Storage,
roles/storage.objectViewer).
Étapes suivantes
Pour en savoir plus sur la génération d'images Gemini, consultez les liens suivants :