API Imagen product recontext

Il prodotto Imagen recontext sull'API Vertex AI ti consente di modificare le immagini prodotto in scene o sfondi diversi. Fornisci un'immagine di un prodotto e un prompt e il prodotto Imagen ricontestualizza le immagini del tuo prodotto in nuove scene o con sfondi diversi.

Per richiedere l'accesso al prodotto di ricontestualizzazione di Imagen, compila il modulo Vertex AI - Generative Media for Marketing Access Request.

Versioni del modello supportate

La ricontestualizzazione del prodotto Imagen supporta i seguenti modelli:

  • imagen-product-recontext-preview-06-30

Per saperne di più 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/MODEL_ID:predict \

-d '{
  "instances": [
    {
      "prompt": string,
      "productImages": [
        // The following fields can be repeated up to 3 times for different
        // views of the same product.
        {
          "image": {
            // Union field can be only one of the following:
            "bytesBase64Encoded": string,
            "gcsUri": string,
            // End of list of possible types for union field.
          },
        }
      ]
    }
  ],
  "parameters": {
    "addWatermark": boolean,
    "enhancePrompt": boolean
    "personGeneration": string,
    "safetySetting": string,
    "sampleCount": integer,
    "seed": integer,
    "storageUri": string,
    "outputOptions": {
      "mimeType": string,
      "compressionQuality": integer
    }
  }
}'

Istanze

Istanze
prompt

string

Facoltativo. Un prompt di testo per guidare la generazione della scena.

productImages

list[productImages]

Un elenco di un massimo di tre ProductImages diverse dello stesso prodotto. Il modello utilizza le immagini per ricontestualizzare il prodotto in scene o sfondi diversi.

productImages oggetto

L'oggetto productImages descrive gli asset immagine da inserire in diverse scene o sfondi.

productImages

Campo unione image.

Immagine prodotto per imagen-product-recontext-preview-06-30 come input per diverse visualizzazioni del prodotto. Ogni immagine può essere una stringa bytesBase64Encoded che codifica un'immagine o una stringa URI gcsUri che rimanda a una posizione del bucket Cloud Storage.

bytesBase64Encoded

string

Una stringa con codifica base64 di byte di un'immagine o di un file video.

gcsUri

string

Una stringa URI che indica la posizione di un bucket Cloud Storage.

Parametri

Parametri
addWatermark

boolean

Facoltativo. Aggiungi una filigrana invisibile alle immagini generate.

Il valore predefinito è true.

enhancePrompt

boolean

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.

Il valore predefinito è true.

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à.

Il valore predefinito è "allow_adult".

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ù rigido. 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".

sampleCount

int

Il numero di immagini da generare.

Un valore intero compreso nell'intervallo 1-4. Il valore predefinito è 1.

seed

Uint32

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

Se enhancePrompt è impostato su true, il parametro seed non funzionerà perché enhancePrompt genera un nuovo prompt, che produce un'immagine nuova o diversa.

storageUri

string

Facoltativo. Un URI stringa alla posizione di un bucket Cloud Storage utilizzato per archiviare le immagini generate. Se non viene fornito un bucket Cloud Storage, nella risposta vengono restituiti i byte dell'immagine codificati in base64.

outputOptions

outputOptions

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

Oggetto delle opzioni di output

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

Parametri
outputOptions.mimeType

(Facoltativo) string

Il formato di output dell'immagine. Sono supportati i seguenti valori:

  • "image/png": salva come immagine PNG.
  • "image/jpeg": salva come immagine JPEG.

Il valore predefinito è "image/png".

outputOptions.compressionQuality

(Facoltativo) int

Il livello di compressione se il tipo di output è "image/jpeg". I valori accettati sono 0- 100. Il valore predefinito è 75.

Richiesta di esempio

REST

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

  • 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.
  • BASE64_SUBJECT_IMAGE: Un'immagine codificata in base64 dell'immagine del soggetto.
  • PERSON_SETTING: (Facoltativo) Un valore stringa che controlla il tipo di persona o di volto che il modello consente di generare. Puoi utilizzare i seguenti valori per personGeneration:
    • "allow_adult": consente la generazione di soli adulti, ad eccezione della generazione di celebrità. La generazione di celebrità non è consentita per nessuna impostazione. Questa è l'impostazione predefinita.
    • "allow_all": consente la generazione di persone di tutte le età, ad eccezione delle celebrità. La generazione di celebrità non è consentita per nessuna impostazione.
    • "dont_allow": Non consente la generazione di persone o volti nell'output generato.
  • SAFETY_SETTING: (facoltativo) Un valore stringa che controlla la soglia del filtro di sicurezza per le immagini generate. Puoi utilizzare i seguenti valori per selezionare l'impostazione di sicurezza:
    • "block_low_and_above": la soglia di sicurezza più rigorosa. "block_low_and_above" filtra il numero maggiore di immagini generate.
    • "block_medium_and_above": La soglia di sicurezza media, che bilancia il filtraggio dei contenuti potenzialmente dannosi e sicuri. "block_medium_and_above" è l'impostazione di sicurezza predefinita.
    • "block_only_high": La soglia di sicurezza più bassa, che riduce il numero di richieste bloccate a causa del filtro di sicurezza. L'utilizzo della soglia di sicurezza "block_only_high" potrebbe aumentare il numero di immagini discutibili generate dal modello.
  • WATERMARK_SETTING: (Facoltativo) Un valore booleano. Quando questo valore è impostato su true, il modello aggiunge una filigrana digitale che puoi utilizzare per verificare l'immagine generata. Il valore predefinito è true.
  • IMAGE_COUNT: il numero di immagini da generare. L'intervallo di valori accettato è 1-4.
  • PROMPT_SETTING: (Facoltativo) Un valore booleano. Quando questo valore è impostato su true, il modello utilizza prmopt avanzati. Il valore predefinito è true.

Metodo HTTP e URL:

POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict

Corpo JSON della richiesta:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "productImages": [
        {
          "image": {
            "bytesBase64Encoded": "BASE64_SUBJECT_IMAGE"
          },
        }
      ]
    }
  ],
  "parameters": {
    "personGeneration": PERSON_SETTING,
    "safetySetting": SAFETY_SETTING,
    "addWatermark": WATERMARK_SETTING,
    "sampleCount": IMAGE_COUNT,
    "enhancePrompt": PROMPT_SETTING
  }
}

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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30: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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict" | Select-Object -Expand Content
La richiesta restituisce oggetti immagine. In questo esempio, vengono restituiti due oggetti immagine, con due oggetti di previsione come immagini codificate in base64.
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}