L'API Imagen ti consente di creare immagini di alta qualità in pochi secondi, utilizzando prompt di testo e immagini di riferimento per guidare la generazione di soggetti o stili.
Visualizzare la scheda del modello Imagen per la modifica e la personalizzazione
Modelli supportati
Modello | Codice |
---|---|
Personalizzazione tramite immagini di riferimento (few-shot) | imagen-3.0-capability-001 |
Per saperne di più sulle funzionalità supportate da ciascun modello, consulta Modelli Imagen.
Metodo HTTP e URL
POST https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/imagen-3.0-capability-001:predict
Sintassi di esempio
Sintassi per personalizzare un'immagine da un prompt di testo e immagini di riferimento.
Sintassi
Sintassi per personalizzare un'immagine.
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": { [...] } }'
Corpo della richiesta di esempio:
Questa richiesta riguarda la personalizzazione di una persona con un'immagine di controllo della mesh del volto e tre immagini di riferimento.
{ "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 } }
Elenco dei parametri
Per informazioni dettagliate sull'implementazione, consulta gli esempi.
Personalizzare le immagini
REST
Parametri | |
---|---|
referenceType |
Enumerazione obbligatoria:
|
referenceId |
Obbligatorio integer L'ID riferimento. Utilizza questo ID di riferimento nel prompt. Ad esempio, utilizza [1] per fare riferimento alle immagini di riferimento con referenceId=1, [2] per
fare riferimento alle immagini di riferimento con referenceId=2.
|
referenceImage.bytesBase64Encoded |
Obbligatorio string Una stringa Base64 per l'immagine di riferimento codificata. |
maskImageConfig.maskMode |
Enumerazione facoltativa:
Specificato quando referenceType è impostato su REFERENCE_TYPE_MASK .
|
maskImageConfig.dilation |
Facoltativo float . Intervallo: [0, 1]La percentuale di larghezza dell'immagine in base alla quale dilatare questa maschera. Specificato quando referenceType è impostato su REFERENCE_TYPE_MASK .
|
maskImageConfig.maskClasses |
Facoltativo list[Integer] .Maschere classi per la modalità MASK_MODE_SEMANTIC .Specificato quando referenceType è impostato su REFERENCE_TYPE_MASK .
|
controlImageConfig.controlType |
Enumerazione obbligatoria:
Specificato quando referenceType è impostato su REFERENCE_TYPE_CONTROL .
|
controlImageConfig.enableControlImageComputation |
Facoltativo bool .Predefinito: false .
Specificato quando referenceType è impostato su REFERENCE_TYPE_CONTROL .
|
language |
(Facoltativo) Il codice lingua che corrisponde alla lingua del prompt di testo. Sono supportati i seguenti valori:
en : inglese (se omesso, il valore predefinito)
|
subjectImageConfig.subjectDescription |
Obbligatorio string .Una breve descrizione del soggetto nell'immagine. Ad esempio, una donna con i capelli castani corti. Specificato quando referenceType è impostato su REFERENCE_TYPE_SUBJECT .
|
subjectImageConfig.subjectType |
Enumerazione obbligatoria:
Specificato quando referenceType è impostato su REFERENCE_TYPE_SUBJECT .
|
styleImageConfig.styleDescription |
Facoltativo string .Una breve descrizione dello stile. Specificato quando referenceType è impostato su REFERENCE_TYPE_STYLE .
|
Risposta
Il corpo della risposta della richiesta REST.
Parametro | |
---|---|
predictions |
Un array di
oggetti |
Oggetto risultato del modello generativo di visione
Informazioni sul risultato del modello.
Parametro | |
---|---|
bytesBase64Encoded |
L'immagine generata con codifica base64. Non presente se l'immagine di output non ha superato i filtri di AI responsabile. |
mimeType |
Il tipo di immagine generata. Non presente se l'immagine di output non ha superato i filtri di AI responsabile. |
Esempi
Gli esempi riportati di seguito mostrano come utilizzare il modello Imagen per personalizzare le immagini.
Personalizzare le immagini
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo Google Cloud ID progetto.
- LOCATION: la regione del progetto. Ad esempio,
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta Località dell'AI generativa su Vertex AI. - TEXT_PROMPT: Il prompt di testo guida le immagini che il modello genera. Per utilizzare la personalizzazione di Imagen 3, includi l'
referenceId
dell'immagine o delle immagini di riferimento che fornisci nel formato [$referenceId]. Ad esempio:- Il seguente prompt di testo è per una richiesta che ha due immagini di riferimento con
"referenceId": 1
. Entrambe le immagini hanno una descrizione opzionale di"subjectDescription": "man with short hair"
: Crea un'immagine di un uomo con i capelli corti che corrisponda alla descrizione: uno schizzo a matita di un ritratto a figura intera di un man with short hair [1] con tratteggio incrociato, disegno a tratteggio di un ritratto con matite 6B e di grafite, sfondo bianco, disegno a matita, alta qualità, tratto di matita, che guarda la fotocamera, occhi umani naturali
- Il seguente prompt di testo è per una richiesta che ha due immagini di riferimento con
"referenceId"
: L'ID dell'immagine di riferimento o l'ID di una serie di immagini di riferimento che corrispondono allo stesso soggetto o stile. In questo esempio, le due immagini di riferimento sono della stessa persona, quindi condividono lo stessoreferenceId
(1
).- BASE64_REFERENCE_IMAGE: Un'immagine di riferimento per guidare la generazione di immagini. L'immagine deve essere specificata come stringa di byte con codifica base64.
- SUBJECT_DESCRIPTION: (Facoltativo) Una descrizione testuale dell'immagine di riferimento che puoi
utilizzare nel campo
prompt
. Ad esempio:"prompt": "a full-body portrait of a man with short hair [1] with hatch-cross drawing", [...], "subjectDescription": "man with short hair"
- IMAGE_COUNT: Il numero di immagini generate. Valori interi accettati: 1-4. Il valore predefinito è 4.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
Corpo JSON della richiesta:
{ "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 } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
ed esegui questo 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
Salva il corpo della richiesta in un file denominato request.json
,
ed esegui questo 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 risposta restituisce due oggetti di previsione, con
i byte dell'immagine generata codificati in base64.
{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
ID classi
Utilizza i seguenti ID classe di oggetti per creare automaticamente una maschera dell'immagine in base a oggetti specifici.
ID classe (class_ ) |
Oggetto |
---|---|
0 | zaino |
1 | ombrello |
2 | borsa |
3 | cravatta |
4 | valigia |
5 | richiesta |
6 | uccello |
7 | gatto |
8 | cane |
9 | cavallo |
10 | pecora |
11 | mucca |
12 | elefante |
13 | orso |
14 | zebra |
15 | giraffa |
16 | animale (altro) |
17 | forno a microonde |
18 | radiatore |
19 | forno |
20 | tostapane |
21 | serbatoio di stoccaggio |
22 | nastro trasportatore |
23 | sink |
24 | frigorifero |
25 | Lavasciuga |
26 | ventilatore |
27 | lavastoviglie |
28 | toilette |
29 | vasca da bagno |
30 | doccia |
31 | tunnel |
32 | ponte |
33 | pier wharf |
34 | tenda |
35 | in fase di creazione |
36 | ceiling |
37 | laptop |
38 | tastiera |
39 | topo |
40 | telecomando |
41 | cellulare |
42 | televisione |
43 | piano |
44 | fase |
45 | banana |
46 | apple |
47 | sandwich |
48 | orange |
49 | broccoli |
50 | carota |
51 | hot dog |
52 | pizza |
53 | ciambella |
54 | torta |
55 | frutta (altro) |
56 | cibo (altro) |
57 | sedia (altro) |
58 | poltrona |
59 | sedia girevole |
60 | sgabello |
61 | utenza |
62 | divano |
63 | cestino |
64 | pianta in vaso |
65 | comodino |
66 | letto |
67 | tabella |
68 | tavolo da biliardo |
69 | barile |
70 | scrivania |
71 | ottoman |
72 | guardaroba |
73 | culla |
74 | cestino |
75 | cassettiera |
76 | libreria |
77 | contatore (altro) |
78 | mobile bagno |
79 | isola da cucina |
80 | porta |
81 | luce (altro) |
82 | lampada |
83 | applique |
84 | candelabro |
85 | specchio |
86 | lavagna |
87 | scaffale |
88 | scale |
89 | scala mobile |
90 | armadietto |
91 | camino |
92 | stufa |
93 | macchina arcade |
94 | ghiaia |
95 | piattaforma |
96 | playingfield |
97 | ferrovia |
98 | strada |
99 | neve |
100 | pavimentazione del marciapiede |
101 | pista |
102 | rilievo |
103 | libro |
104 | box |
105 | orologio |
106 | vaso |
107 | forbici |
108 | giocattolo (altro) |
109 | orsacchiotto |
110 | asciugacapelli |
111 | spazzolino da denti |
112 | dipinto |
113 | poster |
114 | bacheca |
115 | bottiglia |
116 | tazza |
117 | bicchiere di vino |
118 | coltello |
119 | fork |
120 | cucchiaio |
121 | ciotola |
122 | vassoio |
123 | cappa |
124 | piatto |
125 | persona |
126 | rider (other) |
127 | ciclista |
128 | motociclista |
129 | documento |
130 | lampione |
131 | barriera stradale |
132 | cassetta postale |
133 | cctv camera |
134 | scatola di giunzione |
135 | segnale stradale |
136 | semaforo |
137 | idrante |
138 | parchimetro |
139 | panchina |
140 | portabiciclette |
141 | billboard |
142 | Sky |
143 | palo |
144 | recinto |
145 | ringhiera |
146 | guard rail |
147 | collina di montagna |
148 | rock |
149 | frisbee |
150 | sci |
151 | snowboard |
152 | palla sportiva |
153 | aquilone |
154 | mazza da baseball |
155 | guanto da baseball |
156 | skateboard |
157 | tavola da surf |
158 | racchetta da tennis |
159 | net |
160 | base |
161 | scultura |
162 | colonna |
163 | fontana |
164 | tenda parasole |
165 | abbigliamento |
166 | banner |
167 | flag |
168 | coperta |
169 | tenda (altro) |
170 | tenda da doccia |
171 | cuscino |
172 | asciugamano |
173 | tappetino |
174 | vegetazione |
175 | bicicletta |
176 | automobile |
177 | autorickshaw |
178 | motocicletta |
179 | aereo |
180 | autobus |
181 | train |
182 | camion |
183 | trailer |
184 | boat ship |
185 | oggetto lento con ruote |
186 | lago fluviale |
187 | sea |
188 | acqua (altro) |
189 | piscina |
190 | cascata |
191 | parete |
192 | finestra |
193 | tapparella |
Passaggi successivi
- Per saperne di più, consulta Imagen su Vertex AI.