Recontextualiza imágenes de productos

La función de recontextualización de productos de Imagen en Vertex AI te permite editar imágenes de productos en diferentes escenas o fondos. Proporcionas imágenes de un producto y una instrucción opcional, y el producto de Imagen recontextualiza las imágenes de tu producto en escenas o fondos nuevos.

Para solicitar acceso al recontextualizador de productos de Imagen, completa el formulario de solicitud de acceso a medios generativos para marketing de Vertex AI.

Tipos de productos admitidos

La recontextualización de productos de Imagen admite los siguientes tipos de productos:

  • Dispositivos
  • Industrias y empresas
  • Ropa
  • Electrónica
  • Muebles
  • Jardín y patio
  • Hardware
  • Salud y belleza
  • Joyas
  • Mascotas
  • Calzado
  • Artículos deportivos
  • Juegos y juguetes
  • Vehículos

Ejemplo de recontextualización de productos

A continuación, se muestra un ejemplo de caso de uso para la recontextualización de productos:

Entradas de ejemplo Ejemplos de resultados Instrucción utilizada
Una laptop negra con retroiluminación multicolor en el teclado y una imagen de prueba colorida en la pantalla, colocada sobre un fondo blanco. Una laptop negra con retroiluminación multicolor en el teclado y una imagen de prueba colorida en la pantalla, ahora colocada sobre una mesa de trabajo.
             Detrás de la mesa de trabajo, hay una ventana con anuncios multicolores
             que se muestran afuera. En un banco de trabajo desordenado en un callejón cyberpunk lluvioso iluminado con luces de neón, con anuncios holográficos parpadeando en el fondo.
Una cámara réflex digital con un lente grande conectado, colocada sobre un fondo blanco. Una cámara réflex digital con un lente grande conectado, colocada sobre un fondo blanco. Ahora la cámara está ubicada en el borde de un acantilado, con una cascada ancha de fondo. Colocada sobre una roca cubierta de musgo al borde de un acantilado, con vistas a una cascada enorme y potente en un paisaje islandés espectacular y nublado.
Un par de gafas de sol sobre un fondo blanco. Un par de anteojos de sol, ahora colocados sobre una mesa con una taza de café en un platillo en primer plano y una vista panorámica de la parte superior de una iglesia y una masa de agua con colinas en el fondo. Sobre una mesa de café blanca en Santorini, con una taza de café, con vista al mar Egeo y a los icónicos edificios con cúpulas azules.

Prueba la recontextualización de productos de Imagen en Colab

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Configura la autenticación para tu entorno.

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

      Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

  9. Genera imágenes de productos en diferentes escenas

    REST

    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 IA generativa en ubicaciones de Vertex AI.
    • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
    • TEXT_PROMPT: Opcional Es un mensaje de texto para guiar las imágenes que genera el modelo.
    • BASE64_SUBJECT_IMAGE: Es una imagen del sujeto codificada en Base64.
    • PERSON_SETTING: Opcional: Es un valor de cadena que controla el tipo de generación de personas o rostros que permite el modelo. Puedes usar los siguientes valores para personGeneration:
      • "allow_adult": Permite la generación de adultos solamente, excepto la generación de celebridades. No se permite la generación de celebridades para ningún parámetro de configuración. Esta es la configuración predeterminada.
      • "allow_all": Permite la generación de personas de todas las edades, excepto la generación de celebridades. No se permite la generación de celebridades para ningún parámetro de configuración.
      • "dont_allow": No permite la generación de personas ni rostros en el resultado generado.
    • SAFETY_SETTING: Opcional: Es un valor de cadena que controla el umbral del filtro de seguridad para las imágenes generadas. Puedes usar los siguientes valores para seleccionar el parámetro de configuración de seguridad:
      • "block_low_and_above": Es el umbral de seguridad más estricto. "block_low_and_above" filtra la mayor cantidad de imágenes generadas.
      • "block_medium_and_above": Es el umbral de seguridad medio, que equilibra el filtrado del contenido potencialmente dañino y seguro. "block_medium_and_above" es el parámetro de configuración de seguridad predeterminado.
      • "block_only_high": Es el umbral de seguridad más bajo, que reduce la cantidad de solicitudes bloqueadas debido al filtro de seguridad. Usar el umbral de seguridad "block_only_high" podría aumentar la cantidad de imágenes censurables que genera el modelo.
    • WATERMARK_SETTING: Opcional: Es un valor booleano. Cuando este valor se establece en true, el modelo agrega una marca de agua digital que puedes usar para verificar la imagen generada. El valor predeterminado es true.
    • IMAGE_COUNT: Es la cantidad de imágenes que se generarán. El rango de valores aceptado es de 1 a 4.
    • PROMPT_SETTING: Opcional: Es un valor booleano. Cuando este valor se establece en true, el modelo usa prmopts mejoradas. El valor predeterminado es true.

    Método HTTP y URL:

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

    Cuerpo JSON de la solicitud:

    {
      "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
      }
    }
    

    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/imagen-product-recontext-preview-06-30: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/imagen-product-recontext-preview-06-30: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"
        }
      ]
    }