Prova la generazione di immagini (Vertex AI Studio)
Questa pagina descrive l'utilizzo di un numero seed in Imagen su Vertex AI per generare immagini deterministiche.
Un numero seed è un numero che aggiungi a una richiesta per rendere deterministiche le immagini generate non deterministiche. Deterministico significa che ogni volta che generi un'immagine con Imagen, ricevi lo stesso output generato ogni volta.
Ad esempio, puoi fornire un prompt, impostare il numero di risultati su 1 e utilizzare un numero seed per ottenere la stessa immagine ogni volta che utilizzi gli stessi valori di input. Se invii la stessa richiesta con il numero di risultati impostato su 8, otterrai le stesse otto immagini.
Utilizzare un seme per generare immagini
Segui questi passaggi:
REST
Il numero di seed è un campo facoltativo nell'oggetto parameters
di un corpo della richiesta JSON.
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 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 generazione di volti consentita dal modello. 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 maggior numero di immagini generate filtrate. 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 Riferimento 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
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" } ] }
Sostituisci quanto segue:
- 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
.
- 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
{
"instances": [
...
],
"parameters": {
"sampleCount": IMAGE_COUNT,
"seed": SEED_NUMBER,
// required for model version 006 and greater only when using a seed number
"addWatermark": false
}
}
Passaggi successivi
- Utilizzare il generatore di prompt
- Impostare la lingua del prompt di testo
- Configurare le proporzioni
- Omettere contenuti utilizzando un prompt negativo