En esta página se describe cómo sustituir el fondo de una imagen. Imagen en Vertex AI te permite usar la segmentación automática de objetos para mantener ese contenido mientras modificas otro contenido de la imagen. Con Imagen 3, también puedes proporcionar tu propia área de máscara para tener más control al editar.
Ver la tarjeta del modelo Imagen for Editing and Customization
Ejemplo de edición de imagen de producto
En el siguiente caso práctico se muestra cómo mejorar la imagen de un producto modificando el fondo de la imagen, pero conservando el aspecto del producto en la imagen.

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.
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 .
Editar con una máscara de fondo detectada automáticamente
Imagen te permite editar imágenes de productos con detección automática del fondo. Esto puede ser útil si necesitas modificar el fondo de una imagen de producto, pero quieres conservar el aspecto del producto. La edición de imágenes de producto usa la oferta de Google Product Studio (GPS). Puedes usar la función de GPS como parte de Imagen mediante la consola o la API.
Imagen generada con la función de edición de imágenes de producto de Imagen a partir de la petición: sobre una mesa en una boutique. Fuente de la imagen original: Irene Kredenets en Unsplash. Siga estas instrucciones para habilitar y usar la edición de imágenes de producto con detección automática del fondo.
Imagen 3
Usa los siguientes ejemplos para enviar una solicitud de edición de imagen de producto 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 Inpaint.
- En el panel Parámetros, haga clic en Fondo del producto.
- En la barra de herramientas de edición, haz clic en background_replaceExtraer.
-
Selecciona una de las opciones de extracción de máscara:
- Elementos de fondo: detecta los elementos de fondo y crea una máscara alrededor de ellos.
- Elementos en primer plano: detecta los objetos en primer plano y crea una máscara a su alrededor.
- background_replacePersonas: detecta a las personas y crea una máscara a su alrededor.
-
Opcional: En el panel lateral 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 EnviarGenerar.
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. - TEXT_PROMPT: la petición de texto que indica qué imágenes debe generar el modelo. Este campo es obligatorio tanto para generar como para editar.
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.referenceId
: ID entero de la imagen de referencia. En este ejemplo, los dos objetos de imagen de referencia son de tipos diferentes, por lo que tienen valores dereferenceId
distintos (1
y2
).- 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.
maskImageConfig.maskMode
: el modo de máscara para editar la máscara.MASK_MODE_BACKGROUND
se usa para enmascarar automáticamente el fondo sin que el usuario tenga que proporcionar una máscara.- MASK_DILATION: número flotante. Porcentaje de la anchura de la imagen para dilatar esta máscara. Se recomienda usar el valor
0.00
para evitar que se extienda el producto en primer plano. Mínimo: 0, máximo: 1. Valor predeterminado: 0,03. - EDIT_STEPS: número entero. Número de pasos de muestreo del modelo base. Para editar la imagen del producto, empieza por el
75
. - 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": "TEXT_PROMPT", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_RAW", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "B64_BASE_IMAGE" } }, { "referenceType": "REFERENCE_TYPE_MASK", "referenceId": 2, "maskImageConfig": { "maskMode": "MASK_MODE_BACKGROUND", "dilation": MASK_DILATION } } ] } ], "parameters": { "editConfig": { "baseSteps": EDIT_STEPS }, "editMode": "EDIT_MODE_BGSWAP", "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{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" }, { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" } ] }
Imagen 2
Usa los siguientes ejemplos para enviar una solicitud de edición de imagen de producto con el modelo Imagen 2 o Imagen.
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 el panel Parámetros, seleccione
Habilitar edición de imágenes de estilo de producto. -
En el campo Petición (Escribe tu petición aquí), introduce tu petición.
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
Para obtener más información sobre las solicitudes de modelos
imagegeneration
, consulta la referencia de la API de modelosimagegeneration
.Para habilitar la edición de imágenes de producto con el modelo 006 de la versión de Imagen 2 (
imagegeneration@006
), incluya el siguiente campo en el objeto"editConfig": {}
:"editMode": "product-image"
. Esta solicitud siempre devuelve 4 imágenes.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. - TEXT_PROMPT: la petición de texto que indica qué imágenes debe generar el modelo. Este campo es obligatorio tanto para generar como para editar.
- 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.
- PRODUCT_POSITION: opcional. Un ajuste para mantener la posición original del producto u objeto detectado, o para permitir que el modelo lo coloque en otra posición. Valores disponibles:
reposition
(valor predeterminado), que permite cambiar la posición, ofixed
, que mantiene la posición del producto. En el caso de las imágenes de entrada no cuadradas, el comportamiento de la posición del producto siempre es "reposition", aunque se haya definido el valor "fixed".
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": "TEXT_PROMPT", "image": { "bytesBase64Encoded": "B64_BASE_IMAGE" }, } ], "parameters": { "editConfig": { "editMode": "product-image", "productPosition": "PRODUCT_POSITION", } } }
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{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" }, { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" } ] }
Editar con un área de máscara definida
Puedes enmascarar el área que se va a sustituir en lugar de dejar que Imagen detecte la máscara automáticamente.
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 Inpaint.
- En el panel Parámetros, haga clic en Fondo del producto.
-
Elige una de estas opciones:
- Subir tu propia máscara:
- Crea una máscara en tu ordenador.
- Haz clic en Subir máscara. En el cuadro de diálogo que se muestra, selecciona una máscara para subirla.
- Define tu propia máscara: en la barra de herramientas de edición, usa las herramientas de máscara (masked_transitionsinvertir ) para especificar la zona o las zonas en las que quieres añadir contenido. recuadro, pincel o
- Subir tu propia máscara:
-
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. - TEXT_PROMPT: la petición de texto que indica qué imágenes debe generar el modelo. Este campo es obligatorio tanto para generar como para editar.
referenceId
: ID entero de la imagen de referencia. En este ejemplo, los dos objetos de imagen de referencia son de tipos diferentes, por lo que tienen valores dereferenceId
distintos (1
y2
).- 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_MASK_IMAGE: la imagen en blanco y negro que quieras usar como capa de máscara para editar la imagen original. La imagen 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 usar el valor
0.00
para evitar que se extienda el producto en primer plano. Mínimo: 0, máximo: 1. Valor predeterminado: 0,03. - EDIT_STEPS: número entero. Número de pasos de muestreo del modelo base. Para editar la imagen del producto, empieza por el
75
. - 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": "TEXT_PROMPT": [ { "referenceType": "REFERENCE_TYPE_RAW", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "B64_BASE_IMAGE" } }, { "referenceType": "REFERENCE_TYPE_MASK", "referenceId": 2, "referenceImage": { "bytesBase64Encoded": "B64_MASK_IMAGE" }, "maskImageConfig": { "maskMode": "MASK_MODE_USER_PROVIDED", "dilation": MASK_DILATION } } ] } ], "parameters": { "editConfig": { "baseSteps": EDIT_STEPS }, "editMode": "EDIT_MODE_BGSWAP", "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{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" }, { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" } ] }
Limitaciones
Como las máscaras a veces están incompletas, el modelo puede intentar completar el objeto en primer plano cuando faltan partes muy pequeñas en el límite. Como efecto secundario poco frecuente, si el objeto en primer plano ya está completo, el modelo puede crear ligeras extensiones.
Una solución alternativa es segmentar la salida del modelo y, a continuación, combinarla. A continuación, se muestra un ejemplo de fragmento de Python que muestra una solución alternativa:
blended = Image.composite(out_images[0].resize(image_expanded.size), image_expanded, mask_expanded)
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).
-