Imagen te permite editar imágenes en segundos usando peticiones de texto, máscaras e imágenes para guiar las ediciones.
Ver la tarjeta de modelo de Imagen para edición y personalización
Versiones de modelo admitidas
La API 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 |
Opcional. La petición de texto de la imagen. Si no se especifica un |
referenceImages |
Lista de objetos
Obligatorio. Para editar una máscara, se deben especificar exactamente dos imágenes de referencia: una con |
Objeto referenceImages
El objeto referenceImages describe los recursos de imagen de la imagen que se va a editar.
| Parámetros | |
|---|---|
referenceType |
Obligatorio. El tipo de imagen de referencia. Uno de los siguientes:
|
referenceId |
Obligatorio. Identificador único de la imagen de referencia. No se usa para la edición enmascarada. |
referenceImage.bytesBase64Encoded |
Obligatorio. Bytes de imagen codificados en Base64. Se aceptan archivos PNG, JPEG, GIF y BMP. El tamaño máximo es de 20 MB después de transcodificarlo a PNG. Si proporcionas una imagen de máscara, debe tener las mismas dimensiones que la imagen base. |
maskImageConfig.maskMode |
Es obligatorio cuando
|
maskImageConfig.dilation |
Opcional. Intervalo: [0, 1]. El porcentaje de la anchura de la imagen que se va a dilatar (aumentar) la máscara. Esto puede ayudar a compensar las máscaras imprecisas.
Para obtener los mejores resultados, te recomendamos los siguientes ajustes de
|
maskImageConfig.maskClasses |
Opcional. Clases de máscara para el modo |
Parámetros
| Parámetros | |
|---|---|
addWatermark |
Opcional. Añade una marca de agua invisible a las imágenes generadas.
El valor predeterminado es |
baseSteps |
Opcional. 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. El valor predeterminado es
Para las áreas de máscara más pequeñas o para los modos de eliminación o inserción, usa los pasos |
editMode
|
Obligatorio para editar la máscara. Una enumeración con uno de los siguientes valores:
|
guidanceScale |
Opcional. Controla en qué medida se ajusta el modelo a la petición de texto. Los valores grandes aumentan la salida y la alineación de las peticiones, pero pueden afectar a la calidad de la imagen.
Intervalo aceptado:
Valor predeterminado: |
includeRaiReason |
Opcional. Indica si se debe incluir un motivo de seguridad para las imágenes filtradas en la respuesta. El valor predeterminado es |
includeSafetyAttributes |
Opcional. Indica si se deben registrar las puntuaciones de seguridad de cada imagen en la respuesta. El valor predeterminado es |
language |
Opcional. El código de idioma que corresponde al idioma de tu petición de texto. Se admiten los siguientes valores:
|
negativePrompt |
Opcional. Una descripción de lo que se debe evitar en las imágenes generadas. |
outputOptions |
Opcional. Describe el formato de la imagen de salida en un objeto |
personGeneration |
Opcional. Permitir que el modelo genere personas. Se admiten los siguientes valores:
En la edición basada en máscaras, |
sampleCount |
Opcional. Número de imágenes que se van a generar. El valor predeterminado es 4. |
seed |
Opcional. Semilla aleatoria para la generación de imágenes. Esta opción no está disponible cuando |
safetySetting |
Opcional. Añade un nivel de filtro al filtro de seguridad. Se admiten los siguientes valores:
El valor predeterminado es
|
storageUri |
Opcional. El URI de Cloud Storage para almacenar las imágenes generadas. |
Objeto de opciones de salida
El objeto outputOptions describe la salida de la imagen.
| Parámetros | |
|---|---|
outputOptions.mimeType |
Opcional. El formato de imagen en el que se debe guardar la salida. Se admiten los siguientes valores:
El valor predeterminado es |
outputOptions.compressionQuality |
Opcional. El nivel de compresión si el tipo de salida es |
Solicitud de ejemplo
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:
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 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"
}
]
}
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 | empate |
| 4 | maleta |
| 5 | funda |
| 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 | depósito de almacenamiento |
| 22 | Cinta transportadora |
| 23 | fregadero |
| 24 | frigorífico |
| 25 | lavadora secadora |
| 26 | ventilador |
| 27 | lavavajillas |
| 28 | inodoro |
| 29 | bañera |
| 30 | ducha |
| 31 | túnel |
| 32 | puente |
| 33 | muelle |
| 34 | tienda de campaña |
| 35 | edificio |
| 36 | techo |
| 37 | portátil |
| 38 | teclado |
| 39 | ratón |
| 40 | remoto |
| 41 | teléfono móvil |
| 42 | televisión |
| 43 | suelo |
| 44 | fase |
| 45 | plátano |
| 46 | manzana |
| 47 | sándwich |
| 48 | naranja |
| 49 | brócoli |
| 50 | acento circunflejo |
| 51 | perrito caliente |
| 52 | pizza |
| 53 | rosquilla |
| 54 | tarta |
| 55 | Fruta (otros) |
| 56 | Comida (otros) |
| 57 | silla (otro) |
| 58 | sillón |
| 59 | silla giratoria |
| 60 | taburete |
| 61 | licencia |
| 62 | sofá |
| 63 | papelera |
| 64 | planta en maceta |
| 65 | Mesita de noche |
| 66 | cama |
| 67 | tabla |
| 68 | Mesa de billar |
| 69 | cañón |
| 70 | escritorio |
| 71 | otomana |
| 72 | armario |
| 73 | cuna |
| 74 | canasta |
| 75 | cómoda |
| 76 | estantería |
| 77 | Contador (otro) |
| 78 | encimera de baño |
| 79 | Isla de cocina |
| 80 | puerta |
| 81 | Luz (otro) |
| 82 | lámpara |
| 17. | aplique |
| 84 | lámpara de araña |
| 85 | proyectar |
| 86 | pizarra |
| 87 | estantería |
| 88 | escaleras |
| 89 | escalera mecánica |
| 90 | armario |
| 91 | chimenea |
| 92 | cocina de fogones |
| 93 | máquina recreativa |
| 94 | grava |
| 95 | plataforma |
| 96 | campo de juego |
| 97 | ferrocarril |
| 98 | carretera |
| 99 | snow |
| 100 | pavimento de acera |
| 101 | pista |
| 102 | relieve |
| 103 | libro |
| 104 | de correos |
| 105 | reloj |
| 106 | jarrón |
| 107 | tijeras |
| 108 | Juguete (otro) |
| 109 | oso de peluche |
| 110 | secador de pelo |
| 111 | cepillo de dientes |
| 112 | cuadro |
| 113 | Póster |
| 114 | tablón de anuncios |
| 115 | botella |
| 116 | copa |
| 117 | Copa de vino |
| 118 | cuchillo |
| 119 | bifurcación |
| 120 | cuchara |
| 121 | bol |
| 122 | bandeja |
| 123 | Campana extractora |
| 124 | plato |
| 125 | persona |
| 126 | Rider (otro) |
| 127 | Ciclista |
| 128 | motociclista |
| 129 | documento |
| 130 | farola |
| 131 | barrera de carretera |
| 132 | buzón |
| 133 | cámara de circuito cerrado de televisión |
| 134 | Caja de conexiones |
| 135 | Señal de tráfico |
| 136 | semáforo |
| 137 | boca de incendios |
| 138 | Parquímetro |
| 139 | banco |
| 140 | Portabicicletas |
| 141 | Billboard |
| 142 | sky |
| 143 | palo |
| 144 | valla |
| 145 | barandilla |
| 146 | barandilla |
| 147 | montaña |
| 148 | rock |
| 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 | monopatín |
| 157 | tabla de surf |
| 158 | raqueta de tenis |
| 159 | net |
| 160 | base |
| 161 | escultura |
| 162 | columna |
| 163 | fuente |
| 164 | toldo |
| 165 | Ropa |
| 166 | banner |
| 167 | bandera |
| 168 | manta |
| 169 | cortina (otro) |
| 170 | Cortina de ducha |
| 171 | almohada |
| 172 | toalla |
| 173 | alfombrilla |
| 174 | vegetación |
| 175 | bicicleta |
| 176 | coche |
| 177 | autorickshaw |
| 178 | motocicleta |
| 179 | avión |
| 180 | autobús |
| 181 | train |
| 182 | camión |
| 183 | Tráiler |
| 184 | barco |
| 185 | objeto lento con ruedas |
| 186 | lago fluvial |
| 187 | ce |
| 188 | Agua (otro) |
| 189 | Piscina |
| 190 | Cascada |
| 191 | pared |
| 192 | ventana |
| 193 | Persiana |
Siguientes pasos
- Para obtener más información, consulta Imagen en Vertex AI.