Modificare le immagini

Imagen ti consente di modificare le immagini in pochi secondi utilizzando prompt di testo, maschere e immagini esistenti per guidare le modifiche.

Visualizza la scheda del modello Imagen per la modifica e la personalizzazione

Versioni del modello supportate

L'API Imagen supporta i seguenti modelli:

  • imagen-3.0-capability-001

Per ulteriori informazioni sulle funzionalità supportate dal modello, consulta Modelli Imagen.

Richiesta HTTP

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": [
    {
      "referenceImages": [
        {
          "referenceType": "REFERENCE_TYPE_RAW",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": string
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_MASK",
          "referenceId": 2,
          "referenceImage": {
            "bytesBase64Encoded": string
          },
          "maskImageConfig": {
            "maskMode": "MASK_MODE_USER_PROVIDED"
          }
        }
      ],
      "prompt": string
    }
  ],
  "parameters": {
    "addWatermark": boolean,
    "baseSteps": integer,
    "editMode": string,
    "guidanceScale": integer,
    "includeRaiReason": boolean,
    "includeSafetyAttributes": boolean,
    "language": string,
    "negativePrompt": string,
    "outputOptions": {
      "mimeType": string,
      "compressionQuality": integer
    },
    "personGeneration": string,
    "safetySetting": string,
    "sampleCount": integer,
    "seed": integer,
    "storageUri": string
  }
}'

Istanze

Istanze
prompt

string

Facoltativo. Il prompt di testo per l'immagine. Se non viene specificato un prompt, il modello inserisce i contenuti dal contesto dell'immagine.

referenceImages

Elenco di ReferenceImage oggetti.

Obbligatorio. Per la modifica della maschera, devono essere specificate esattamente due immagini di riferimento, una con REFERENCE_TYPE_RAW e una con REFERENCE_TYPE_MASK.

referenceImages oggetto

L'oggetto referenceImages descrive le risorse immagine da modificare con Imagen.

Parametri
referenceType

string

Obbligatorio. Il tipo di immagine di riferimento. Il valore sarà uno dei seguenti:

  • REFERENCE_TYPE_RAW: l'immagine di base da modificare.
  • REFERENCE_TYPE_MASK: l'immagine maschera, i cui valori diversi da zero indicano dove modificare l'immagine base.
referenceId

integer

Obbligatorio. Un identificatore univoco per l'immagine di riferimento. Non utilizzato per la modifica mascherata.

referenceImage.bytesBase64Encoded

string

Obbligatorio. Byte dell'immagine con codifica Base64. Accetta file PNG, JPEG, GIF e BMP. La dimensione massima è 20 MB dopo la transcodifica in PNG. Se fornisci un'immagine della maschera, questa deve avere le stesse dimensioni dell'immagine di base.

maskImageConfig.maskMode

string

Obbligatorio quando referenceType è REFERENCE_TYPE_MASK. Deve essere uno dei seguenti:

  • MASK_MODE_USER_PROVIDED: utilizza la maschera di referenceImage.bytesBase64Encoded.
  • MASK_MODE_BACKGROUND: utilizza una maschera generata automaticamente dalla segmentazione dello sfondo.
  • MASK_MODE_FOREGROUND: utilizza una maschera generata automaticamente dalla segmentazione del primo piano.
  • MASK_MODE_SEMANTIC: utilizza una maschera generata automaticamente dalla segmentazione semantica con la classe di maschera specificata.
maskImageConfig.dilation

float

Facoltativo. Intervallo: [0, 1]. La percentuale della larghezza dell'immagine di cui dilatare (ingrandire) la maschera. Ciò può contribuire a compensare le maschere imprecise. Per risultati ottimali, ti consigliamo le seguenti impostazioni maskImageConfig.maskMode, ti consigliamo i valori elencati:

  • EDIT_MODE_INPAINT_INSERTION: 0.01
  • EDIT_MODE_INPAINT_REMOVAL: 0.01
  • EDIT_MODE_BGSWAP: 0.0
  • EDIT_MODE_OUTPAINT: 0.01-0.03
maskImageConfig.maskClasses

list[integer]

Facoltativo. Maschera classi per la modalità MASK_MODE_SEMANTIC.

