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.
Visualizza 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 del 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.
Personalizza le immagini
REST
| Parametri | |
|---|---|
referenceType |
Enumerazione obbligatoria:
|
referenceId |
Obbligatorio integerL'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 stringUna 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.
Personalizza 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-west2oasia-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 il
referenceIddell'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 | astuccio |
| 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 | lavandino |
| 24 | frigorifero |
| 25 | lavasciuga |
| 26 | ventilatore |
| 27 | lavastoviglie |
| 28 | toilette |
| 29 | vasca da bagno |
| 30 | doccia |
| 31 | tunnel |
| 32 | ponte |
| 33 | molo |
| 34 | tenda |
| 35 | edificio |
| 36 | soffitto |
| 37 | laptop |
| 38 | tastiera |
| 39 | mouse |
| 40 | telecomando |
| 41 | cellulare |
| 42 | televisione |
| 43 | floor |
| 44 | fase |
| 45 | banana |
| 46 | mela |
| 47 | sandwich |
| 48 | arancia |
| 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 | sedile |
| 62 | divano |
| 63 | cestino |
| 64 | pianta in vaso |
| 65 | comodino |
| 66 | letto |
| 67 | tavolo |
| 68 | tavolo da biliardo |
| 69 | barile |
| 70 | scrivania |
| 71 | ottomana |
| 72 | guardaroba |
| 73 | culla |
| 74 | cestino |
| 75 | cassettiera |
| 76 | libreria |
| 77 | bancone (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 | marciapiede |
| 96 | campo da gioco |
| 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 | forchetta |
| 120 | cucchiaio |
| 121 | ciotola |
| 122 | vassoio |
| 123 | cappa |
| 124 | piatto |
| 125 | persona |
| 126 | rider (altro) |
| 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 | apparel |
| 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 | caravan |
| 184 | barca |
| 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.