La API de Imagen te permite crear imágenes de alta calidad en segundos, con instrucciones de texto y imágenes de referencia para guiar la generación de temas o estilos.
Consulta la tarjeta del modelo de Imagen for Editing and Customization
Modelos compatibles
| Modelo | Código | 
|---|---|
| Personalización con imágenes de referencia (aprendizaje con pocos ejemplos) | imagen-3.0-capability-001 | 
Para obtener más información sobre las funciones que admite cada modelo, consulta Modelos de Imagen.
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
Ejemplo de sintaxis
Sintaxis para personalizar una imagen a partir de una instrucción de texto y de imágenes de referencia.
Sintaxis
Sintaxis para personalizar una imagen.
REST
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": [ { // Use [1] to refer to the reference images with referenceId=1 // [2] to refer to the reference images with referenceId=2, // following the same format for all reference IDs that you provide. "prompt": "${TEXT_PROMPT}", "referenceImages": [ // A list of at most 4 reference image objects. [...] ] } ], "parameters": { [...] } }'
Cuerpo de la solicitud de muestra:
Esta solicitud es para la personalización de personas con una imagen de control de malla facial y tres imágenes de referencia.
{
  "instances": [
    {
      "prompt": "Create an image about a man with short hair [1] in the pose of
       control image [2] to match the description: A pencil style sketch of a
       full-body portrait of a man with short hair [1] with hatch-cross drawing,
       hatch drawing of portrait with 6B and graphite pencils, white background,
       pencil drawing, high quality, pencil stroke, looking at camera, natural
       human eyes",
      "referenceImages": [
        {
          "referenceType": "REFERENCE_TYPE_CONTROL",
          "referenceId": 2,
          "referenceImage": {
            "bytesBase64Encoded": "${IMAGE_BYTES_1}"
          },
          "controlImageConfig": {
            "controlType": "CONTROL_TYPE_FACE_MESH",
            "enableControlImageComputation": true
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_SUBJECT",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "${IMAGE_BYTES_2}"
          },
          "subjectImageConfig": {
            "subjectDescription": "a man with short hair",
            "subjectType": "SUBJECT_TYPE_PERSON"
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_SUBJECT",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "${IMAGE_BYTES_3}"
          },
          "subjectImageConfig": {
            "subjectDescription": "a man with short hair",
            "subjectType": "SUBJECT_TYPE_PERSON"
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_SUBJECT",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "${IMAGE_BYTES_4}"
          },
          "subjectImageConfig": {
            "subjectDescription": "a man with short hair",
            "subjectType": "SUBJECT_TYPE_PERSON"
          }
        }
      ]
    }
  ],
  "parameters": {
    "negativePrompt": "wrinkles, noise, Low quality, dirty, low res, multi face,
      rough texture, messy, messy background, color background, photo realistic,
      photo, super realistic, signature, autograph, sign, text, characters,
      alphabet, letter",
    "seed": 1,
    "language": "en",
    "sampleCount": 4
  }
}Lista de parámetros
Consulta ejemplos para obtener detalles sobre la implementación.
Personaliza imágenes
REST
| Parámetros | |
|---|---|
| referenceType | Enumeración obligatoria: 
 | 
| referenceId | Obligatorio integerEs el ID de referencia. Usa este ID de referencia en la instrucción. Por ejemplo, usa [1]para hacer referencia a las imágenes con referenceId=1 y[2]para hacer referencia a las imágenes con referenceId=2. | 
| referenceImage.bytesBase64Encoded | Obligatorio stringEs una cadena en Base64 para la imagen de referencia codificada. | 
| maskImageConfig.maskMode | Enumeración opcional: 
 Se especifica cuando referenceTypese establece comoREFERENCE_TYPE_MASK. | 
| maskImageConfig.dilation | floatopcional. Rango: [0, 1]Es el porcentaje del ancho de la imagen por el que se dilatará esta máscara. Se especifica cuando referenceTypese establece comoREFERENCE_TYPE_MASK. | 
| maskImageConfig.maskClasses | list[Integer]opcional.Máscara de clases para el modo MASK_MODE_SEMANTIC.Se especifica cuando referenceTypese establece comoREFERENCE_TYPE_MASK. | 
| controlImageConfig.controlType | Enumeración obligatoria: 
 Se especifica cuando referenceTypese establece comoREFERENCE_TYPE_CONTROL. | 
