Recontextualize imagens de produtos

O produto Imagen recontext no Vertex AI permite-lhe editar imagens de produtos em diferentes cenários ou fundos. Fornece imagens de um produto e um comando opcional, e o produto Imagen volta a gerar imagens do seu produto em novos cenários ou fundos.

Para pedir acesso ao produto Imagen recontext, preencha o formulário Vertex AI - Generative Media for Marketing Access Request.

Tipos de produtos suportados

O recontext do produto Imagen suporta os seguintes tipos de produtos:

  • Eletrodomésticos
  • Empresarial e industrial
  • Vestuário
  • Eletrónica
  • Mobiliário
  • Jardim e quintal
  • Hardware
  • Saúde e beleza
  • Joias
  • Animais de estimação
  • Calçado
  • Artigos de desporto
  • Brinquedos e jogos
  • Veículos

Exemplo de recontextualização de produtos

Segue-se um exemplo de utilização da recontextualização de produtos:

Exemplos de entradas Exemplos de resultados Comando usado
Um portátil preto com retroiluminação multicolor na teclado
             e uma imagem de teste colorida no ecrã, colocado num
             fundo branco. Um portátil preto com retroiluminação multicolor no teclado
             e uma imagem de teste colorida no ecrã, agora colocado numa bancada de trabalho.
             Atrás da bancada, encontra-se uma janela com anúncios multicoloridos
             apresentados no exterior. Numa bancada de trabalho desarrumada num beco cyberpunk iluminado a néon e chuvoso, com anúncios holográficos a piscarem em segundo plano.
Uma câmara SLR digital com uma lente grande anexada, colocada num fundo branco. Uma câmara SLR digital com uma lente grande anexada, colocada num fundo branco. A câmara está agora colocada na extremidade de uma falésia, com uma
             cascata larga ao fundo. Situada numa rocha coberta de musgo na ponta de uma falésia, com vista para uma cascata enorme e poderosa numa paisagem islandesa dramática e nublada.
Um par de óculos de sol sobre um fundo branco. Um par de óculos de sol, agora colocado numa mesa com uma chávena de café colocada num pires em primeiro plano e uma vista panorâmica do topo de uma igreja e de um corpo de água com colinas em segundo plano. Descansando numa mesa branca de um café em Santorini, com uma chávena de café, com vista para o Mar Egeu e os icónicos edifícios com cúpulas azuis.

Experimente o recontextualização de produtos do Imagen num 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 para o seu ambiente.

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à 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 o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

  9. Gere imagens de produtos em diferentes cenários

    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 o artigo IA generativa nas localizações do Vertex AI.
    • PROJECT_ID: o seu ID do projeto Google Cloud .
    • TEXT_PROMPT: opcional. Um comando de texto para orientar as imagens que o modelo gera.
    • BASE64_SUBJECT_IMAGE: Uma imagem com codificação base64 da imagem do motivo.
    • PERSON_SETTING: Opcional: um valor de string que controla o tipo de geração de pessoas ou rostos que o modelo permite. Pode usar os seguintes valores para personGeneration:
      • "allow_adult": permite a geração de conteúdo apenas para adultos, exceto a geração de celebridades. A geração de celebridades não é permitida para nenhuma definição. Esta é a predefinição.
      • "allow_all": permite a geração de pessoas de todas as idades, exceto a geração de celebridades. A geração de celebridades não é permitida para nenhuma definição.
      • "dont_allow": não permite a geração de pessoas nem rostos no resultado gerado.
    • SAFETY_SETTING: Opcional: um valor de string que controla o limite do filtro de segurança para imagens geradas. Pode usar os seguintes valores para selecionar a sua definiçã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 prejudicial e seguro. "block_medium_and_above" é a predefinição de segurança.
      • "block_only_high": o limite de segurança mais baixo, que reduz o número de pedidos bloqueados devido ao filtro de segurança. A utilização do limiar de segurança "block_only_high"pode aumentar o número de imagens censuráveis geradas pelo modelo.
    • WATERMARK_SETTING: Opcional: um valor booleano. Quando este valor está definido como true, o modelo adiciona uma marca de água digital que pode usar para validar a imagem gerada. O valor predefinido é true.
    • IMAGE_COUNT: o número de imagens a gerar. O intervalo de valores aceite é 1-4.
    • PROMPT_SETTING: Opcional: um valor booleano. Quando este valor é definido como true, o modelo usa prompts melhorados. O valor predefinido é 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 do pedido:

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