API Virtual Try-On

La prueba virtual te permite generar imágenes de personas que modelan productos de ropa. Usted proporciona una imagen de una persona y una muestra de un producto de ropa, y luego usa la prueba virtual para generar imágenes de la persona con el producto puesto.

Versiones de modelo admitidas

La prueba virtual admite los siguientes modelos:

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

Para obtener más información sobre las funciones que admite el modelo, consulta Modelos de imagen.

Solicitud 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
    }
  }
}'
Instancias

personImage

string

Obligatorio. Una imagen de una persona para probarse la prenda, que puede ser una de las siguientes:

  • Una cadena bytesBase64Encoded que codifica una imagen.
  • Un URI de cadena gcsUri a una ubicación de un segmento de Cloud Storage.

productImages

string

Obligatorio. Una imagen de un producto para que una persona se lo pruebe. Puede ser una de las siguientes:

  • Una cadena bytesBase64Encoded que codifica una imagen.
  • Un URI de cadena gcsUri a una ubicación de un segmento de Cloud Storage.
Parámetros
addWatermark

bool

Opcional. Añade una marca de agua invisible a las imágenes generadas.

El valor predeterminado es true.

baseSteps

int

Obligatorio. Un número entero que controla la generación de imágenes. Cuanto mayor sea el número de pasos, mayor será la calidad, pero también la latencia.

Valores enteros superiores a 0. El valor predeterminado es 32.

personGeneration

string

Opcional. Permitir que el modelo genere personas. Se admiten los siguientes valores:

  • "dont_allow": no permitir que se incluyan personas o caras en las imágenes.
  • "allow_adult": permite generar contenido solo para adultos.
  • "allow_all": permite generar imágenes de personas de todas las edades.

El valor predeterminado es "allow_adult".

safetySetting

string

Opcional. Añade un nivel de filtro al filtro de seguridad. Se admiten los siguientes valores:

  • "block_low_and_above": nivel de filtrado más alto, bloqueo más estricto. Valor obsoleto: "block_most".
  • "block_medium_and_above": bloquea algunas peticiones y respuestas problemáticas. Valor obsoleto: "block_some".
  • "block_only_high": reduce el número de solicitudes bloqueadas debido a los filtros de seguridad. Puede aumentar el contenido inapropiado generado por Imagen. Valor obsoleto: "block_few".
  • "block_none": bloquea muy pocas peticiones y respuestas problemáticas. El acceso a esta función está restringido. Valor del campo anterior: "block_fewest".

El valor predeterminado es "block_medium_and_above".

sampleCount

int

Obligatorio. Número de imágenes que se van a generar.

Un número entero entre 1 y 4, ambos inclusive. El valor predeterminado es 1.

seed

Uint32

Opcional. Semilla aleatoria para la generación de imágenes. Esta opción no está disponible cuando addWatermark tiene el valor true.

storageUri

string

Opcional. URI de cadena de una ubicación de un segmento de Cloud Storage para almacenar las imágenes generadas.

outputOptions

outputOptions

Opcional. Describe el formato de la imagen de salida en un outputOptions objeto.

Objeto de opciones de salida

El objeto outputOptions describe la salida de la imagen.

Parámetros
outputOptions.mimeType

Opcional: string

El formato de salida de la imagen. Se admiten los siguientes valores:

  • "image/png": guardar como imagen PNG
  • "image/jpeg": guardar como imagen JPEG

El valor predeterminado es "image/png".

outputOptions.compressionQuality

Opcional: int

El nivel de compresión si el tipo de salida es "image/jpeg". Los valores aceptados van de 0 a 100. El valor predeterminado es 75.

Solicitud de ejemplo

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • REGION: la región en la que se encuentra tu proyecto. Para obtener más información sobre las regiones admitidas, consulta las ubicaciones de la IA generativa en Vertex AI.
  • PROJECT_ID: tu Google Cloud ID de proyecto.
  • BASE64_PERSON_IMAGE: imagen de la persona codificada en Base64. image.
  • BASE64_PRODUCT_IMAGE: la imagen del producto codificada en Base64. image.
  • IMAGE_COUNT: número de imágenes que se van a generar. El intervalo de valores aceptado es de 1 a 4.
  • GCS_OUTPUT_PATH: la ruta de Cloud Storage donde se almacenará el resultado de la prueba virtual.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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 solicitud devuelve objetos de imagen. En este ejemplo, se devuelven dos objetos de imagen, con dos objetos de predicción como imágenes codificadas en Base64.
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}