En esta página se describe cómo insertar objetos en una imagen, un proceso que también se conoce como relleno. Imagen en Vertex AI te permite especificar un área de máscara para insertar objetos en una imagen. Puedes usar tu propia máscara o dejar que Imagen genere una por ti.
Ejemplo de inserción de contenido
Con la función de relleno, puedes usar una imagen base, una máscara de imagen y una petición de texto para añadir contenido a una imagen.
Entradas
| Imagen base* que se va a editar | Área de máscara especificada con las herramientas de la consola Google Cloud | Petición de texto |
|---|---|---|
|
|
fresas |
* Crédito de la imagen: Alex Lvrs en Unsplash.
Resultado después de especificar un área de máscara en la Google Cloud consola
|
|
|
Ver la tarjeta de modelo de Imagen para edición y personalización
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. 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 Google Cloud autenticación.
Insertar con un área de máscara definida
Usa los siguientes ejemplos para enviar una solicitud de pintura con el modelo Imagen 3.
Consola
1. En la Google Cloud consola, ve a la página Vertex AI > Media Studio.<a href="https://console.cloud.google.com/vertex-ai/studio/media/generate;tab=image" class="button button-primary" target="console" track-name="consoleLink" track-type="task">Go to Media Studio</a>Haz clic en Subir y selecciona el archivo que quieras subir.
Haz clic en Inpaint.
Elige una de estas opciones:
Sube tu propia máscara:
Crea una máscara en tu ordenador.
Haz clic en Subir máscara y selecciona una máscara para subirla.
Define la máscara: en la barra de herramientas de edición, usa las herramientas de máscara (recuadro, pincel o masked_transitions invertir) para especificar la zona o las zonas en las que quieres añadir contenido.
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: describe lo que quieres excluir de las imágenes generadas.
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
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
-
REGION: la región en la que se encuentra tu proyecto. Para obtener más información sobre las regiones admitidas, consulta Ubicaciones de la IA generativa en Vertex AI. -
PROJECT_ID: tu ID de proyecto. Google Cloud -
TEXT_PROMPT: Opcional. Una petición de texto para guiar las imágenes que genera el modelo. Para obtener los mejores resultados, usa una descripción de la zona enmascarada y evita las peticiones de una sola palabra. Por ejemplo, usa "un corgi bonito" en lugar de "corgi". -
B64_BASE_IMAGE: Imagen codificada en Base64 de la imagen que se está editando, con un tamaño de 10 MB o menos. Para obtener más información sobre la codificación en base64, consulta Codificar y decodificar archivos en base64. -
B64_MASK_IMAGE: Una imagen de máscara en blanco y negro codificada en Base64 que tenga un tamaño de 10 MB o menos. -
MASK_DILATION: Opcional. Valor flotante entre 0 y 1, ambos incluidos, que representa el porcentaje de la anchura de la imagen en el que se debe aumentar la máscara. Usardilationayuda a compensar las máscaras imprecisas. Te recomendamos que definas un valor de0.01. -
EDIT_STEPS: Opcional. Número entero que representa el número de pasos de muestreo. Un valor más alto ofrece una mejor calidad de imagen, mientras que un valor más bajo ofrece una mejor latencia.Te recomendamos que pruebes los pasos
35para empezar. Si la calidad no cumple tus requisitos, te recomendamos que aumentes el valor hasta un límite superior de75. -
SAMPLE_COUNT: Opcional. Un número entero que describe el número de imágenes que se van a generar. El intervalo de valores aceptado es1-4. El valor predeterminado es4.
Método HTTP y URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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", "referenceImage": { "bytesBase64Encoded": "B64_MASK_IMAGE" }, "maskImageConfig": { "maskMode": "MASK_MODE_USER_PROVIDED", "dilation": MASK_DILATION } } ] } ], "parameters": { "editConfig": { "baseSteps": EDIT_STEPS }, "editMode": "EDIT_MODE_INPAINT_INSERTION", "sampleCount": SAMPLE_COUNT } }Para enviar tu solicitud, elige una de estas opciones:
La siguiente respuesta de ejemplo corresponde a una solicitud concurl
Guarda el cuerpo de la solicitud en un archivo llamado
request.jsony 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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict"PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado
request.jsony 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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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" } ] }Insertar con detección automática de máscara
Usa los siguientes ejemplos para especificar la función de pintura para insertar contenido. En estos ejemplos, se especifica una imagen base y una petición de texto. Imagen detecta y crea automáticamente un área de máscara para modificar la imagen base.
Consola
1. En la Google Cloud consola, ve a la página Vertex AI > Media Studio.<a href="https://console.cloud.google.com/vertex-ai/studio/media/generate;tab=image" class="button button-primary" target="console" track-name="consoleLink" track-type="task">Go to Media Studio</a>Haz clic en Subir y selecciona el archivo que quieras subir.
Haz clic en Inpaint.
En la barra de herramientas de edición, haz clic en background_replaceExtraer máscara.
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_replace Personas: detecta a las personas y crea una máscara a su alrededor.
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: describe lo que quieres excluir de las imágenes generadas.
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
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-west2oasia-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 indica qué imágenes genera el modelo. Cuando uses una petición para insertar contenido con la función de pintura, describe la zona enmascarada para obtener los mejores resultados. Evita las peticiones de una sola palabra. Por ejemplo, usa "un corgi bonito" en lugar de "corgi".
- 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.
- MASK_MODE: cadena que define el tipo de creación automática de máscaras que usa el modelo.
Valores disponibles:
MASK_MODE_BACKGROUND: genera automáticamente una máscara mediante la segmentación del fondo.MASK_MODE_FOREGROUND: genera automáticamente una máscara mediante la segmentación del primer plano.MASK_MODE_SEMANTIC: genera automáticamente una máscara mediante la segmentación semántica basada en las clases de segmentación que especifiques en la matrizmaskImageConfig.maskClasses. Por ejemplo:"maskImageConfig": { "maskMode": "MASK_MODE_SEMANTIC", "maskClasses": [175, 176], // bicycle, car "dilation": 0.01 }
- MASK_DILATION: número flotante. Porcentaje de la anchura de la imagen para dilatar esta máscara. Se recomienda usar el valor
0.01para compensar las máscaras de entrada imperfectas. - EDIT_STEPS: número entero. Número de pasos de muestreo del modelo base. Para
la inserción de relleno generativo, empieza en el paso
35. Aumenta los pasos hasta el límite superior de75si la calidad no cumple tus requisitos. Aumentar los pasos también aumenta la latencia de las solicitudes. - 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", "dilation": MASK_DILATION } } ] } ], "parameters": { "editConfig": { "baseSteps": EDIT_STEPS }, "editMode": "EDIT_MODE_INPAINT_INSERTION", "sampleCount": EDIT_IMAGE_COUNT } }Para enviar tu solicitud, elige una de estas opciones:
La siguiente respuesta de ejemplo corresponde a una solicitud concurl
Guarda el cuerpo de la solicitud en un archivo llamado
request.jsony 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.jsony 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" } ] }Limitaciones
En las siguientes secciones se explican las limitaciones de la función de eliminar objetos de Imagen.
Píxeles modificados
El modelo genera píxeles con su propia resolución (por ejemplo, 1024x1024), que puede ser diferente de la resolución de la imagen de entrada. Esto significa que la imagen generada puede tener pequeños cambios que no estaban en la imagen original.
Para conservar la imagen a la perfección, te recomendamos que combines la imagen generada con la imagen de entrada mediante la máscara. Por lo general, si la resolución de la imagen de entrada es 2K o superior, es necesario combinar la imagen generada con la imagen de entrada.
Insertar limitación
Aunque el objeto insertado suele coincidir con el estilo de la imagen base, algunas palabras clave pueden dar como resultado imágenes de dibujos animados en lugar de imágenes fotorrealistas.
Por ejemplo, si pides una "jirafa amarilla", es posible que se genere una imagen de dibujos animados, ya que las jirafas son de color marrón y beige. Generar imágenes fotorrealistas con colores poco naturales puede ser difícil.
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-12-04 (UTC).
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-12-04 (UTC)."],[],[]]