En esta página se describe la función de expansión de imagen. Con la función de expansión, puedes usar Imagen para ampliar el contenido de una imagen a un área más grande o a un área con dimensiones diferentes.
Ejemplo de ampliación
La extensión de imagen es un método de edición basado en máscaras que te permite ampliar el contenido de una imagen base para que se ajuste a un lienzo de máscara más grande o de otro tamaño.
![]() Fuente de la imagen: Kari Shea en Unsplash. |
![]() |
![]() |
Ver la tarjeta del modelo Imagen for Editing and Customization
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Configura la autenticación de tu entorno.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
Java
Para usar las Java muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación Google Cloud .
Node.js
Para usar las Node.js muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación Google Cloud .
Python
Para usar las Python muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación Google Cloud .
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Ampliar el contenido de una imagen
Usa los siguientes ejemplos de código para ampliar el contenido de una imagen.
Imagen 3
Usa los siguientes ejemplos para enviar una solicitud de ampliación de imagen con el modelo Imagen 3.
Consola
-
En la Google Cloud consola, ve a la página Vertex AI > Media Studio .
- Haz clic en Subir. En el cuadro de diálogo de archivos que se muestra, seleccione el archivo que quiera subir.
- Haz clic en Extender imagen.
- En el menú Extender imagen, selecciona una de las relaciones de aspecto predefinidas para la imagen final o haz clic en Personalizar para definir las dimensiones de la imagen final.
-
En la barra de herramientas de edición, selecciona la ubicación de la imagen:
- Alinear a la izquierda:
- Alineación horizontal al centro:
- Alinear a la derecha:
- Alineación superior:
- Alineación vertical al centro:
- Alineación inferior:
-
Opcional: En el panel Parámetros, ajusta las siguientes opciones:
- Modelo: el modelo de Imagen que se va a usar.
- Número de resultados: el número de resultados que se van a generar.
- Petición negativa: elementos que se deben evitar
- En el campo de petición, escribe una petición para modificar la imagen.
- Haz clic en Generar.
Python
Instalar
pip install --upgrade google-genai
Para obtener más información, consulta la documentación de referencia del SDK.
Define variables de entorno para usar el SDK de IA generativa 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=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=True
REST
Para obtener más información, consulta la referencia de la API Edit images.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu Google Cloud ID de proyecto.
- LOCATION: la región de tu proyecto. Por ejemplo,
us-central1
,europe-west2
oasia-northeast3
. Para ver una lista de las regiones disponibles, consulta Ubicaciones de la IA generativa en Vertex AI. prompt
: Para la expansión de imágenes, puedes proporcionar una cadena vacía para crear las imágenes editadas. Si decides proporcionar una petición, usa una descripción de la zona enmascarada para obtener los mejores resultados. Por ejemplo, "un cielo azul" en lugar de "inserta un cielo azul".referenceType
: unaReferenceImage
es una imagen que proporciona contexto adicional para la edición de imágenes. Se necesita una imagen de referencia sin procesar RGB normal (REFERENCE_TYPE_RAW
) para los casos prácticos de edición. En una solicitud puede haber como máximo una imagen de referencia sin procesar. La imagen de salida tiene la misma altura y anchura que la imagen de referencia sin procesar. Se necesita una imagen de referencia de máscara (REFERENCE_TYPE_MASK
) para los casos prácticos de edición con máscara. Si hay una imagen de referencia sin procesar, la imagen de máscara debe tener la misma altura y anchura que la imagen de referencia sin procesar. Si la imagen de referencia de la máscara está vacía ymaskMode
no tiene el valorMASK_MODE_USER_PROVIDED
, la máscara se calcula en función de la imagen de referencia sin procesar.- B64_BASE_IMAGE: la imagen base que quieres editar o aumentar de resolución. La imagen debe especificarse como una cadena de bytes codificada en Base64. Tamaño máximo: 10 MB.
- B64_OUTPAINTING_MASK: la imagen en blanco y negro que quieras usar como capa de máscara para editar la imagen original. La máscara debe tener la misma resolución que la imagen de entrada. La imagen de salida tendrá la misma resolución que la de entrada. Esta imagen de máscara debe especificarse como una cadena de bytes codificada en Base64. Tamaño máximo: 10 MB.
- MASK_DILATION: número flotante. Porcentaje de la anchura de la imagen para dilatar esta máscara. Se recomienda un valor de
0.03
para la extensión de imagen. Si se define"dilation": 0.0
, es posible que se muestren bordes claros en el punto de extensión o que se produzca un efecto de borde blanco. - EDIT_STEPS: número entero. Número de pasos de muestreo del modelo base. Para
la expansión de imagen, empieza con
35
pasos. Aumenta los pasos si la calidad no cumple tus requisitos. - EDIT_IMAGE_COUNT: número de imágenes editadas. Valores enteros aceptados: del 1 al 4. Valor predeterminado: 4.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
Cuerpo JSON de la solicitud:
{ "instances": [ { "prompt": "", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_RAW", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "B64_BASE_IMAGE" } }, { "referenceType": "REFERENCE_TYPE_MASK", "referenceId": 2, "referenceImage": { "bytesBase64Encoded": "B64_OUTPAINTING_MASK" }, "maskImageConfig": { "maskMode": "MASK_MODE_USER_PROVIDED", "dilation": MASK_DILATION } } ] } ], "parameters": { "editConfig": { "baseSteps": EDIT_STEPS }, "editMode": "EDIT_MODE_OUTPAINT", "sampleCount": EDIT_IMAGE_COUNT } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando: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/imagen-3.0-capability-001:predict"PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:$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/imagen-3.0-capability-001:predict" | Select-Object -Expand Content"sampleCount": 2
. La respuesta devuelve dos objetos de predicción con los bytes de la imagen generada codificados en Base64.{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
Imagen 2
Usa los siguientes ejemplos para enviar una solicitud de expansión de imagen con el modelo Imagen 2.
Consola
-
En la Google Cloud consola, ve a la página Vertex AI > Media Studio .
-
En el panel de tareas inferior, haz clic en
Editar imagen. -
Haga clic en Subir para seleccionar la imagen del producto almacenada localmente que quiera editar.
-
En la barra de herramientas de edición, haz clic en
Extender imagen. -
Selecciona una de las relaciones de aspecto predefinidas para la imagen final o haz clic en Personalizar para definir las dimensiones que quieras.
-
Opcional. En la barra de herramientas de edición, selecciona la colocación horizontal (
izquierda, centro horizontal o derecha) y la colocación vertical ( parte superior, centro vertical o parte inferior) de la imagen original en el lienzo de la imagen que se va a generar. -
Opcional. En el panel Parámetros, ajusta el Número de resultados u otros parámetros.
-
Haz clic en
Generar.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu Google Cloud ID de proyecto.
- LOCATION: la región de tu proyecto. Por ejemplo,
us-central1
,europe-west2
oasia-northeast3
. Para ver una lista de las regiones disponibles, consulta Ubicaciones de la IA generativa en Vertex AI. prompt
: Para la expansión de imágenes, puedes proporcionar una cadena vacía para crear las imágenes editadas.- B64_BASE_IMAGE: la imagen base que quieres editar o aumentar de resolución. La imagen debe especificarse como una cadena de bytes codificada en Base64. Tamaño máximo: 10 MB.
- B64_OUTPAINTING_MASK: la imagen en blanco y negro que quieras usar como capa de máscara para editar la imagen original. La máscara debe tener la misma resolución que la imagen de entrada. La imagen de salida tendrá la misma resolución que la de entrada. Esta imagen de máscara debe especificarse como una cadena de bytes codificada en Base64. Tamaño máximo: 10 MB.
- EDIT_IMAGE_COUNT: número de imágenes editadas. Valor predeterminado: 4.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@006:predict
Cuerpo JSON de la solicitud:
{ "instances": [ { "prompt": "", "image": { "bytesBase64Encoded": "B64_BASE_IMAGE" }, "mask": { "image": { "bytesBase64Encoded": "B64_OUTPAINTING_MASK" } } } ], "parameters": { "sampleCount": EDIT_IMAGE_COUNT, "editConfig": { "editMode": "outpainting" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando: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@006:predict"PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:$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@006:predict" | Select-Object -Expand Content"sampleCount": 2
. La respuesta devuelve dos objetos de predicción con los bytes de la imagen generada codificados en Base64.{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
En este ejemplo, se especifica el modelo como parte de un
EndpointName
. ElEndpointName
se transfiere al métodopredict
, al que se llama en unPredictionServiceClient
. El servicio devuelve una versión editada de la imagen, que se guarda de forma local.Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
En este ejemplo, se llama al métodopredict
en un objetoPredictionServiceClient
. El servicio genera imágenes que se guardan de forma local.Limitaciones
El modelo puede producir detalles distorsionados si la imagen ampliada se aumenta un 200 % o más con respecto a la imagen original. Te recomendamos que añadas un paso de posprocesamiento para aplicar la combinación alfa a las imágenes con relleno generativo.
El siguiente código es un ejemplo de posprocesamiento:
parameters = { "editConfig": { "outpaintingConfig": { "blendingMode": "alpha-blending", "blendingFactor": 0.01, }, }, }
Siguientes pasos
Consulta artículos sobre Imagen y otros productos de IA generativa en Vertex AI:
- Guía para desarrolladores sobre cómo empezar a usar Imagen 3 en Vertex AI
- Nuevos modelos y herramientas de medios generativos, creados con y para creadores
- Novedades de Gemini: Gems personalizados y generación de imágenes mejorada con Imagen 3
- Google DeepMind: Imagen 3, nuestro modelo de texto a imagen de mayor calidad
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-