| controlImageConfig.enableControlImageComputation | boolopcional.Valor predeterminado: false.
 
 Se especifica cuando referenceTypese establece comoREFERENCE_TYPE_CONTROL. | 
| language | 
      Opcional:  Es el código de idioma que corresponde a tu idioma de la instrucción de texto. Se admiten los siguientes valores: 
 en: Inglés (si se omite, se usa el valor predeterminado) | 
| subjectImageConfig.subjectDescription | Se requiere string.Es una breve descripción del sujeto en la imagen. Por ejemplo, una mujer con cabello castaño corto. Se especifica cuando referenceTypese establece comoREFERENCE_TYPE_SUBJECT. | 
| subjectImageConfig.subjectType | Enumeración obligatoria: 
 Se especifica cuando referenceTypese establece comoREFERENCE_TYPE_SUBJECT. | 
| styleImageConfig.styleDescription | stringopcional.Es una descripción breve del estilo. Se especifica cuando referenceTypese establece comoREFERENCE_TYPE_STYLE. | 
Respuesta
El cuerpo de la respuesta de la solicitud de REST.
| Parámetro | |
|---|---|
| predictions | Un array de objetos  | 
Objeto del resultado del modelo generativo de visión
Objeto del resultado del modelo generativo de visión
| Parámetro | |
|---|---|
| bytesBase64Encoded | La imagen generada codificada en base64. No está presente si la imagen de salida no pasó los filtros de IA responsable. | 
| mimeType | Es el tipo de la imagen generada. No está presente si la imagen de salida no pasó los filtros de IA responsable. | 
Ejemplos
En los siguientes ejemplos, se muestra cómo usar el modelo Imagen para personalizar imágenes.
Personaliza imágenes
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.
- TEXT_PROMPT: El mensaje de texto guía qué imágenes genera el modelo. Para usar la personalización de Imagen 3, incluye el referenceIdde la imagen o las imágenes de referencia que proporciones en el formato [$referenceId]. Por ejemplo:- El siguiente mensaje de texto es para una solicitud que tiene dos imágenes de referencia con "referenceId": 1. Ambas imágenes tienen una descripción opcional de"subjectDescription": "man with short hair": Crea una imagen de un hombre con cabello corto que coincida con la siguiente descripción: Un boceto de estilo lápiz de un retrato de cuerpo completo de un man with short hair [1] con dibujo de sombreado cruzado, dibujo de sombreado de retrato con lápices de grafito y 6B, fondo blanco, dibujo a lápiz, alta calidad, trazo de lápiz, mirando a la cámara, ojos humanos naturales
 
- El siguiente mensaje de texto es para una solicitud que tiene dos imágenes de referencia con 
- "referenceId": Es el ID de la imagen de referencia o el ID de una serie de imágenes de referencia que corresponden al mismo tema o estilo. En este ejemplo, las dos imágenes de referencia son de la misma persona, por lo que comparten el mismo- referenceId(- 1).
- BASE64_REFERENCE_IMAGE: Es una imagen de referencia para guiar la generación de imágenes. La imagen debe especificarse como una cadena de bytes codificada en base64.
- SUBJECT_DESCRIPTION: Opcional Es una descripción de texto de la imagen de referencia que puedes usar en el campo prompt. Por ejemplo:"prompt": "a full-body portrait of a man with short hair [1] with hatch-cross drawing", [...], "subjectDescription": "man with short hair"
- IMAGE_COUNT: La cantidad de imágenes generadas. 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": "TEXT_PROMPT",
      "referenceImages": [
        {
          "referenceType": "REFERENCE_TYPE_SUBJECT",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
          },
          "subjectImageConfig": {
            "subjectDescription": "SUBJECT_DESCRIPTION",
            "subjectType": "SUBJECT_TYPE_PERSON"
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_SUBJECT",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
          },
          "subjectImageConfig": {
            "subjectDescription": "SUBJECT_DESCRIPTION",
            "subjectType": "SUBJECT_TYPE_PERSON"
          }
        }
      ]
    }
  ],
  "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 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.