Parametri

Parametri
addWatermark

bool

Facoltativo. Aggiungi una filigrana invisibile alle immagini generate.

Il valore predefinito è true.

baseSteps

integer

Facoltativo. Il numero di passaggi di campionamento. Un valore più alto offre una migliore qualità dell'immagine, mentre un valore più basso offre una migliore latenza. Il valore predefinito è 75.

Per aree della maschera più piccole o per le modalità di rimozione o inserimento, utilizza i passaggi 16 - 35 per ridurre la latenza e ottenere un livello di qualità simile.

editMode

string

Obbligatorio per la modifica della maschera.

Un'enumerazione con uno dei seguenti valori:

  • EDIT_MODE_INPAINT_REMOVAL: rimuovi gli oggetti e riempi lo sfondo dell'immagine nell'area della maschera.
  • EDIT_MODE_INPAINT_INSERTION: Aggiungi oggetti da un prompt specifico.
  • EDIT_MODE_BGSWAP: Aggiungi contenuti di sfondo nell'area della maschera, mantenendo i contenuti dell'oggetto nell'area non mascherata. Utile per la modifica dei prodotti.
  • EDIT_MODE_OUTPAINT: Estende l'immagine nell'area della maschera. A differenza di EDIT_MODE_BGSWAP, questa opzione genera il completamento degli oggetti parziali al confine dell'immagine.
guidanceScale

integer

Facoltativo. Controlla il livello di aderenza del modello al prompt di testo. Valori elevati aumentano l'output e l'allineamento dei prompt, ma potrebbero compromettere la qualità dell'immagine.

Intervallo accettato: 0 - 500

Predefinito: 60 per la modalità Inserisci, 75 per rimuovere, bgswap, outpaint.

includeRaiReason

boolean

Facoltativo. Se includere un motivo di sicurezza per le immagini filtrate nella risposta. Il valore predefinito è false.

includeSafetyAttributes

boolean

Facoltativo. Se segnalare i punteggi di sicurezza di ogni immagine nella risposta. Il valore predefinito è false.

language

string

Facoltativo. Il codice lingua che corrisponde alla lingua del prompt di testo. Sono supportati i seguenti valori:

  • "auto": rilevamento automatico. Se Imagen rileva una lingua supportata, il prompt e un prompt negativo facoltativo vengono tradotti in inglese. Se la lingua rilevata non è supportata, Imagen utilizza il testo di input letteralmente, il che potrebbe comportare un output imprevisto. Non viene restituito alcun codice di errore.
  • "en": inglese (se omesso, il valore predefinito)
  • "zh" o "zh-CN": cinese (semplificato)
  • "zh-TW": cinese (tradizionale)
  • "hi": hindi
  • "ja": giapponese
  • "ko": coreano
  • "pt": portoghese
  • "es": spagnolo

language è supportato solo da imagen-3.0-capability-001.

negativePrompt

string

Facoltativo. Una descrizione di cosa scoraggiare nelle immagini generate.

outputOptions

outputOptions

Facoltativo. Descrive il formato dell'immagine di output in un oggetto outputOptions.

personGeneration

string

Facoltativo. Consenti la generazione di persone da parte del modello. Sono supportati i seguenti valori:

  • "dont_allow": Non consentire l'inclusione di persone o volti nelle immagini.
  • "allow_adult": Consenti la generazione solo di adulti.
  • "allow_all": Consenti la generazione di persone di tutte le età.

Per la modifica basata sulla maschera, personGeneration è impostato su allow_adult per impostazione predefinita. Per la modifica senza maschera, personGeneration è impostato su allow_adult per impostazione predefinita.

sampleCount

integer

Facoltativo. Il numero di immagini da generare. Il valore predefinito è 4.

seed

Uint32

Facoltativo. Il seed casuale per la generazione di immagini. Questa opzione non è disponibile quando addWatermark è impostato su true.

safetySetting

string

