L'API Imagen ti consente di creare immagini di alta qualità in pochi secondi, utilizzando un prompt di testo per guidare la generazione. Puoi anche aumentare la risoluzione delle immagini utilizzando l'API Imagen.
Visualizza la scheda del modello Imagen for Generation
Modelli supportati
L'API Imagen supporta i seguenti modelli:
imagen-4.0-generate-preview-06-06
(anteprima)imagen-4.0-fast-generate-preview-06-06
(anteprima)imagen-4.0-ultra-generate-preview-06-06
(anteprima)imagen-3.0-generate-002
imagen-3.0-generate-001
imagen-3.0-fast-generate-001
imagen-3.0-capability-001
imagegeneration@006
imagegeneration@005
imagegeneration@002
Per saperne di più sulle funzionalità supportate da ciascun modello, consulta Modelli Imagen.
Sintassi di esempio
Sintassi per creare un'immagine da un prompt di testo.
Sintassi
Sintassi per generare 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/${MODEL_VERSION}:predict \ -d '{ "instances": [ { "prompt": "..." } ], "parameters": { "sampleCount": ... } }'
Python
generation_model = ImageGenerationModel.from_pretrained("MODEL_VERSION") response = generation_model.generate_images( prompt="...", negative_prompt="...", aspect_ratio=..., ) response.images[0].show()
Elenco dei parametri
Per informazioni dettagliate sull'implementazione, consulta gli esempi.
Genera immagini
REST
Parametri | |
---|---|
prompt |
Obbligatorio. Il prompt di testo per l'immagine. |
sampleCount |
Obbligatorio. Il numero di immagini da generare. Il valore predefinito è 4. |
seed |
Facoltativo. Il seed casuale per la generazione di immagini. Questa opzione non è disponibile
quando
Se |
enhancePrompt |
Facoltativo. Un parametro facoltativo per utilizzare una funzionalità di riscrittura del prompt basata su LLM per fornire immagini di qualità superiore che riflettano meglio l'intent del prompt originale. La disabilitazione di questa funzionalità potrebbe influire sulla qualità delle immagini e sull'aderenza del prompt. |
negativePrompt |
Facoltativo. Una descrizione di ciò che vuoi scoraggiare nelle immagini generate.
|
aspectRatio |
Facoltativo. Le proporzioni dell'immagine. Il valore predefinito è "1:1". |
outputOptions |
Facoltativo. Descrive il formato dell'immagine di output in un oggetto |
sampleImageStyle |
Facoltativo. Descrive lo stile delle immagini generate. Sono supportati i seguenti valori:
|
personGeneration |
Facoltativo. Consenti la generazione di persone da parte del modello. Sono supportati i seguenti valori:
Il valore predefinito è |
language |
Facoltativo. Il codice lingua che corrisponde alla lingua del prompt di testo. Sono supportati i seguenti valori:
|
safetySetting |
Facoltativo. Aggiunge un livello di filtro al filtro di sicurezza. Sono supportati i seguenti valori:
Il valore predefinito è |
addWatermark |
Facoltativo. Aggiungi una filigrana invisibile alle immagini generate.
Il valore predefinito è
|
storageUri |
(Facoltativo) URI Cloud Storage per archiviare le immagini generate. |
Oggetto delle opzioni di output
L'oggetto outputOptions
descrive l'output dell'immagine.
Parametri | |
---|---|
outputOptions.mimeType |
(Facoltativo) Il formato dell'immagine in cui deve essere salvato l'output. Sono supportati i seguenti valori:
Il valore predefinito è |
outputOptions.compressionQuality |
(Facoltativo) Il livello di compressione se il tipo di output è
|
Risposta
Il corpo della risposta della richiesta REST.
Parametro | |
---|---|
predictions |
Un array di oggetti VisionGenerativeModelResult , uno per ogni sampleCount richiesto. Se alcune
immagini vengono filtrate dall'AI responsabile, non vengono incluse, a meno che
includeRaiReason non sia impostato su true .
|
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. |
raiFilteredReason |
Il motivo del filtro AI responsabile. Restituito solo se
|
safetyAttributes.categories |
Il nome dell'attributo di sicurezza. Restituito solo se
|
safetyAttributes.scores |
Il punteggio dell'attributo di sicurezza. Restituito solo se
|
Python
Parametri | |
---|---|
prompt |
Obbligatorio. Il prompt di testo per l'immagine. |
number_of_images |
Obbligatorio. Il numero di immagini da generare. Il valore predefinito è 1. |
seed |
Facoltativo. Il seed casuale per la generazione di immagini. Questa opzione non è disponibile
quando Se |
negative_prompt |
Facoltativo. Una descrizione di ciò che vuoi scoraggiare nelle immagini generate.
|
aspect_ratio |
Facoltativo. Le proporzioni dell'immagine. Il valore predefinito è "1:1". |
output_mime_type |
Facoltativo. Il formato dell'immagine in cui deve essere salvato l'output. Sono supportati i seguenti valori:
Il valore predefinito è |
compression_quality |
Facoltativo. Il livello di compressione se il tipo MIME di output è
|
language |
Facoltativo. La lingua del prompt di testo per l'immagine. Sono supportati i seguenti valori:
Il valore predefinito è |
output_gcs_uri |
Facoltativo. URI Cloud Storage per archiviare le immagini generate. |
add_watermark |
Facoltativo. Aggiungi una filigrana all'immagine generata.
Il valore predefinito è
|
safety_filter_level |
Facoltativo. Aggiunge un livello di filtro al filtro di sicurezza. Sono supportati i seguenti valori:
Il valore predefinito è |
person_generation |
Facoltativo. Consenti la generazione di persone da parte del modello. Sono supportati i seguenti valori:
Il valore predefinito è |
Aumenta la risoluzione delle immagini
REST
Parametro | |
---|---|
mode |
Obbligatorio. Deve essere impostato su |
upscaleConfig |
Obbligatorio. Un oggetto |
outputOptions |
Facoltativo. Descrive il formato dell'immagine di output in un oggetto |
storageUri |
Facoltativo. URI Cloud Storage in cui archiviare le immagini generate. |
Oggetto di configurazione per l'upscale
Parametro | |
---|---|
upscaleConfig.upscaleFactor |
Obbligatorio. Il fattore di upscaling. I valori supportati sono
|
Risposta
Il corpo della risposta della richiesta REST.
Parametro | |
---|---|
predictions |
Un array di oggetti VisionGenerativeModelResult , uno per ogni sampleCount richiesto. Se alcune
immagini vengono filtrate dall'AI responsabile, non vengono incluse, a meno che
includeRaiReason non sia impostato su true .
|
Esempi
Gli esempi riportati di seguito mostrano come utilizzare i modelli Imagen per generare immagini.
Genera immagini
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo Google Cloud ID progetto.
-
MODEL_VERSION: La versione del modello Imagen da utilizzare. Per saperne di più sui modelli disponibili, consulta Modelli Imagen.
- LOCATION: la regione del tuo 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 che guida le immagini generate dal modello. Questo campo è obbligatorio sia per la generazione che per la modifica.
- IMAGE_COUNT: il numero di immagini generate.
Valori interi accettati: 1-8 (
imagegeneration@002
), 1-4 (tutte le altre versioni del modello). Il valore predefinito è 4. - ADD_WATERMARK: booleano. Facoltativo. Se attivare una filigrana per le immagini generate.
Qualsiasi immagine generata quando il campo è impostato su
true
contiene una filigrana digitale SynthID che puoi utilizzare per verificare un'immagine con filigrana. Se ometti questo campo, viene utilizzato il valore predefinitotrue
; devi impostare il valore sufalse
per disattivare questa funzionalità. Puoi utilizzare il camposeed
per ottenere un output deterministico solo quando questo campo è impostato sufalse
. - ASPECT_RATIO: stringa. Facoltativo. Un parametro della modalità di generazione che controlla le proporzioni. Valori del rapporto supportati e loro utilizzo previsto:
1:1
(valore predefinito, quadrato)3:4
(annunci, social media)4:3
(TV, fotografia)16:9
(orizzontale)9:16
(verticale)
- ENABLE_PROMPT_REWRITING: booleano. Facoltativo. Un parametro per utilizzare una funzionalità di riscrittura del prompt basata su LLM per fornire immagini di qualità superiore che riflettano meglio l'intent del prompt originale. La disabilitazione di questa funzionalità potrebbe influire sulla qualità delle immagini e
sull'aderenza del prompt. Valore predefinito:
true
. -
INCLUDE_RAI_REASON: booleano. Facoltativo. Se attivare il codice del motivo del filtro dell'AI responsabile nelle risposte con input o output bloccati. Valore predefinito:
true
. - INCLUDE_SAFETY_ATTRIBUTES: booleano. Facoltativo. Indica se attivare i punteggi di AI responsabile arrotondati per un elenco di attributi di sicurezza nelle risposte per input e output non filtrati. Categorie di attributi di sicurezza:
"Death, Harm & Tragedy"
,"Firearms & Weapons"
,"Hate"
,"Health"
,"Illicit Drugs"
,"Politics"
,"Porn"
,"Religion & Belief"
,"Toxic"
,"Violence"
,"Vulgarity"
,"War & Conflict"
. Valore predefinito:false
. - MIME_TYPE: stringa. Facoltativo. Il tipo MIME del contenuto dell'immagine. Valori
disponibili:
image/jpeg
image/gif
image/png
image/webp
image/bmp
image/tiff
image/vnd.microsoft.icon
- COMPRESSION_QUALITY: numero intero. Facoltativo. Si applica solo ai file di output JPEG. Il livello di dettaglio che il modello conserva per le immagini generate in formato file JPEG. Valori:
Da
0
a100
, dove un numero più alto indica una maggiore compressione. Predefinito:75
. - PERSON_SETTING: stringa. Facoltativo. L'impostazione di sicurezza che controlla il tipo di
persone o volti che il modello può generare. Valori disponibili:
allow_adult
(impostazione predefinita): consente la generazione di immagini solo per adulti, ad eccezione della generazione di immagini di celebrità. La generazione di celebrità non è consentita per nessuna impostazione.dont_allow
: disattiva l'inclusione di persone o volti nelle immagini generate.
- SAFETY_SETTING: stringa. Facoltativo. Un'impostazione che controlla le soglie del filtro di sicurezza
per le immagini generate. Valori disponibili:
block_low_and_above
: la soglia di sicurezza più elevata, che comporta il filtraggio del maggior numero di immagini generate. Valore precedente:block_most
.block_medium_and_above
(impostazione predefinita): una soglia di sicurezza media che bilancia il filtraggio di contenuti potenzialmente dannosi e sicuri. Valore precedente:block_some
.block_only_high
: una soglia di sicurezza che riduce il numero di richieste bloccate a causa dei filtri di sicurezza. Questa impostazione potrebbe aumentare i contenuti discutibili generati da Imagen. Valore precedente:block_few
.
- SEED_NUMBER: numero intero. Facoltativo. Qualsiasi numero intero non negativo fornito per rendere deterministiche le immagini di output. Fornire lo stesso numero di seed genera sempre le stesse immagini di output. Se
il modello che utilizzi supporta la filigrana digitale, devi impostare
"addWatermark": false
per utilizzare questo campo. Valori interi accettati:1
-2147483647
. - OUTPUT_STORAGE_URI: stringa. Facoltativo. Il bucket Cloud Storage in cui archiviare le immagini di output. Se non vengono forniti, nella risposta vengono restituiti i byte dell'immagine con codifica base64. Valore di esempio:
gs://image-bucket/output/
.
Parametri facoltativi aggiuntivi
Utilizza le seguenti variabili facoltative a seconda del tuo caso
d'uso. Aggiungi alcuni o tutti i seguenti parametri nell'oggetto "parameters": {}
.
Questo elenco mostra i parametri facoltativi comuni e non è esaustivo. Per ulteriori
informazioni sui parametri facoltativi,
consulta Documentazione di riferimento dell'API Imagen: genera immagini.
"parameters": { "sampleCount": IMAGE_COUNT, "addWatermark": ADD_WATERMARK, "aspectRatio": "ASPECT_RATIO", "enhancePrompt": ENABLE_PROMPT_REWRITING, "includeRaiReason": INCLUDE_RAI_REASON, "includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES, "outputOptions": { "mimeType": "MIME_TYPE", "compressionQuality": COMPRESSION_QUALITY }, "personGeneration": "PERSON_SETTING", "safetySetting": "SAFETY_SETTING", "seed": SEED_NUMBER, "storageUri": "OUTPUT_STORAGE_URI" }
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict
Corpo JSON della richiesta:
{ "instances": [ { "prompt": "TEXT_PROMPT" } ], "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/MODEL_VERSION: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/MODEL_VERSION: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" } ] }
Se utilizzi un modello che supporta il miglioramento dei prompt, la risposta include un
ulteriore campo prompt
con il prompt migliorato utilizzato per la
generazione:
{ "predictions": [ { "mimeType": "MIME_TYPE", "prompt": "ENHANCED_PROMPT_1", "bytesBase64Encoded": "BASE64_IMG_BYTES_1" }, { "mimeType": "MIME_TYPE", "prompt": "ENHANCED_PROMPT_2", "bytesBase64Encoded": "BASE64_IMG_BYTES_2" } ] }
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vertex AI Python.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
In questo esempio, chiami il metodo generate_images
su
ImageGenerationModel
(versione @006
) e salvi le immagini
generate localmente. Puoi quindi utilizzare facoltativamente il metodo show()
in un blocco note per visualizzare le immagini generate. Per ulteriori informazioni
sulle versioni e sulle funzionalità del modello, vedi Versioni del modello.
Aumenta la risoluzione delle immagini
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: la regione del tuo progetto. Ad esempio,
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta Località dell'AI generativa su Vertex AI. - PROJECT_ID: il tuo Google Cloud ID progetto.
- B64_BASE_IMAGE: L'immagine di base da modificare o aumentare di risoluzione. L'immagine deve essere specificata come stringa di byte con codifica base64. Dimensioni massime: 10 MB.
- IMAGE_SOURCE: La posizione Cloud Storage dell'immagine che vuoi modificare o aumentare di risoluzione. Ad esempio:
gs://output-bucket/source-photos/photo.png
. - UPSCALE_FACTOR: (Facoltativo) Il fattore in base al quale verrà aumentata la risoluzione dell'immagine. Se non
specificato, il fattore di upscaling verrà determinato dal lato più lungo dell'immagine di input e
sampleImageSize
. Valori disponibili:x2
ox4
.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@002:predict
Corpo JSON della richiesta:
{ "instances": [ { "prompt": "", "image": { // use one of the following to specify the image to upscale "bytesBase64Encoded": "B64_BASE_IMAGE" "gcsUri": "IMAGE_SOURCE" // end of base image input options }, } ], "parameters": { "sampleCount": 1, "mode": "upscale", "upscaleConfig": { "upscaleFactor": "UPSCALE_FACTOR" } } }
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/imagegeneration@002: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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@002:predict" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "predictions": [ { "mimeType": "image/png", "bytesBase64Encoded": "iVBOR..[base64-encoded-upscaled-image]...YII=" } ] }
Passaggi successivi
- Per saperne di più, consulta la panoramica di Imagen su Vertex AI e Generare immagini utilizzando prompt di testo.