La personalización controlada te permite crear imágenes nuevas a partir de una imagen de origen o de una señal de imagen de origen (contorno de Canny o garabato). En esta página se explica cómo enviar dos tipos de solicitudes de personalización controlada:
Personalización controlada de Imagen 3 (función de GA)
Ver la tarjeta del modelo Imagen for Editing and Customization
Imagen 2: personalización controlada: señal de imagen de origen de contorno nítido o garabato (función de vista previa)
Casos prácticos
Imagen 3 Controlled Customization ofrece peticiones de estilo libre, lo que puede darte la impresión de que el modelo puede hacer más de lo que está entrenado para hacer. En las siguientes secciones se describen casos prácticos y ejemplos de Imagen 3 Controlled Customization.
El modelo se ha entrenado con los casos prácticos que proporcionamos, por lo que esperamos que obtengas buenos resultados al usar la personalización controlada de Imagen 3. Si le pides al modelo que responda de formas inesperadas, no obtendrás buenos resultados.
Ejemplos de casos prácticos previstos
Estos son algunos casos prácticos para los que se ha entrenado la personalización controlada de Imagen 3 y para los que ofrece buenos resultados:
Genera una imagen que siga la petición y las imágenes de control de contorno.
Genera una imagen que siga la petición y las imágenes de garabatos.
Estiliza una foto de una persona sin cambiar su expresión facial.
Ejemplos de casos prácticos no previstos
A continuación, se indican los casos prácticos para los que no se ha entrenado la personalización controlada de Imagen 3 y para los que produce resultados de baja calidad:
Genera una imagen con el estilo especificado en la petición.
Genera una imagen a partir de texto que siga un estilo específico proporcionado por una imagen de referencia, con cierto nivel de control sobre la composición de la imagen mediante una imagen de control.
Genera una imagen a partir de texto que siga un estilo específico proporcionado por una imagen de referencia, con cierto nivel de control sobre la composición de la imagen mediante un garabato de control.
Generar una imagen a partir de texto que siga un estilo específico proporcionado por la imagen de referencia, con cierto nivel de control sobre la composición de la imagen mediante una imagen de control. La persona de la imagen tiene una expresión facial concreta.
Estiliza una foto de dos o más personas y conserva sus expresiones faciales.
Estiliza una foto de una mascota y conviértela en un dibujo. Conservar o especificar la composición de la imagen (por ejemplo, acuarela).
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.
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. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
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 .
Redacción de peticiones de personalización
La petición que uses con la personalización de Imagen 3 puede afectar a la calidad de las imágenes generadas. Usa las siguientes plantillas de peticiones como punto de partida para escribir peticiones de personalización. Es posible que tengas que enviar varias solicitudes para obtener el resultado que buscas.
Caso práctico Imágenes de referencia Plantilla de petición Ejemplo Personalización controlada Mapa de garabatos (1) Genera una imagen que se ajuste al scribble map [1] para que coincida con la descripción: ${STYLE_PROMPT} ${PROMPT}. Genera una imagen que se ajuste a las scribble map [1] para que coincida con la descripción: La imagen debe tener el estilo de una pintura al óleo impresionista con pinceladas relajadas. Tiene un ambiente iluminado de forma natural y pinceladas visibles. Vista lateral de un coche. El coche está aparcado en una carretera mojada y reflectante, con las luces de la ciudad reflejándose en los charcos. Personalización controlada Imagen de control inteligente (1) Genera una imagen que se ajuste al edge map [1] para que coincida con la descripción: ${STYLE_PROMPT} ${PROMPT} Genera una imagen que se ajuste a la edge map [1] para que coincida con la descripción: la imagen debe tener el estilo de una pintura al óleo impresionista, con pinceladas relajadas. Tiene un ambiente iluminado de forma natural y pinceladas visibles. Vista lateral de un coche. El coche está aparcado en una carretera mojada y reflectante, con las luces de la ciudad reflejándose en los charcos. Estilización de la imagen de una persona con la entrada FaceMesh Imagen del sujeto (1-3)
Imagen de control de FaceMesh (1)Crea una imagen sobre SUBJECT_DESCRIPTION [1] en la postura de CONTROL_IMAGE [2] para que coincida con la descripción: un retrato de SUBJECT_DESCRIPTION [1] ${PROMPT} Crea una imagen de a woman with short hair [1] en la postura de control image [2] para que coincida con la descripción: un retrato de a woman with short hair [1] con un estilo de dibujos animados en 3D y un fondo desenfocado. Un personaje bonito y adorable, con una cara sonriente, mirando a la cámara, tonos pastel, alta calidad, 4K, obra maestra, superdetalles, textura de la piel, mapeado de texturas, sombras suaves, iluminación suave y realista, colores vivos Estilización de la imagen de una persona con la entrada FaceMesh Imagen del sujeto (1-3)
Imagen de control de FaceMesh (1)Crea una imagen ${STYLE_PROMPT} sobre SUBJECT_DESCRIPTION [1] en la postura de CONTROL_IMAGE [2] para que coincida con la descripción: un retrato de SUBJECT_DESCRIPTION [1] ${PROMPT} Crea una imagen de estilo de dibujo animado en 3D sobre a woman with short hair [1] en la postura de control image [2] para que coincida con la descripción: un retrato de a woman with short hair [1] en estilo de dibujo animado en 3D con un fondo desenfocado. Un personaje bonito y adorable con una cara sonriente, mirando a la cámara, tonos pastel, alta calidad, 4K, obra maestra, superdetalles, textura de la piel, mapeado de texturas, sombras suaves, iluminación suave y realista, colores vivos Enviar una solicitud de personalización controlada de Imagen 3
Usa los siguientes ejemplos para enviar una solicitud de personalización controlada de Imagen 3:
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. - TEXT_PROMPT: La petición de texto indica qué imágenes genera el modelo. Para usar la personalización controlada de Imagen 3, incluye el
referenceId
de la imagen de referencia del control que proporciones en el formato [$referenceId]. Por ejemplo:- Genera una imagen que se ajuste al mapa de garabatos [1] para que coincida con la descripción: [image description].
- BASE64_CONTROL_IMAGE: la imagen de control base (boceto). La imagen debe especificarse como una cadena de bytes codificada en Base64.
EnCONTROL_TYPE_SCRIBBLE
: la imagen de control de garabato esperada tiene un fondo negro y una línea de garabato blanca.
ParaCONTROL_TYPE_CANNY
: la imagen de control de contorno nítido esperada tiene un fondo negro y contornos nítidos blancos. - CONTROL_TYPE: el tipo de señal de control. Usa
CONTROL_TYPE_CANNY
para bordes definidos. UsaCONTROL_TYPE_SCRIBBLE
para escribir a mano. enableControlImageComputation
: asigna el valorfalse
si proporcionas tu propia imagen de control. En este caso,B64_BASE_IMAGE
debe ser la imagen de la señal de control. Seleccionatrue
si quieres que Imagen calcule la imagen de control a partir de la imagen de referencia. En este caso,B64_BASE_IMAGE
debe ser la imagen RGB sin procesar.- IMAGE_COUNT: número de imágenes generadas. 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_CONTROL", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_CONTROL_IMAGE" }, "controlImageConfig": { "controlType": "CONTROL_TYPE", "enableControlImageComputation": false } } ] } ], "parameters": { "sampleCount": 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" } ] }
Python
Garabatear
Borde de Canny
Enviar una solicitud de personalización controlada de Imagen 2
Imagen de entrada Otros parámetros Imagen de salida Imagen de entrada. Fuente de la imagen: Alec Cutter en Unsplash. Petición: "versión de arte digital"
Petición negativa: "blanco y negro"
Tipo de imagen guía: RGB estándar
Condición de control: detección de contornos con Canny
Escala de control de Imagen: 0,95
Imagen de entrada. Fuente de la imagen: Alec Cutter en Unsplash
(se ha aplicado la detección de contornos).Petición: "versión de arte digital"
Petición negativa: "blanco y negro"
Tipo de imagen guía: borde de Canny
Escala de control de Imagen: 0,95
Usa los siguientes ejemplos para enviar una solicitud de personalización controlada de 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. -
Haz clic en Subir para seleccionar la imagen almacenada localmente que quieras editar.
-
En la sección Modo del panel Parámetros, haga clic en Control.
-
Opcional. Modifica el Número de resultados, proporciona una Petición negativa o modifica las Opciones avanzadas > Región.
-
En la sección Opciones avanzadas, selecciona el tipo de imagen guía: RGB estándar, Contorno de Canny o Garabato.
-
En la sección Opciones avanzadas, selecciona la Condición de control: Contorno inteligente o Garabato.
-
En el campo de petición (Escribe tu petición...), escribe una petición de texto.
-
Haz clic en
Generar.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu Google Cloud ID de proyecto.
- 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.
- EDIT_IMAGE_COUNT: número de imágenes editadas. Valor predeterminado: 4.
- NEGATIVE_PROMPT: una petición negativa para ayudar a generar las imágenes. Por ejemplo: "animales" (quita los animales), "borroso" (hace que la imagen sea más nítida), "texto" (quita el texto) o "recortado" (quita las imágenes recortadas).
-
CONDITION:
string
. El tipo de señal de imagen de control proporcionada. Valores:cannyEdges
oscribble
. -
CONTROL_SCALE:
float
. La intensidad de la señal de la imagen de control. Valores:0.0
-1.0
. Valor predeterminado:0.95
. Intervalo recomendado:0.9
-1.0
. -
SAMPLING_STEPS:
integer
. Número de pasos de muestreo. Valores:1
-30
. Valor predeterminado:16
. -
COMPUTE_CONDITION_MAP:
boolean
. Indica si se debe calcular un mapa de condiciones a partir de la imagen de entrada base. Si se define comofalse
, el servicio espera que la imagen de entrada sea un garabato o bordes de Canny, y la imagen se proporciona directamente al modelo. Si se define comotrue
, el servicio espera que la imagen de entrada sea una imagen RGB y el servicio calcula los bordes de Canny o la información de garabatos de la imagen de entrada en función deconditionName
. A continuación, el servicio proporciona el mapa de condiciones procesado al modelo para editar la imagen. Cuando proporciones imágenes de garabatos, deben tener un fondo negro y líneas blancas que representen el objeto que se va a generar. Valor predeterminado:false
.
Método HTTP y URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict
Cuerpo JSON de la solicitud:
{ "instances": [ { "prompt": "TEXT_PROMPT", "image": { "bytesBase64Encoded": "B64_BASE_IMAGE" } } ], "parameters": { "sampleCount": EDIT_IMAGE_COUNT, "negativePrompt": "NEGATIVE_PROMPT", "controlPluginConfig": { "conditions": [ { "conditionName": "CONDITION", "controlScale": CONTROL_SCALE, "samplingSteps": SAMPLING_STEPS, "computeConditionMap": COMPUTE_CONDITION_MAP } ] } } }
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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" } ] }
Uso del producto
Para ver los estándares de uso y las restricciones de contenido asociados a Imagen en Vertex AI, consulta las directrices de uso.
Versiones del modelo
Puedes usar varios modelos de generación de imágenes. Para obtener más información, consulta Modelos de imagen.
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).