API Imagen product recontext

O produto Imagen recontext na API Vertex AI permite-lhe editar imagens de produtos em diferentes cenas ou fundos. Fornece uma imagem de um produto e um comando, e o produto Imagen volta a gerar imagens do seu produto em novas cenas ou com fundos diferentes.

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

Versões de modelos suportadas

O produto Imagen recontext suporta os seguintes modelos:

  • imagen-product-recontext-preview-06-30

Para mais informações sobre as funcionalidades suportadas pelo modelo, consulte os modelos Imagen.

Pedido 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": [
    {
      "prompt": string,
      "productImages": [
        // The following fields can be repeated up to 3 times for different
        // views of the same product.
        {
          "image": {
            // Union field can be only one of the following:
            "bytesBase64Encoded": string,
            "gcsUri": string,
            // End of list of possible types for union field.
          },
        }
      ]
    }
  ],
  "parameters": {
    "addWatermark": boolean,
    "enhancePrompt": boolean
    "personGeneration": string,
    "safetySetting": string,
    "sampleCount": integer,
    "seed": integer,
    "storageUri": string,
    "outputOptions": {
      "mimeType": string,
      "compressionQuality": integer
    }
  }
}'

Instâncias

Instâncias
prompt

string

Opcional. Um comando de texto para orientar a geração de cenas.

productImages

list[productImages]

Uma lista de até três ProductImages diferentes de diferentes vistas do mesmo produto. O modelo usa as imagens para recontextualizar o produto em diferentes cenas ou fundos.

productImages objeto

O objeto productImages descreve os recursos de imagens a colocar em diferentes cenas ou fundos.

productImages

Campo de união image.

Imagem do produto de imagen-product-recontext-preview-06-30 como entrada para diferentes vistas do produto. Cada imagem pode ser uma string bytesBase64Encoded que codifica uma imagem ou uma string gcsUri URI para uma localização do contentor do Cloud Storage.

bytesBase64Encoded

string

Uma string codificada em base64 de bytes de um ficheiro de imagem ou vídeo.

gcsUri

string

Um URI de string para uma localização do contentor do Cloud Storage.

Parâmetros

Parâmetros
addWatermark

boolean

Opcional. Adicionar uma marca de água invisível às imagens geradas.

O valor predefinido é true.

enhancePrompt

boolean

Opcional. Um parâmetro opcional para usar uma funcionalidade de reescrita de comandos baseada em MDIs para fornecer imagens de maior qualidade que reflitam melhor a intenção do comando original. A desativação desta funcionalidade pode afetar a qualidade da imagem e a conformidade com o comando.

O valor predefinido é true.

personGeneration

string

Opcional. Permitir a geração de pessoas pelo modelo. Os seguintes valores são suportados:

  • "dont_allow": não permitir a inclusão de pessoas ou rostos em imagens.
  • "allow_adult": permitir a geração de conteúdo apenas para adultos.
  • "allow_all": permitir a geração de pessoas de todas as idades.

O valor predefinido é "allow_adult".

safetySetting

string

Opcional. Adiciona um nível de filtro à filtragem de segurança. Os seguintes valores são suportados:

  • "block_low_and_above": o nível de filtragem mais forte, o bloqueio mais restritivo. Valor descontinuado: "block_most".
  • "block_medium_and_above": Bloquear alguns comandos e respostas problemáticos. Valor descontinuado: "block_some".
  • "block_only_high": reduz o número de pedidos bloqueados devido aos filtros de segurança. Pode aumentar o conteúdo censurável gerado pelo Imagen. Valor descontinuado: "block_few".
  • "block_none": Bloquear muito poucos comandos e respostas problemáticas. O acesso a esta funcionalidade está restrito. Valor do campo anterior: "block_fewest".

O valor predefinido é "block_medium_and_above".

sampleCount

int

O número de imagens a gerar.

Um valor inteiro no intervalo de 1 a 4. O valor predefinido é 1.

seed

Uint32

Opcional. A semente aleatória para a geração de imagens. Esta opção não está disponível quando addWatermark está definido como true.

Se enhancePrompt estiver definido como true, o parâmetro seed não funciona, porque enhancePrompt gera um novo comando, o que resulta numa imagem nova ou diferente.

storageUri

string

Opcional. Um URI de string para uma localização do contentor do Cloud Storage que é usado para armazenar as imagens geradas. Se não for fornecido um contentor do Cloud Storage, são devolvidos bytes de imagem codificados em base64 na resposta.

outputOptions

outputOptions

Opcional. Descreve o formato da imagem de saída num outputOptions objeto.

Objeto de opções de saída

O objeto outputOptions descreve a saída da imagem.

Parâmetros
outputOptions.mimeType

Opcional: string

O formato de saída da imagem. Os seguintes valores são suportados:

  • "image/png": guarde como uma imagem PNG.
  • "image/jpeg": guarde como imagem JPEG.

O valor predefinido é "image/png".

outputOptions.compressionQuality

Opcional: int

O nível de compressão se o tipo de saída for "image/jpeg". Os valores aceites são 0- 100. O valor predefinido é 75.

Exemplo de pedido

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