Cómo generar imágenes de prueba virtual

La prueba virtual te permite generar imágenes de personas para probarse productos de indumentaria de forma virtual. Proporcionas una imagen de una persona y una imagen de un producto de indumentaria. Luego, la prueba virtual genera una imagen de la persona que lleva ese producto.

Los siguientes modelos admiten la generación de imágenes de prueba virtual:

Haz clic para expandir los modelos compatibles

Prueba la prueba virtual en Colab

Antes de comenzar

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. Enable the Agent Platform 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

  4. Configura la autenticación para tu entorno.

    Selecciona la pestaña según cómo planeas usar las muestras de esta página:

    Python

    Para usar las muestras de Python incluidas en esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

    1. Instala Google Cloud CLI.

    2. Configura gcloud CLI para usar tu identidad federada.

      Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.

    3. Crea credenciales de autenticación locales para tu cuenta de usuario:

      gcloud auth application-default login

      Si se muestra un error de autenticación, confirma que accediste a la gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la Cloud de Confiance documentación de autenticación de.

    REST

    Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.

      Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Autentícate para usar REST en la Cloud de Confiance documentación de autenticación de.

Generar imágenes

Python

Instalar

pip install --upgrade google-genai

Para obtener más información, consulta la documentación de referencia del SDK.

Configura las variables de entorno para usar el SDK de IA generativa de Google con Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

from google import genai
from google.genai.types import RecontextImageSource, ProductImage

client = genai.Client()

# TODO(developer): Update and un-comment below line
# output_file = "output-image.png"

image = client.models.recontext_image(
    model="virtual-try-on-001",
    source=RecontextImageSource(
        person_image=Image.from_file(location="test_resources/man.png"),
        product_images=[
            ProductImage(product_image=Image.from_file(location="test_resources/sweater.jpg"))
        ],
    ),
)

image.generated_images[0].image.save(output_file)

print(f"Created output image using {len(image.generated_images[0].image.image_bytes)} bytes")
# Example response:
# Created output image using 1234567 bytes

REST

Para obtener más información sobre la API de prueba virtual, consulta lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • REGION: Es la región en la que se encuentra tu proyecto. Para obtener más información sobre las regiones admitidas, consulta Implementaciones y extremos.
  • PROJECT_ID: Es el ID del Cloud de Confiance by S3NS proyecto.
  • BASE64_PERSON_IMAGE: Es la imagen de la persona codificada en Base64.
  • BASE64_PRODUCT_IMAGE: Es la imagen del producto codificada en Base64.
  • IMAGE_COUNT: Es la cantidad de imágenes que se generarán. El rango de valores aceptado es de 1 a 4.
  • GCS_OUTPUT_PATH: Es la ruta de acceso de Cloud Storage para 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-001: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-001: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-001:predict" | Select-Object -Expand Content
La solicitud muestra objetos de imagen. En este ejemplo, se muestran 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"
    }
  ]
}