Facoltativo. Aggiunge un livello di filtro al filtro di sicurezza. Sono supportati i seguenti valori:

  • "block_low_and_above": livello di filtraggio più elevato, blocco più rigoroso. Valore deprecato: "block_most".
  • "block_medium_and_above": Blocca alcuni prompt e risposte problematici. Valore deprecato: "block_some".
  • "block_only_high": riduce il numero di richieste bloccate a causa dei filtri di sicurezza. Potrebbe aumentare i contenuti discutibili generati da Imagen. Valore deprecato: "block_few".
  • "block_none": Blocca pochissimi prompt e risposte problematici. L'accesso a questa funzionalità è limitato. Valore del campo precedente: "block_fewest".

Il valore predefinito è "block_medium_and_above".

safetySetting è supportato solo da imagen-3.0-capability-001.

storageUri

string

Facoltativo. L'URI Cloud Storage in cui archiviare le immagini generate.

Oggetto delle opzioni di output

L'oggetto outputOptions descrive l'output dell'immagine.

Parametri
outputOptions.mimeType

string

Facoltativo. Il formato dell'immagine in cui deve essere salvato l'output. Sono supportati i seguenti valori:

  • "image/png": Salva come immagine PNG
  • "image/jpeg": Salva come immagine JPEG

Il valore predefinito è "image/png".

outputOptions.compressionQuality

integer

Facoltativo. Il livello di compressione se il tipo di output è "image/jpeg". I valori accettati vanno da 0 a 100. Il valore predefinito è 75.

Richiesta di esempio

REST

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • REGION: la regione in cui si trova il progetto. Per ulteriori informazioni sulle regioni supportate, consulta AI generativa su località Vertex AI.
  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • TEXT_PROMPT: Facoltativo. Un prompt di testo per guidare le immagini generate dal modello. Per risultati ottimali, utilizza una descrizione dell'area mascherata ed evita prompt di una sola parola. Ad esempio, utilizza "un simpatico corgi" anziché "corgi".
  • B64_BASE_IMAGE: Un'immagine codificata in base64 dell'immagine in fase di modifica di dimensioni pari o inferiori a 10 MB. Per ulteriori informazioni sulla codifica Base64, vedi Codifica e decodifica dei file in Base64.
  • B64_MASK_IMAGE: Un'immagine maschera in bianco e nero codificata in base64 di dimensioni pari o inferiori a 10 MB.
  • MASK_DILATION: Facoltativo. Un valore float compreso tra 0 e 1, inclusi, che rappresenta la percentuale della larghezza dell'immagine di cui aumentare la maschera. L'utilizzo di dilation aiuta a compensare le maschere imprecise. Ti consigliamo un valore di 0.01.
  • EDIT_STEPS: Facoltativo. Un numero intero che rappresenta il numero di passaggi di campionamento. Un valore più alto offre una migliore qualità dell'immagine, mentre un valore più basso offre una migliore latenza.

    Ti consigliamo di iniziare con 35 passaggi. Se la qualità non soddisfa i tuoi requisiti, ti consigliamo di aumentare il valore fino a un limite superiore di 75.

  • SAMPLE_COUNT: Facoltativo. Un numero intero che descrive il numero di immagini da generare. L'intervallo di valori accettato è 1-4. Il valore predefinito è 4.

Metodo HTTP e URL:

POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict

Corpo JSON della richiesta:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "referenceImages": [
        {
          "referenceType": "REFERENCE_TYPE_RAW",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "B64_BASE_IMAGE"
          }
        },
        {
          "referenceType": "REFERENCE_TYPE_MASK",
          "referenceImage": {
            "bytesBase64Encoded": "B64_MASK_IMAGE"
          },
          "maskImageConfig": {
            "maskMode": "MASK_MODE_USER_PROVIDED",
            "dilation": MASK_DILATION
          }
        }
      ]
    }
  ],
  "parameters": {
    "editConfig": {
      "baseSteps": EDIT_STEPS
    },
    "editMode": "EDIT_MODE_INPAINT_INSERTION",
    "sampleCount": SAMPLE_COUNT
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
La seguente risposta di esempio è per una richiesta con "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_id) Oggetto
0 zaino
1 ombrello
2 borsa
3 cravatta
4 valigia
5 astuccio
6 bird
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 bidone della spazzatura
64 pianta in vaso
65 comodino
66 bed
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 mountain hill
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