Recontextualizar imagens de produtos

Com a recontextualização de produtos do Imagen na Vertex AI, é possível editar imagens de produtos em diferentes cenas ou planos de fundo. Você envia imagens de um produto e um comando opcional, e o produto Imagen recontext gera imagens do seu produto em novas cenas ou planos de fundo.

Para solicitar acesso à recontextualização de produtos do Imagen, preencha o formulário Solicitação de acesso à mídia generativa para marketing da Vertex AI.

Tipos de produtos compatíveis

A recontextualização de produtos do Imagen é compatível com os seguintes tipos de produtos:

  • Dispositivos
  • Comércio e indústria
  • Roupas
  • Eletrônicos
  • Móveis
  • Jardim e quintal
  • Hardware
  • Saúde e beleza
  • Joias
  • Animais de estimação
  • Sapatos
  • Artigos esportivos
  • Brinquedos e jogos
  • Veículos

Exemplo de recontextualização de produto

Confira a seguir um exemplo de caso de uso para a recontextualização de produtos:

Entradas de exemplo Exemplos de saída Comando usado
Um laptop preto com iluminação multicolorida no teclado e uma imagem de teste colorida na tela, colocado sobre um fundo branco. Um laptop preto com iluminação multicolorida no teclado e uma imagem de teste colorida na tela, agora colocado em uma bancada de trabalho.
             Atrás da bancada há uma janela com anúncios multicoloridos
             exibidos do lado de fora. Em uma bancada de trabalho desordenada em um beco cyberpunk chuvoso e iluminado por neon, com anúncios holográficos piscando ao fundo.
Uma câmera SLR digital com uma lente grande anexada, colocada em um fundo branco. Uma câmera SLR digital com uma lente grande anexada, colocada em um fundo branco. A câmera agora está em uma borda de um penhasco, com uma cachoeira ampla ao fundo. Colocada em uma rocha coberta de musgo à beira de um penhasco, com vista para uma cachoeira enorme e poderosa em uma paisagem islandesa dramática e nublada.
Um par de óculos de sol em um fundo branco. Um par de óculos de sol, agora colocado sobre uma mesa com uma xícara de café em um pires em primeiro plano, e uma vista panorâmica do topo de uma igreja e um corpo d'água com colinas ao fundo. Descansando em uma mesa de café branca em Santorini, com uma xícara de café, com vista para o Mar Egeu e os edifícios icônicos com cúpulas azuis.

Testar a recontextualização de produtos da Imagen em um Colab

Antes de começar

  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. Configure a autenticação do ambiente.

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      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 mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud .

  9. Gerar imagens de produtos em diferentes cenas

    REST

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • REGION: a região em que o projeto está localizado. Para mais informações sobre as regiões com suporte, consulte Locais da IA generativa na Vertex AI.
    • PROJECT_ID: o ID do projeto do Google Cloud .
    • TEXT_PROMPT: opcional. Um comando de texto para orientar as imagens geradas pelo modelo.
    • BASE64_SUBJECT_IMAGE: uma imagem do assunto codificada em base64.
    • PERSON_SETTING: Opcional: um valor de string que controla o tipo de pessoa ou geração de rostos permitida pelo modelo. É possível usar os seguintes valores para personGeneration:
      • "allow_adult": permite a geração somente de adultos, exceto para celebridades. A geração de celebridades não é permitida em nenhuma configuração. Esta é a configuração padrão.
      • "allow_all": permite a geração de pessoas de todas as idades, exceto para celebridades. A geração de celebridades não é permitida em nenhuma configuração.
      • "dont_allow": não permite a geração de pessoas ou rostos na saída gerada.
    • SAFETY_SETTING: Opcional: um valor de string que controla o limite do filtro de segurança para imagens geradas. Você pode usar os seguintes valores para selecionar sua configuração de segurança:
      • "block_low_and_above": o limite de segurança mais rigoroso. "block_low_and_above" filtra o maior número de imagens geradas.
      • "block_medium_and_above": o limite de segurança médio, que equilibra a filtragem de conteúdo potencialmente nocivo e seguro. "block_medium_and_above" é a configuração de segurança padrão.
      • "block_only_high": o limite de segurança mais baixo, que reduz o número de solicitações bloqueadas devido ao filtro de segurança. Usar o limite de segurança "block_only_high" pode aumentar o número de imagens censuráveis geradas pelo modelo.
    • WATERMARK_SETTING: Opcional: um booleano. Quando esse valor é definido como true, o modelo adiciona uma marca-d'água digital que pode ser usada para verificar a imagem gerada. O valor padrão é true.
    • IMAGE_COUNT: o número de imagens a serem geradas. O intervalo de valores aceito é 1-4.
    • PROMPT_SETTING: Opcional: um booleano. Quando esse valor é definido como true, o modelo usa prmopts aprimorados. O valor padrão é true.

    Método HTTP e URL:

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

    Corpo JSON da solicitação:

    {
      "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 a solicitação, escolha uma destas opções:

    curl

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    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

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    $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
    A solicitação retorna objetos de imagem. Neste exemplo, dois objetos de imagem são retornados, 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"
        }
      ]
    }