En esta página, se describe la expansión de imágenes. El retoque te permite usar Imagen para expandir el contenido de una imagen a un área más grande o con dimensiones diferentes.
Ejemplo de extensión de imagen
El retoque es un método de edición basado en máscaras que te permite expandir el contenido de una imagen base para que se ajuste a un lienzo de máscara más grande o de diferente tamaño.
Fuente de la imagen: Kari Shea en Unsplash. |
|
|
Consulta la tarjeta del modelo de Imagen for Editing and Customization
Antes de comenzar
- 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.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
(
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 para 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 muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI 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 Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Google Cloud .
Node.js
Para usar las muestras de Node.js de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI 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 Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Google Cloud .
Python
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI 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 Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Google Cloud .
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a gcloud CLI.
Instala Google Cloud CLI.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Expande el contenido de una imagen
Usa las siguientes muestras de código para expandir el contenido de una imagen existente.
Imagen 3
Usa los siguientes ejemplos para enviar una solicitud de expansión con el modelo de Imagen 3.
Console
-
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 archivo que se muestra, selecciona un archivo para subir.
- Haz clic en Expansión.
- En el menú Extender imagen, selecciona una de las relaciones de aspecto predefinidas para la imagen final o haz clic en Personalizar para definir dimensiones personalizadas para la imagen final.
-
En la barra de herramientas de edición, selecciona la posición de la imagen:
- Alinear a la izquierda:
- Alineación horizontal al centro:
- Alinear a la derecha:
- Alineación en la parte superior:
- Alineación vertical centrada:
- Alinear en la parte inferior:
-
Opcional: En el panel Parámetros, ajusta las siguientes
opciones:
- Modelo: Es el modelo de Imagen que se usará.
- Cantidad de resultados: Es la cantidad de resultados que se generarán.
- Instrucción negativa: Elementos que se deben evitar generar
- En el campo de mensaje, ingresa un mensaje 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.
Establece 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 de Edit images.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El Google Cloud ID del proyecto.
- LOCATION: La región del proyecto. Por ejemplo,
us-central1,europe-west2oasia-northeast3. Para obtener una lista de las regiones disponibles, consulta IA generativa en ubicaciones de Vertex AI. prompt: En el caso del relleno de imágenes, puedes proporcionar una cadena vacía para crear las imágenes editadas. Si decides proporcionar una instrucción, usa una descripción del área enmascarada para obtener mejores resultados. Por ejemplo, "un cielo azul" en lugar de "inserta un cielo azul".referenceType: UnaReferenceImagees una imagen que proporciona contexto adicional para la edición de imágenes. Se requiere una imagen de referencia sin procesar RGB normal (REFERENCE_TYPE_RAW) para los casos de uso 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 el mismo ancho que la imagen de referencia sin procesar. Se requiere una imagen de referencia de la máscara (REFERENCE_TYPE_MASK) para los casos de uso de edición enmascarada. Si hay una imagen de referencia sin procesar, la imagen de la máscara debe tener la misma altura y el mismo ancho que la imagen de referencia sin procesar. Si la imagen de referencia de la máscara está vacía ymaskModeno está configurado comoMASK_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 se editará o mejorará. La imagen debe especificarse como una cadena de bytes codificada en base64. Límite de tamaño: 10 MB.
- B64_OUTPAINTING_MASK: La imagen en blanco y negro que deseas 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 imagen de entrada. Esta imagen de máscara debe especificarse como una cadena de bytes codificada en base64. Límite de tamaño: 10 MB.
- MASK_DILATION: Número de punto flotante. Es el porcentaje del ancho de la imagen por el que se dilatará esta máscara. Se recomienda un valor de
0.03para el expansión. Establecer"dilation": 0.0podría generar bordes evidentes en el punto de extensión o causar un efecto de borde blanco. - EDIT_STEPS: Es un número entero. Es la cantidad de pasos de muestreo para el modelo base. Para el
expansión de pintura, comienza con
35pasos. Aumenta los pasos si la calidad no cumple con tus requisitos. - EDIT_IMAGE_COUNT: Es la cantidad de imágenes editadas. Valores de números enteros aceptados: de 1 a 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:
La siguiente respuesta de muestra es para 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 muestra dos objetos de predicción, con los bytes de imagen generados 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 con el modelo de Imagen 2.
Console
-
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.
-
Haz clic en Subir para elegir la imagen de tu producto almacenado de forma local y, luego, editarla.
-
En la barra de herramientas de edición, haz clic en Retocar.
-
Elige una de las relaciones de aspecto predefinidas para la imagen final o haz clic en Personalizar y define las dimensiones personalizadas de la imagen final.
-
Opcional. En la barra de herramientas de edición, elige la posición horizontal ( izquierda, centro horizontal o a la derecha) y la posición vertical ( parte superior, centro vertical o alineación inferior) de la imagen original en el lienzo de la imagen que se generará.
-
Opcional. En el panel Parámetros, ajusta la cantidad de resultados o cualquier otro parámetro.
-
Haz clic en Generar .
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API de Python.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El Google Cloud ID del proyecto.
- LOCATION: La región del proyecto. Por ejemplo,
us-central1,europe-west2oasia-northeast3. Para obtener una lista de las regiones disponibles, consulta IA generativa en ubicaciones de Vertex AI. prompt: En el caso del relleno de imágenes, puedes proporcionar una cadena vacía para crear las imágenes editadas.- B64_BASE_IMAGE: La imagen base que se editará o mejorará. La imagen debe especificarse como una cadena de bytes codificada en base64. Límite de tamaño: 10 MB.
- B64_OUTPAINTING_MASK: La imagen en blanco y negro que deseas 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 imagen de entrada. Esta imagen de máscara debe especificarse como una cadena de bytes codificada en base64. Límite de tamaño: 10 MB.
- EDIT_IMAGE_COUNT: la cantidad de imágenes editadas. El valor predeterminado es 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:
La siguiente respuesta de muestra es para 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/imagegeneration@006: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/imagegeneration@006:predict" | Select-Object -Expand Content"sampleCount": 2. La respuesta muestra dos objetos de predicción, con los bytes de imagen generados 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 instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En este ejemplo, especificas el modelo como parte de un
EndpointName.EndpointNamese pasa al métodopredict, al que se llama en unPredictionServiceClient. El servicio devuelve una versión editada de la imagen, que luego se guarda de forma local.Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En este ejemplo, llamas al métodopredicten unPredictionServiceClient. El servicio genera imágenes que, luego, se guardan de forma local.Limitaciones
El modelo puede producir detalles distorsionados si la imagen completada se expande en un 200% o más desde la imagen original. Como práctica recomendada, te sugerimos que agregues un paso de posprocesamiento para ejecutar la combinación alfa en las imágenes completadas con la expansión.
El siguiente código es un ejemplo de posprocesamiento:
parameters = { "editConfig": { "outpaintingConfig": { "blendingMode": "alpha-blending", "blendingFactor": 0.01, }, }, }¿Qué sigue?
Lee artículos sobre Imagen y otros productos de IA generativa en Vertex AI:
- Guía para desarrolladores para comenzar a usar Imagen 3 en Vertex AI
- Nuevos modelos y herramientas de medios generativos creados con y para los creadores
- Novedades de Gemini: Gemas personalizadas y generación de imágenes mejorada con Imagen 3
- Google DeepMind: Imagen 3: nuestro modelo de texto a imagen de mayor calidad
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-10-19 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-10-19 (UTC)"],[],[]] -