Puedes usar Gemini para generar imágenes a partir de una instrucción de texto. Entre las interfaces compatibles, se incluyen la consola de Google Cloud y la API de Agent Platform.
Los siguientes modelos de Gemini admiten la generación de imágenes:
Haz clic para expandir los modelos compatibles
Para obtener más información sobre las capacidades de los modelos de Gemini, consulta Modelos de Gemini.
Generar imágenes
A continuación, se muestra cómo generar imágenes con Agent Studio o la API.
Para obtener más información sobre las prácticas recomendadas para las instrucciones, consulta Diseña instrucciones multimodales.
Console
Para generar imágenes con Gemini, haz lo siguiente:
- Abre Agent Studio > Crear instrucción.
- Haz clic en Cambiar modelo y selecciona uno de los modelos que se muestran.
- En el panel Outputs, selecciona Image and text en el menú desplegable.
- Escribe una descripción de la imagen que quieres generar en el área de texto Escribe una instrucción.
- Haz clic en el botón Instrucción ().
Gemini generará una imagen según tu descripción. Este proceso tarda unos segundos, pero puede ser comparativamente más lento según la capacidad.
Python
Instalar
pip install --upgrade google-genai
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google con 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
Obtén información para instalar o actualizar el Go.
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google con 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
Instalar
npm install @google/genai
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google con 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
Obtén información para instalar o actualizar el Java.
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google con 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
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
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 generará una imagen según tu descripción. Este proceso tarda unos segundos, pero puede ser comparativamente más lento según la capacidad.
Genera imágenes y texto intercalado
Puedes usar Gemini para generar imágenes intercaladas con respuestas de texto. Por ejemplo, puedes generar imágenes para cada paso de una receta generada sin tener que realizar solicitudes independientes al modelo.
Los siguientes modelos de Gemini admiten la generación de imágenes y texto intercalados:
Haz clic para expandir los modelos compatibles
Console
Para generar imágenes intercaladas con respuestas de texto, haz lo siguiente:
- Abre Agent Studio > Crear instrucción.
- Haz clic en Cambiar modelo y selecciona uno de los modelos que se muestran.
- En el panel Outputs, selecciona Image and text en el menú desplegable.
- Escribe una descripción de la imagen que quieres generar en el área de texto Escribe una instrucción. Por ejemplo, "Crea un instructivo en el que se explique cómo preparar un sándwich de mantequilla de maní y mermelada en tres pasos. Para cada paso, proporciona un título con el número del paso, una explicación y, además, genera una imagen con una relación de aspecto de 1:1".
- Haz clic en el botón Instrucción ().
Gemini genera una respuesta basada en tu descripción. Este proceso tarda unos segundos, pero puede ser comparativamente más lento según la capacidad.
Python
Instalar
pip install --upgrade google-genai
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google con 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
Obtén información para instalar o actualizar el Java.
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google con 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
Obtén información para instalar o actualizar el Go.
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google con 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
Instalar
npm install @google/genai
Para obtener más información, consulta la documentación de referencia del SDK.
Establece variables de entorno para usar el SDK de IA generativa de Google con 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
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
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 generará una imagen según tu descripción. Este proceso tarda unos segundos, pero puede ser comparativamente más lento según la capacidad.
Guarda las imágenes creadas con tecnología generativa en Cloud Storage
En lugar de devolver bytes de imagen sin procesar codificados en base64 intercalados en la respuesta, puedes configurar las solicitudes generateContent y streamGenerateContent para escribir imágenes creadas con tecnología generativa directamente en un bucket de Cloud Storage y devolver el URI del objeto en fileData.fileUri.
Los siguientes modelos de Gemini admiten la persistencia de resultados de 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)
Requisitos previos
Antes de enviar una solicitud con persistencia de salida de Cloud Storage, verifica que la principal que autentica la solicitud tenga el siguiente permiso de Identity and Access Management en el bucket de Cloud Storage de destino:
storage.objects.create(incluido en roles como el de creador de objetos de almacenamiento,roles/storage.objectCreator)
Antes de generar imágenes, el servicio verifica el permiso storage.objects.create
en el bucket de Cloud Storage de destino con las credenciales del
emisor. Si el bucket de Cloud Storage no existe, el emisor
no tiene permiso de escritura o un perímetro de Controles del servicio de VPC bloquea la escritura,
la solicitud falla antes de la generación con un error 403 PERMISSION_DENIED.
Envía una solicitud con el resultado de Cloud Storage
Para escribir imágenes creadas con tecnología generativa directamente en Cloud Storage, configura los siguientes campos en tu solicitud generateContent o streamGenerateContent:
- Establece
outputConfig.outputUriPrefixen el prefijo de la carpeta o el bucket de Cloud Storage de destino (por ejemplo,gs://BUCKET_NAME/PREFIX/). - Establece
generationConfig.responseFormat[].image.deliveryen"URI".
La siguiente solicitud de REST genera una imagen y la escribe directamente en un bucket de 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/"
}
}'
Reemplaza lo siguiente:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- BUCKET_NAME: Es el nombre del bucket de Cloud Storage de destino.
- PREFIX: Es el prefijo opcional de la ruta de la carpeta dentro del
bucket de Cloud Storage (por ejemplo,
outputs).
El servicio escribe cada parte de la imagen creada con tecnología generativa en Cloud Storage con el patrón de nombres
gs://BUCKETNAME/PREFIX/imageGENERATIONID.EXTENSION
(se agrega CANDIDATEINDEX cuando una respuesta contiene
varios candidatos y IMAGE_INDEX cuando un candidato
contiene varias imágenes) y devuelve el URI en fileData:
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"fileData": {
"mimeType": "image/png",
"fileUri": "gs://my-bucket/outputs/image_1234567890.png"
}
}
]
}
}
]
}
Cuando configuras la entrega de resultados de Cloud Storage, el servicio controla las respuestas de la siguiente manera:
- Respuestas mixtas de texto e imagen: Las partes de texto en una respuesta de
TEXTyIMAGEpermanecen intercaladas enparts[].text. Solo las partes de la imagen creada con tecnología generativa se escriben en Cloud Storage y se devuelven como objetosparts[].fileData. - Imágenes de pensamiento: Cuando
generationConfig.thinkingConfig.includeThoughtsse establece entrue, las imágenes de pensamiento intermedias (parts[].thought: true) también se escriben en Cloud Storage con el prefijothoughtimageGENERATION_IDy se devuelven como objetosparts[].fileData. - Respuestas de transmisión (
streamGenerateContent): Cada imagen creada con tecnología generativa se escribe en Cloud Storage antes de que se envíe el fragmento de respuesta que hace referencia a sufileData.fileUri. - Respuestas sin imágenes: Si una solicitud devuelve solo texto o se bloquea con filtros de seguridad, no se escribe ningún objeto en Cloud Storage.
- Encriptación y retención: Los objetos escritos heredan la configuración de encriptación del bucket de Cloud Storage de destino, incluidas las claves de encriptación administradas por el cliente (CMEK), y siguen las reglas de administración del ciclo de vida del bucket de Cloud Storage.
Limitaciones
La salida de Cloud Storage tiene la siguiente limitación:
Edición conversacional continua con buckets de Cloud Storage entre proyectos: El servicio escribe las imágenes creadas con tecnología generativa con las credenciales de la entidad que envió la solicitud. Sin embargo, cuando una solicitud posterior en una conversación de varios turnos hace referencia a una imagen creada con tecnología generativa por su
fileData.fileUri, el servicio lee el objeto con el agente de servicio de Gemini Enterprise Agent Platform del proyecto que realiza la llamada (service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com). Si el bucket de Cloud Storage de destino está en un proyecto diferente y el agente de servicio no tiene el permisostorage.objects.geten ese bucket de Cloud Storage, la solicitud de seguimiento falla con un error403 PERMISSION_DENIED, aunque la escritura original se haya realizado correctamente.Para usar las imágenes creadas con tecnología generativa como entrada en la edición conversacional continua, otorga al agente de servicio acceso de lectura al bucket de Cloud Storage de destino (por ejemplo, el rol de visualizador de objetos de almacenamiento,
roles/storage.objectViewer).
¿Qué sigue?
Consulta los siguientes vínculos para obtener más información sobre la generación de imágenes de Gemini: