API Virtual Try-On

A experiência virtual permite-lhe gerar imagens de pessoas a usar produtos de vestuário. Fornece uma imagem de uma pessoa e um produto de vestuário de amostra e, em seguida, usa a experiência de prova virtual para gerar imagens da pessoa a usar o produto.

Versões de modelos suportadas

A experiência de teste virtual suporta os seguintes modelos:

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

Para mais informações sobre as funcionalidades suportadas pelo modelo, consulte os modelos Imagen.

Pedido 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
    }
  }
}'
Instâncias

personImage

string

Obrigatório. Uma imagem de uma pessoa para experimentar o produto de vestuário, que pode ser uma das seguintes opções:

  • Uma string bytesBase64Encoded que codifica uma imagem.
  • Um URI de string gcsUri para uma localização de contentor do Cloud Storage.

productImages

string

Obrigatório. Uma imagem de um produto para experimentar numa pessoa, que pode ser qualquer uma das seguintes opções:

  • Uma string bytesBase64Encoded que codifica uma imagem.
  • Um URI de string gcsUri para uma localização de contentor do Cloud Storage.
Parâmetros
addWatermark

bool

Opcional. Adicionar uma marca de água invisível às imagens geradas.

O valor predefinido é true.

baseSteps

int

Obrigatório. Um número inteiro que controla a geração de imagens, com passos mais elevados, que trocam uma qualidade mais elevada por uma latência aumentada.

Valores inteiros superiores a 0. A predefinição é 32.

personGeneration

string

Opcional. Permitir a geração de pessoas pelo modelo. Os seguintes valores são suportados:

  • "dont_allow": não permitir a inclusão de pessoas ou rostos em imagens.
  • "allow_adult": permitir a geração de conteúdo apenas para adultos.
  • "allow_all": permitir a geração de pessoas de todas as idades.

O valor predefinido é "allow_adult".

safetySetting

string

Opcional. Adiciona um nível de filtro à filtragem de segurança. Os seguintes valores são suportados:

  • "block_low_and_above": o nível de filtragem mais forte, o bloqueio mais restritivo. Valor descontinuado: "block_most".
  • "block_medium_and_above": Bloquear alguns comandos e respostas problemáticos. Valor descontinuado: "block_some".
  • "block_only_high": reduz o número de pedidos bloqueados devido aos filtros de segurança. Pode aumentar o conteúdo censurado gerado pelo Imagen. Valor descontinuado: "block_few".
  • "block_none": Bloquear muito poucos comandos e respostas problemáticas. O acesso a esta funcionalidade está restrito. Valor do campo anterior: "block_fewest".

O valor predefinido é "block_medium_and_above".

sampleCount

int

Obrigatório. O número de imagens a gerar.

Um valor inteiro entre 1 e 4, inclusive. O valor predefinido é 1.

seed

Uint32

Opcional. A semente aleatória para a geração de imagens. Esta opção não está disponível quando addWatermark está definido como true.

storageUri

string

Opcional. Um URI de string para uma localização do contentor do Cloud Storage para armazenar as imagens geradas.

outputOptions

outputOptions

Opcional. Descreve o formato da imagem de saída num outputOptions objeto.

Objeto de opções de saída

O objeto outputOptions descreve a saída da imagem.

Parâmetros
outputOptions.mimeType

Opcional: string

O formato de saída da imagem. Os seguintes valores são suportados:

  • "image/png": guarde como uma imagem PNG
  • "image/jpeg": guarde como imagem JPEG

O valor predefinido é "image/png".

outputOptions.compressionQuality

Opcional: int

O nível de compressão se o tipo de saída for "image/jpeg". Os valores aceites são 0 a 100. O valor predefinido é 75.

Exemplo de pedido

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGION: a região onde o seu projeto está localizado. Para mais informações sobre as regiões suportadas, consulte as localizações da IA generativa no Vertex AI.
  • PROJECT_ID: o seu Google Cloud ID do projeto.
  • BASE64_PERSON_IMAGE: a imagem codificada em Base64 da imagem da pessoa.
  • BASE64_PRODUCT_IMAGE: a imagem codificada em Base64 da imagem do produto.
  • IMAGE_COUNT: o número de imagens a gerar. O intervalo de valores aceite é de 1 a 4.
  • GCS_OUTPUT_PATH: O caminho do Cloud Storage para armazenar o resultado da experiência virtual.

Método 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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
O pedido devolve objetos de imagem. Neste exemplo, são devolvidos dois objetos de imagem, com dois objetos de previsão como imagens codificadas em base64.
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}