La API Imagen te permite crear imágenes de alta calidad en segundos usando peticiones de texto e imágenes de referencia para guiar la generación de temas o estilos.
Ver la tarjeta del modelo Imagen for Editing and Customization
Modelos admitidos
Modelo | Código |
---|---|
Personalización mediante imágenes de referencia (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
Sintaxis de ejemplo
Sintaxis para personalizar una imagen a partir de una petición de texto e 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 ejemplo:
Esta solicitud es para personalizar a una persona 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 los ejemplos para obtener más información sobre la implementación.
Personalizar imágenes
REST
Parámetros | |
---|---|
referenceType |
Enumeración obligatoria:
|
referenceId |
Obligatorio integer El ID de referencia. Usa este ID de referencia en la petición. Por ejemplo, usa [1] para hacer referencia a las imágenes de referencia con referenceId=1 y [2] para hacer referencia a las imágenes de referencia con referenceId=2.
|
referenceImage.bytesBase64Encoded |
Obligatorio string Cadena Base64 de la imagen de referencia codificada. |
maskImageConfig.maskMode |
Enumeración opcional:
Se especifica cuando referenceType se define como REFERENCE_TYPE_MASK .
|
maskImageConfig.dilation |
Opcional float . Intervalo: [0, 1]Porcentaje de la anchura de la imagen en el que se debe dilatar esta máscara. Se especifica cuando referenceType se define como REFERENCE_TYPE_MASK .
|
maskImageConfig.maskClasses |
Opcional list[Integer] .Clases de máscara para el modo MASK_MODE_SEMANTIC .Se especifica cuando referenceType se define como REFERENCE_TYPE_MASK .
|
controlImageConfig.controlType |
Enumeración obligatoria:
Se especifica cuando referenceType se define como REFERENCE_TYPE_CONTROL .
|
controlImageConfig.enableControlImageComputation |
Opcional bool .Valor predeterminado: false .
Se especifica cuando referenceType se define como REFERENCE_TYPE_CONTROL .
|
language |
Opcional: El código de idioma que corresponde al idioma de tu petición de texto. Se admiten los siguientes valores:
en : inglés (si se omite, se usa el valor predeterminado)
|
subjectImageConfig.subjectDescription |
Obligatorio string .Breve descripción del tema de la imagen. Por ejemplo, una mujer con el pelo corto y castaño. Se especifica cuando referenceType se define como REFERENCE_TYPE_SUBJECT .
|
subjectImageConfig.subjectType |
Enumeración obligatoria:
Se especifica cuando referenceType se define como REFERENCE_TYPE_SUBJECT .
|
styleImageConfig.styleDescription |
Opcional string .Una breve descripción del estilo. Se especifica cuando referenceType se define como REFERENCE_TYPE_STYLE .
|
Respuesta
Cuerpo de la respuesta de la solicitud REST.
Parámetro | |
---|---|
predictions |
Matriz de objetos |
Objeto de resultado del modelo generativo de Vision
Información sobre el resultado del modelo.
Parámetro | |
---|---|
bytesBase64Encoded |
Imagen generada codificada en base64. No está presente si la imagen de salida no ha superado los filtros de IA responsable. |
mimeType |
El tipo de imagen generada. No se incluye si la imagen de salida no ha superado los filtros de IA responsable. |
Ejemplos
En los siguientes ejemplos se muestra cómo usar el modelo Imagen para personalizar imágenes.
Personalizar imágenes
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 de Imagen 3, incluye el
referenceId
de la imagen o las imágenes de referencia que proporciones en el formato [$referenceId]. Por ejemplo:- La siguiente petición de texto incluye 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 el pelo corto que se ajuste a la descripción: un boceto a lápiz de un retrato de cuerpo entero de un man with short hair [1] con un dibujo de trama cruzada, un dibujo de trama de un retrato con lápices 6B y de grafito, fondo blanco, dibujo a lápiz, alta calidad, trazo de lápiz, mirando a la cámara, ojos humanos naturales
- La siguiente petición de texto incluye dos imágenes de referencia con
"referenceId"
: ID de la imagen de referencia o 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 mismoreferenceId
(1
).- BASE64_REFERENCE_IMAGE: 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. 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: 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_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 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 | compilando |
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 (otro) |
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 | osito 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 (otra) |
189 | Piscina |
190 | Cascada |
191 | pared |
192 | ventana |
193 | Persiana |
Siguientes pasos
- Para obtener más información, consulta Imagen en Vertex AI.