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 suREFERENCE_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 suREFERENCE_TYPE_MASK. | 
| maskImageConfig.maskClasses | Facoltativo list[Integer].Maschere classi per la modalità MASK_MODE_SEMANTIC.Specificato quando referenceTypeè impostato suREFERENCE_TYPE_MASK. | 
| controlImageConfig.controlType | Enumerazione obbligatoria: 
 Specificato quando referenceTypeè impostato suREFERENCE_TYPE_CONTROL. | 
| controlImageConfig.enableControlImageComputation | Facoltativo bool.Predefinito: false.
 
 Specificato quando referenceTypeè impostato suREFERENCE_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 suREFERENCE_TYPE_SUBJECT. | 
| subjectImageConfig.subjectType | Enumerazione obbligatoria: 
 Specificato quando referenceTypeè impostato suREFERENCE_TYPE_SUBJECT. | 
| styleImageConfig.styleDescription | Facoltativo string.Una breve descrizione dello stile. Specificato quando referenceTypeè impostato suREFERENCE_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 stesso- referenceId(- 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.