Genera immagini utilizzando prompt di testo con Imagen su Vertex AI

Puoi utilizzare Imagen su Vertex AI per generare nuove immagini da un prompt testuale. Le interfacce supportate includono la console Google Cloud e l'API Vertex AI.

I seguenti modelli supportano la generazione di immagini da prompt testuali:

Per saperne di più sulla scrittura di prompt di testo per la generazione e la modifica di immagini, consulta la guida per i prompt.

Visualizza la scheda del modello Imagen per la generazione

Prova la generazione di immagini (Vertex AI Studio)

Provare Imagen in Colab

Prima di iniziare

  1. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  8. Configura l'autenticazione per il tuo ambiente.

    Seleziona la scheda relativa a come prevedi di utilizzare i campioni in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

Generare immagini con testo

Puoi generare nuove immagini utilizzando solo un testo descrittivo come input. Gli esempi seguenti mostrano le istruzioni di base per generare immagini.

Console

1. Nella console Google Cloud , vai alla pagina Vertex AI > Media Studio.

<a href="https://console.cloud.google.com/vertex-ai/studio/media/generate;tab=image" class="button button-primary"
target="console" track-name="consoleLink" track-type="task">Go to Media
Studio</a>
  1. Fai clic su Imagen. Viene visualizzata la pagina di generazione di immagini di Imagen Media Studio.

  2. (Facoltativo) Nel riquadro Impostazioni, configura le seguenti impostazioni:

    • Modello: scegli un modello tra le opzioni disponibili.

      Per saperne di più sui modelli disponibili, consulta Modelli Imagen.

    • Proporzioni: scegli un formato tra le opzioni disponibili.

    • Numero di risultati: regola il cursore o inserisci un valore compreso tra 1 e 4.

    • Risoluzione output: scegli una risoluzione tra le opzioni disponibili.

  3. (Facoltativo) Nella sezione Opzioni avanzate, seleziona una Regione in cui generare le immagini.

  4. Nella casella Scrivi il prompt, inserisci il prompt testuale che descrive le immagini da generare. Ad esempio, piccola barca sull'acqua al mattino illustrazione ad acquerello.

    Per saperne di più su come scrivere prompt efficaci, consulta la guida ai prompt e agli attributi delle immagini.

  5. Fai clic su Genera.

Una filigrana digitale viene aggiunta automaticamente alle immagini create dall'AI. Non puoi disattivare la filigrana digitale per la generazione di immagini utilizzando la console Google Cloud .

Puoi selezionare un'immagine da visualizzare nella finestra Dettagli immagine. Le immagini con filigrana contengono un badge Filigrana digitale.

Un esempio di immagine creata dall'AI con filigrana utilizzando il testo
Visualizzazione dei dettagli di un'immagine con filigrana generata con Imagen 2 dal prompt: piccola barca rossa sull'acqua al mattino, illustrazione ad acquerello con colori tenui.

REST

Per ulteriori informazioni sull'API Imagen, consulta quanto segue:

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 Località dell'AI generativa su Vertex AI.
  • 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.

  • TEXT_PROMPT: il prompt testuale che guida le immagini che il modello genera. Questo campo è obbligatorio sia per la generazione che per la modifica.
  • IMAGE_COUNT: il numero di immagini da generare. L'intervallo di valori accettato è compreso tra 1 e 4.
  • 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 saperne di più 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"
    }
    
    • ADD_WATERMARK: booleano. Facoltativo. Indica se attivare una filigrana per le immagini create dall'AI. 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 predefinito true; devi impostare il valore su false per disattivare questa funzionalità. Puoi utilizzare il campo seed per ottenere un output deterministico solo quando questo campo è impostato su false.
    • ASPECT_RATIO: stringa. Facoltativo. Un parametro della modalità di generazione che controlla le proporzioni. Valori del rapporto supportati e loro utilizzo previsto:
      • 1:1 (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 motivo filtrato dell'AI responsabile nelle risposte con input o output bloccati. Valore predefinito: true.
    • INCLUDE_SAFETY_ATTRIBUTES: booleano. Facoltativo. 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 dei contenuti 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 a 100, dove un numero più alto indica una maggiore compressione. Valore predefinito: 75.
    • PERSON_SETTING: stringa. Facoltativo. L'impostazione di sicurezza che controlla il tipo di persone o volti che il modello consente di generare. Il valore predefinito dipende dal modello. Valori disponibili:
      • allow_all: Consenti la generazione di persone, inclusi i minorenni. Questo è il valore predefinito per i modelli di generazione Imagen 4, imagen-3.0-capability-001 e imagen-product-recontext-preview-06-30.
      • allow_adult: consente la generazione di soli adulti, incluse le celebrità. Questa è l'impostazione predefinita per tutti gli altri modelli.
      • dont_allow: disattiva l'inclusione di persone o volti nelle immagini create dall'AI.
    • SAFETY_SETTING: stringa. Facoltativo. Un'impostazione che controlla le soglie dei filtri di sicurezza per le immagini create dall'AI. Valori disponibili:
      • block_low_and_above: la soglia di sicurezza più elevata, che comporta il filtraggio della maggior parte delle immagini create dall'AI. 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 inappropriati 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/.

Metodo HTTP e URL:

POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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, 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/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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_VERSION: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"
    }
  ]
}

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"
    }
  ]
}

Passaggi successivi

Leggi gli articoli su Imagen e altri prodotti di AI generativa su Vertex AI: