Imagen te permite editar imágenes en segundos con instrucciones de texto, máscaras y las imágenes existentes para guiar las ediciones.
Consulta la tarjeta del modelo de Imagen for Editing and Customization
Versiones de modelos compatibles
La API de Imagen admite los siguientes modelos:
imagen-3.0-capability-001
Para obtener más información sobre las funciones que admite el modelo, consulta Modelos de Imagen.
Solicitud HTTP
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict \
-d '{
"instances": [
{
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_RAW",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": string
}
},
{
"referenceType": "REFERENCE_TYPE_MASK",
"referenceId": 2,
"referenceImage": {
"bytesBase64Encoded": string
},
"maskImageConfig": {
"maskMode": "MASK_MODE_USER_PROVIDED"
}
}
],
"prompt": string
}
],
"parameters": {
"addWatermark": boolean,
"baseSteps": integer,
"editMode": string,
"guidanceScale": integer,
"includeRaiReason": boolean,
"includeSafetyAttributes": boolean,
"language": string,
"negativePrompt": string,
"outputOptions": {
"mimeType": string,
"compressionQuality": integer
},
"personGeneration": string,
"safetySetting": string,
"sampleCount": integer,
"seed": integer,
"storageUri": string
}
}'
Instancias
| Instancias | |
|---|---|
prompt |
Es opcional. Es la instrucción de texto para la imagen. Si no se especifica un |
referenceImages |
Lista de objetos
Obligatorio. Para la edición de máscaras, se deben especificar exactamente dos imágenes de referencia, una con |
Objeto referenceImages
El objeto referenceImages describe los recursos de imagen que Imagen editará.
| Parámetros | |
|---|---|
referenceType |
Obligatorio. Es el tipo de imagen de referencia. Uno de los siguientes:
|
referenceId |
Obligatorio. Es un identificador único de la imagen de referencia. No se usa para la edición enmascarada. |
referenceImage.bytesBase64Encoded |
Obligatorio. Son los bytes de la imagen codificados en Base64. Acepta archivos PNG, JPEG, GIF y BMP. El tamaño máximo es de 20 MB después de la transcodificación a PNG. Si proporcionas una imagen de máscara, debe tener las mismas dimensiones que la imagen base. |
maskImageConfig.maskMode |
Obligatorio cuando
|
maskImageConfig.dilation |
Es opcional. Rango: [0, 1]. Es el porcentaje del ancho de la imagen según el cual se dilata (aumenta) la máscara. Esto puede ayudar a compensar las máscaras imprecisas.
Para obtener los mejores resultados, te recomendamos los siguientes parámetros de configuración de
|
maskImageConfig.maskClasses |
Es opcional. Máscara clases para el modo |
Parámetros
| Parámetros | |
|---|---|
addWatermark |
Es opcional. Agrega una marca de agua invisible a las imágenes generadas.
El valor predeterminado es |
baseSteps |
Es opcional. Es la cantidad de pasos de muestreo. Un valor más alto tiene una mejor calidad de imagen, mientras que un valor más bajo tiene una mejor latencia. La configuración predeterminada es
Para áreas de máscara más pequeñas o para los modos de inserción o eliminación, usa los pasos de |
editMode
|
Se requiere para la edición de máscaras. Es una enumeración con uno de los siguientes valores:
|
guidanceScale |
Es opcional. Controla hasta qué punto el modelo cumple con la instrucción de texto. Los valores grandes aumentan la salida y la alineación de la instrucción, pero pueden comprometer la calidad de la imagen.
Rango aceptado:
Valor predeterminado: |
includeRaiReason |
Es opcional. Indica si se debe incluir un motivo de seguridad para las imágenes filtradas en la respuesta. El valor predeterminado es |
includeSafetyAttributes |
Es opcional. Indica si se deben informar las puntuaciones de seguridad de cada imagen en la respuesta. El valor predeterminado es |
language |
Es opcional. Es el código de idioma que corresponde a tu idioma de la instrucción de texto. Se admiten los siguientes valores:
|
negativePrompt |
Es opcional. Una descripción de lo que se debe evitar en las imágenes generadas. |
outputOptions |
Es opcional. Describe el formato de imagen de salida en un objeto |
personGeneration |
Es opcional. Permite que el modelo genere personas. Se admiten los siguientes valores:
Para la edición basada en máscaras, |
sampleCount |
Es opcional. Es la cantidad de imágenes que se generarán. El valor predeterminado es 4. |
seed |
Es opcional. La semilla aleatoria para la generación de imágenes. No está disponible
cuando |
safetySetting |
Es opcional. Agrega un nivel de filtro al filtrado de seguridad. Se admiten los siguientes valores:
El valor predeterminado es
|
storageUri |
Es opcional. Es el URI de Cloud Storage para almacenar las imágenes generadas. |
Objeto de opciones de salida
El objeto outputOptions describe el resultado de la imagen.
| Parámetros | |
|---|---|
outputOptions.mimeType |
Es opcional. Es el formato de imagen en el que se debe guardar el resultado. Se admiten los siguientes valores:
El valor predeterminado es |
outputOptions.compressionQuality |
Es opcional. El nivel de compresión si el tipo de salida es |
Solicitud de muestra
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
-
REGION: Es la región en la que se encuentra tu proyecto. Para obtener más información sobre las regiones admitidas, consulta IA generativa en ubicaciones de Vertex AI. -
PROJECT_ID: Es el ID de tu proyecto de Google Cloud . -
TEXT_PROMPT: Opcional. Es una instrucción de texto para guiar las imágenes que genera el modelo. Para obtener mejores resultados, usa una descripción del área enmascarada y evita las instrucciones de una sola palabra. Por ejemplo, usa "un corgi tierno" 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 Codifica y decodifica archivos en Base64. -
B64_MASK_IMAGE: Imagen de máscara en blanco y negro codificada en Base64 con un tamaño de 10 MB o menos. -
MASK_DILATION: Opcional. Es un valor de número de punto flotante entre 0 y 1, inclusive, que representa el porcentaje del ancho de la imagen en el que se debe aumentar la máscara. El uso dedilationayuda a compensar las máscaras imprecisas. Recomendamos un valor de0.01. -
EDIT_STEPS: Opcional. Es un número entero que representa la cantidad 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 con
35pasos para comenzar. Si la calidad no cumple con tus requisitos, te recomendamos que aumentes el valor hasta un límite superior de75. -
SAMPLE_COUNT: Opcional. Es un número entero que describe la cantidad de imágenes que se generarán. El rango de valores aceptado es de1a4. 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:
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://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.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://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 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"
}
]
}
IDs de clase
Usa los siguientes IDs de clase de objeto para crear automáticamente una máscara de imagen basada en objetos específicos.
ID de clase (class_) |
Objeto |
|---|---|
| 0 | mochila |
| 1 | paraguas |
| 2 | bolsa |
| 3 | corbata |
| 4 | maleta |
| 5 | caso |
| 6 | pájaro |
| 7 | gato |
| 8 | perro |
| 9 | caballo |
| 10 | oveja |
| 11 | vaca |
| 12 | elefante |
| 13 | oso |
| 14 | cebra |
| 15 | jirafa |
| 16 | animal (otro) |
| 17 | microondas |
| 18 | radiador |
| 19 | horno |
| 20 | tostadora |
| 21 | tanque de almacenamiento |
| 22 | cinta transportadora |
| 23 | lavabo |
| 24 | refrigerador |
| 25 | lavadora/secadora |
| 26 | ventilador |
| 27 | lavavajillas |
| 28 | baño |
| 29 | bañera |
| 30 | ducha |
| 31 | túnel |
| 32 | puente |
| 33 | muelle |
| 34 | carpa |
| 35 | edificio |
| 36 | techo |
| 37 | laptop |
| 38 | teclado |
| 39 | ratón |
| 40 | remoto |
| 41 | teléfono celular |
| 42 | televisión |
| 43 | piso |
| 44 | etapa |
| 45 | banana |
| 46 | apple |
| 47 | emparedado |
| 48 | naranja |
| 49 | brócoli |
| 50 | zanahoria |
| 51 | perro caliente |
| 52 | pizza |
| 53 | rosquilla |
| 54 | pastel |
| 55 | fruta (otro) |
| 56 | comida (otro) |
| 57 | silla (otro) |
| 58 | sillón |
| 59 | silla giratoria |
| 60 | banqueta |
| 61 | asiento |
| 62 | sofá |
| 63 | papelera |
| 64 | planta en maceta |
| 65 | mesita de noche |
| 66 | cama |
| 67 | tabla |
| 68 | mesa de billar |
| 69 | barril |
| 70 | escritorio |
| 71 | otomana |
| 72 | ropero |
| 73 | cuna |
| 74 | cesta |
| 75 | cómoda |
| 76 | biblioteca |
| 77 | mesada (otro) |
| 78 | mesada de baño |
| 79 | isla de cocina |
| 80 | puerta |
| 81 | luz (otro) |
| 82 | lámpara |
| 83 | aplique |
| 84 | candelabro |
| 85 | espejo |
| 86 | pizarra |
| 87 | estantería |
| 88 | escaleras |
| 89 | escalera mecánica |
| 90 | gabinete |
| 91 | chimenea |
| 92 | estufa |
| 93 | máquina de arcade |
| 94 | grava |
| 95 | plataforma |
| 96 | campo de juego |
| 97 | ferrocarril |
| 98 | ruta |
| 99 | nieve |
| 100 | pavimento en las aceras |
| 101 | pista |
| 102 | relieve |
| 103 | libro |
| 104 | caja |
| 105 | reloj |
| 106 | florero |
| 107 | tijeras |
| 108 | juguete (otro) |
| 109 | oso de peluche |
| 110 | secador de cabello |
| 111 | cepillo de dientes |
| 112 | pintura |
| 113 | póster |
| 114 | cartelera de anuncios |
| 115 | botella |
| 116 | taza |
| 117 | copa de vino |
| 118 | cuchillo |
| 119 | tenedor |
| 120 | cuchara |
| 121 | bol |
| 122 | bandeja |
| 123 | campana extractora |
| 124 | plato |
| 125 | persona |
| 126 | pasajero (otro) |
| 127 | ciclista |
| 128 | motociclista |
| 129 | papel |
| 130 | farola |
| 131 | barrera vial |
| 132 | buzón |
| 133 | cámara de cctv |
| 134 | caja de conexión |
| 135 | señal de tráfico |
| 136 | semáforo |
| 137 | hidrante |
| 138 | parquímetro |
| 139 | banca |
| 140 | soporte para bicicletas |
| 141 | cartel |
| 142 | cielo |
| 143 | poste |
| 144 | cerca |
| 145 | barandilla |
| 146 | barrera |
| 147 | colina de montaña |
| 148 | piedra |
| 149 | frisbi |
| 150 | esquís |
| 151 | tabla de snowboard |
| 152 | pelota deportiva |
| 153 | cometa |
| 154 | bate de béisbol |
| 155 | guante de béisbol |
| 156 | patineta |
| 157 | tabla de surf |
| 158 | raqueta de tenis |
| 159 | red |
| 160 | base |
| 161 | escultura |
| 162 | columna |
| 163 | fuente |
| 164 | toldo |
| 165 | indumentaria |
| 166 | banner |
| 167 | bandera |
| 168 | manta |
| 169 | cortina (otro) |
| 170 | cortina de baño |
| 171 | almohada |
| 172 | toalla |
| 173 | alfombra |
| 174 | vegetación |
| 175 | bicicleta |
| 176 | auto |
| 177 | mototaxi |
| 178 | motocicleta |
| 179 | avión |
| 180 | autobús |
| 181 | tren |
| 182 | camión |
| 183 | remolque |
| 184 | barco |
| 185 | objeto con ruedas de movimiento lento |
| 186 | lago de río |
| 187 | mar |
| 188 | agua (otro) |
| 189 | piscina |
| 190 | cascada |
| 191 | pared |
| 192 | ventana |
| 193 | persiana |
¿Qué sigue?
- Para obtener más información, consulta Imagen en Vertex AI.