L'API Imagen ti consente di creare immagini di alta qualità in pochi secondi, utilizzando il prompt di testo per guidare la generazione. Puoi anche eseguire l'upscaling delle immagini utilizzando l'API Imagen.
Visualizzare la scheda del modello Imagen per la generazione
Modelli supportati
Modello | Codice |
---|---|
Generazione di immagini | imagen-3.0-generate-002 imagen-3.0-generate-001 imagen-3.0-fast-generate-001 imagegeneration@006 imagegeneration@005 imagegeneration@002 |
Per ulteriori informazioni sulle funzionalità supportate da ciascun modello, consulta Versionamento dei modelli.
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("imagen-3.0-generate-001") 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. Il modello Il modello Il modello Il modello Il modello Il modello |
sampleCount |
Obbligatorio: Il numero di immagini da generare. Il valore predefinito è 4. Il modello Il modello Il modello Il modello Il modello Il modello |
seed |
(Facoltativo) Il seed casuale per la generazione di immagini. Questa opzione non è disponibile 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'intenzione del prompt originale. La disattivazione di questa funzionalità potrebbe influire sulla qualità delle immagini e sulla sollecitazione dell'adesione.
|
negativePrompt |
(Facoltativo) Una descrizione di ciò che non deve essere presente nelle immagini generate.
Il modello Il modello Il modello Il modello Il modello |
aspectRatio |
(Facoltativo) Le proporzioni dell'immagine. Il valore predefinito è "1:1". Il modello Il modello Il modello Il modello Il modello Il modello |
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 dal modello. Sono supportati i seguenti valori:
Il valore predefinito è |
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 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 |
Oggetto del 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. Viene restituito solo se
|
safetyAttributes.categories |
Il nome dell'attributo di sicurezza. Viene restituito solo se
|
safetyAttributes.scores |
Il punteggio dell'attributo di sicurezza. Viene restituito solo se
|
Python
Parametri | |
---|---|
prompt |
Obbligatorio: Il prompt di testo per l'immagine. Il modello Il modello Il modello Il modello Il modello |
number_of_images |
Obbligatorio: Il numero di immagini da generare. Il valore predefinito è 1. Il modello Il modello Il modello Il modello Il modello |
seed |
(Facoltativo) Il seed casuale per la generazione di immagini. Questa opzione non è disponibile se
|
negative_prompt |
(Facoltativo) Una descrizione di ciò che non deve essere presente nelle immagini generate. Il modello Il modello Il modello Il modello Il modello |
aspect_ratio |
(Facoltativo) Le proporzioni dell'immagine. Il valore predefinito è "1:1". Il modello Il modello Il modello |
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 dal modello. Sono supportati i seguenti valori:
Il valore predefinito è |
Aumenta la risoluzione delle immagini
REST
Parametro | |
---|---|
mode |
Obbligatorio: Deve essere impostato su |
upscaleConfig |
Obbligatorio: |
outputOptions |
(Facoltativo) Descrive il formato dell'immagine di output in un
oggetto |
storageUri |
(Facoltativo) URI Cloud Storage per la posizione in cui archiviare le immagini generate. |
Oggetto di configurazione dell'upgrade
Parametro | |
---|---|
upscaleConfig.upscaleFactor |
Obbligatorio: Il fattore di upscale. I valori supportati sono |
Risposta
Il corpo della risposta della richiesta REST.
Parametro | |
---|---|
predictions |
Un array di
oggetti |
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 ID progetto Google Cloud .
- MODEL_VERSION: la versione del modello
imagegeneration
da utilizzare. Valori disponibili:-
Imagen 3:
imagen-3.0-generate-002
(modello più recente)imagen-3.0-generate-001
imagen-3.0-fast-generate-001
- Versione del modello a bassa latenza.
-
Versione del modello predefinita:
imagegeneration
: utilizza la versione predefinita del modello v.006. Come best practice, devi sempre specificare una versione del modello, in particolare negli ambienti di produzione.
Per ulteriori informazioni sulle funzionalità e sulle versioni dei modelli, consulta le versioni del modello.
-
Imagen 3:
- LOCATION: la regione del progetto. Ad esempio,
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta Località dell'IA generativa su Vertex AI. - TEXT_PROMPT: il prompt di testo che indica 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). Valore predefinito: 4.
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 delle seguenti 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://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
,
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/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 del prompt, la risposta include un campo prompt
aggiuntivo 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 Python riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Vertex AI.
Per autenticarti a Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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. Se vuoi, puoi utilizzare il metodo show()
in un notebook per visualizzare le immagini generate. Per ulteriori informazioni su funzionalità e versioni dei modelli, consulta Versioni dei modelli.
Aumenta la risoluzione delle immagini
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: la regione del progetto. Ad esempio,
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta Località dell'IA generativa su Vertex AI. - PROJECT_ID: il tuo ID progetto Google Cloud .
- B64_BASE_IMAGE: l'immagine di base da modificare o aumentare di risoluzione. L'immagine deve essere specificata come stringa di byte codificata in base64. Dimensioni massime: 10 MB.
- IMAGE_SOURCE: la posizione in Cloud Storage dell'immagine che vuoi modificare o ridimensionare. Ad esempio:
gs://output-bucket/source-photos/photo.png
. - UPSCALE_FACTOR: facoltativo. Il fattore a cui verrà aumentata la risoluzione dell'immagine. Se non viene specificato, il fattore di aumento verrà determinato dal lato più lungo dell'immagine di input e da
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 delle seguenti 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://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 ulteriori informazioni, consulta la panoramica di Imagen su Vertex AI e Genera immagini utilizzando prompt di testo.