API Prova virtuale

La prova virtuale ti consente di generare immagini di persone che indossano prodotti di abbigliamento. Fornisci un'immagine di una persona e un prodotto di abbigliamento di esempio, quindi utilizza Prova virtuale per generare immagini della persona che indossa il prodotto.

Versioni del modello supportate

Prova virtuale supporta i seguenti modelli:

  • virtual-try-on-preview-08-04

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": [
    {
      "personImage": {
        "image": {
          // Union field can be only one of the following:
          "bytesBase64Encoded": string,
          "gcsUri": string,
        }
      },
      "productImages": [
        {
          "image": {
            // Union field can be only one of the following:
            "bytesBase64Encoded": string,
            "gcsUri": string,
          }
        }
      ]
    }
  ],
  "parameters": {
    "addWatermark": boolean,
    "baseSteps": integer,
    "personGeneration": string,
    "safetySetting": string,
    "sampleCount": integer,
    "seed": integer,
    "storageUri": string,
    "outputOptions": {
      "mimeType": string,
      "compressionQuality": integer
    }
  }
}'
Istanze

personImage

string

Obbligatorio. Un'immagine di una persona che prova il prodotto di abbigliamento, che può essere una delle seguenti:

  • Una stringa bytesBase64Encoded che codifica un'immagine.
  • Un URI stringa gcsUri a una posizione del bucket Cloud Storage.

productImages

string

Obbligatorio. Un'immagine di un prodotto da provare su una persona, che può essere una delle seguenti:

  • Una stringa bytesBase64Encoded che codifica un'immagine.
  • Un URI stringa gcsUri a una posizione del bucket Cloud Storage.
Parametri
addWatermark

bool

Facoltativo. Aggiungi una filigrana invisibile alle immagini generate.

Il valore predefinito è true.

baseSteps

int

Obbligatorio. Un numero intero che controlla la generazione di immagini. Un numero maggiore di passaggi comporta una qualità superiore a scapito di una maggiore latenza.

Valori interi maggiori di 0. Il valore predefinito è 32.

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

Obbligatorio. Il numero di immagini da generare.

Un valore intero compreso tra 1 e 4, inclusi. Il valore predefinito è 1.

seed

Uint32

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

storageUri

string

Facoltativo. Un URI stringa di un percorso del bucket Cloud Storage per archiviare le immagini generate.

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 vanno da 0 a 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 Località dell'AI generativa su Vertex AI.
  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • BASE64_PERSON_IMAGE: L'immagine codificata in Base64 della persona.
  • BASE64_PRODUCT_IMAGE: L'immagine codificata in Base64 dell'immagine del prodotto.
  • IMAGE_COUNT: il numero di immagini da generare. L'intervallo accettato di valori è da 1 a 4.
  • GCS_OUTPUT_PATH: il percorso Cloud Storage in cui archiviare l'output della prova virtuale.

Metodo HTTP e URL:

POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/virtual-try-on-preview-08-04:predict

Corpo JSON della richiesta:

{
  "instances": [
    {
      "personImage": {
        "image": {
          "bytesBase64Encoded": "BASE64_PERSON_IMAGE"
        }
      },
      "productImages": [
        {
          "image": {
            "bytesBase64Encoded": "BASE64_PRODUCT_IMAGE"
          }
        }
      ]
    }
  ],
  "parameters": {
    "sampleCount": IMAGE_COUNT,
    "storageUri": "GCS_OUTPUT_PATH"
  }
}

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/virtual-try-on-preview-08-04: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/virtual-try-on-preview-08-04: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"
    }
  ]
}