Omitir conteúdo usando um comando negativo

Testar o Imagen no Colab

Nesta página, descrevemos como omitir conteúdo das imagens geradas com o Imagen na Vertex AI.

Um comando negativo é uma descrição do que você quer omitir nas imagens geradas. Por exemplo, considere a solicitação "uma rua chuvosa da cidade à noite sem pessoas". O modelo pode interpretar "pessoas" como uma diretiva do que incluir em vez de omitir. Para gerar resultados melhores, você pode usar o prompt "uma rua de cidade chuvosa à noite" com um prompt negativo "pessoas".

O Imagen gera essas imagens com e sem um prompt negativo:

Somente prompt de texto

  • Prompt de texto: "uma pizza"

três exemplos de imagens de pizza

Solicitação de texto e prompt negativo

  • Prompt de texto: "uma pizza"
  • Prompt negativo: "pepperoni"

três exemplos de imagens de pizza sem pepperoni

Os seguintes modelos são compatíveis com comandos negativos:

  • imagen-3.0-capability-001
  • imagen-3.0-fast-generate-001
  • imagen-3.0-generate-001

Usar um comando negativo

Para omitir conteúdo das imagens geradas, faça o seguinte:

Console

  1. No console do Google Cloud , acesse a página Vertex AI > Media Studio.

    Acessar o Media Studio

  2. Clique em Imagen. A página de geração de imagens do Imagen Media Studio é exibida.

  3. No painel Configurações, ajuste as seguintes opções:

    • Modelo: escolha um modelo entre as opções disponíveis.

      Para mais informações sobre os modelos disponíveis, consulte Modelos do Imagen.

    • Número de resultados: ajuste o controle deslizante ou insira um valor entre 1 e 4.

    • Na caixa Comando negativo, insira um comando que descreva o que você não quer que seja gerado na imagem.

  4. Na caixa Escreva seu comando, insira o comando de texto que descreve as imagens a serem geradas. Por exemplo, ilustração em aquarela de pequeno barco na água durante a manhã.

    Para mais detalhes sobre como escrever comandos eficazes, consulte o Guia de comandos e atributos de imagem.

  5. Clique em Gerar.

REST

O prompt negativo é um campo opcional no objeto parameters de um corpo de solicitação JSON.

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

  • PROJECT_ID: o ID do projeto do Google Cloud .
  • MODEL_VERSION: a versão do modelo do Imagen a ser usada. Para mais informações sobre os modelos disponíveis, consulte Modelos do Imagen.

  • LOCATION: a região do seu projeto. Por exemplo, us-central1, europe-west2 ou asia-northeast3. Para uma lista de regiões disponíveis, consulte IA generativa em locais da Vertex AI.
  • TEXT_PROMPT: o comando de texto que orienta quais imagens o modelo gera. Este campo é obrigatório para geração e edição.
  • IMAGE_COUNT: o número de imagens geradas. Valores inteiros aceitos: 1 a 8 (imagegeneration@002), 1 a 4 (todas as outras versões de modelo). Valor padrão: 4.
  • Outros parâmetros opcionais

    Use as seguintes variáveis opcionais dependendo do seu caso de uso. Adicione alguns ou todos os parâmetros a seguir no objeto "parameters": {}. Esta lista mostra parâmetros opcionais comuns e não está completa. Para mais informações sobre parâmetros opcionais, consulte Referência da API Imagen: gerar imagens.

    "parameters": {
      "sampleCount": IMAGE_COUNT,
      "addWatermark": ADD_WATERMARK,
      "aspectRatio": "ASPECT_RATIO",
      "enhancePrompt": ENABLE_PROMPT_REWRITING,
      "includeRaiReason": INCLUDE_RAI_REASON,
      "includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES,
      "outputOptions": {
        "mimeType": "MIME_TYPE",
        "compressionQuality": COMPRESSION_QUALITY
      },
      "personGeneration": "PERSON_SETTING",
      "safetySetting": "SAFETY_SETTING",
      "seed": SEED_NUMBER,
      "storageUri": "OUTPUT_STORAGE_URI"
    }
    
    • ADD_WATERMARK: booleano. Opcional. Indica se uma marca-d'água será ativada para imagens geradas. Qualquer imagem gerada quando o campo está definido como true contém um SynthID digital que você pode usar para verificar uma imagem de marca d'água. Se você omitir esse campo, o valor padrão de true será usado. Defina o valor como false para desativar esse recurso. Só é possível usar o campo seed para receber uma saída determinística quando ele estiver definido como false.
    • ASPECT_RATIO: string. Opcional. Um parâmetro do modo de geração que controla a proporção. Valores de proporção aceitos e o uso pretendido:
      • 1:1 (padrão, quadrado)
      • 3:4 (anúncios, mídias sociais)
      • 4:3 (TV, fotografia)
      • 16:9 (paisagem)
      • 9:16 (retrato)
    • ENABLE_PROMPT_REWRITING: booleano. Opcional. Um parâmetro para usar um recurso de alteração de comando baseado em LLM para gerar imagens de melhor qualidade que reflitam melhor a intenção do comando original. Desativar esse recurso pode afetar a qualidade da imagem e a adesão ao comando. Valor padrão: true
    • INCLUDE_RAI_REASON: booleano. Opcional. Define se o código de motivo filtrado da IA responsável será ativado em respostas com entrada ou saída bloqueada. Valor padrão: true.
    • INCLUDE_SAFETY_ATTRIBUTES: booleano. Opcional. Define se as pontuações de IA responsável arredondadas serão ativadas para uma lista de atributos de segurança nas respostas de entrada e saída não filtradas. Categorias de atributos de segurança: "Death, Harm & Tragedy", "Firearms & Weapons", "Hate", "Health", "Illicit Drugs", "Politics", "Porn", "Religion & Belief", "Toxic", "Violence", "Vulgarity", "War & Conflict". Valor padrão: false.
    • MIME_TYPE: string. Opcional. O tipo MIME do conteúdo da imagem. Valores disponíveis:
      • image/jpeg
      • image/gif
      • image/png
      • image/webp
      • image/bmp
      • image/tiff
      • image/vnd.microsoft.icon
    • COMPRESSION_QUALITY: número inteiro. Opcional. Aplicável apenas a arquivos de saída JPEG. O nível de detalhes que o modelo preserva para imagens geradas no formato de arquivo JPEG. Valores: 0 a 100, em que um número maior significa mais compactação. Padrão: 75.
    • PERSON_SETTING: string. Opcional. A configuração de segurança que controla o tipo de pessoas ou geração de rostos permitida pelo modelo. Valores disponíveis:
      • allow_adult (padrão): permite a geração somente de adultos, exceto para celebridades. A geração de celebridades não é permitida em nenhuma configuração.
      • dont_allow: desativa a inclusão de pessoas ou rostos nas imagens geradas.
    • SAFETY_SETTING: string. Opcional. Uma configuração que controla os limites de filtro de segurança para as imagens geradas. Valores disponíveis:
      • block_low_and_above: o limite de segurança mais alto, resultando na maior quantidade de imagens geradas que são filtradas. Valor anterior: block_most.
      • block_medium_and_above (padrão): um limite de segurança médio que equilibra a filtragem de conteúdo potencialmente nocivo e seguro. Valor anterior: block_some.
      • block_only_high: um limite de segurança que reduz o número de solicitações bloqueadas devido a filtros de segurança. Essa configuração pode aumentar o conteúdo censurável gerado pelo Imagen. Valor anterior: block_few.
    • SEED_NUMBER: número inteiro. Opcional. Qualquer número inteiro não negativo fornecido para tornar as imagens de saída determinísticas. Fornecer o mesmo número de origem sempre resulta nas mesmas imagens de saída. Se o modelo que você está usando for compatível com marca d'água digital, defina "addWatermark": false para usar esse campo. Valores inteiros aceitos: 1 a 2147483647.
    • OUTPUT_STORAGE_URI: string. Opcional. O bucket do Cloud Storage para armazenar as imagens de saída. Se não for fornecido, os bytes de imagem codificados em base64 serão retornados na resposta. Exemplo de valor: gs://image-bucket/output/.

Método HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict

Corpo JSON da solicitação:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT"
    }
  ],
  "parameters": {
    "sampleCount": IMAGE_COUNT
  }
}

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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION: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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict" | Select-Object -Expand Content
O exemplo de resposta a seguir é para uma solicitação com "sampleCount": 2. A resposta retorna dois objetos de previsão, com os bytes de imagem gerados codificados em base64.
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

Se você usar um modelo que ofereça suporte ao aprimoramento de comandos, a resposta vai incluir um campo prompt adicional com o comando aprimorado usado para geração:

{
  "predictions": [
    {
      "mimeType": "MIME_TYPE",
      "prompt": "ENHANCED_PROMPT_1",
      "bytesBase64Encoded": "BASE64_IMG_BYTES_1"
    },
    {
      "mimeType": "MIME_TYPE",
      "prompt": "ENHANCED_PROMPT_2",
      "bytesBase64Encoded": "BASE64_IMG_BYTES_2"
    }
  ]
}

  1. Substitua:

    • NEGATIVE_PROMPT: um prompt negativo para ajudar a gerar as imagens. Por exemplo: "animais" (remove animais), "desfocado" (deixa a imagem mais clara), "texto" (remove texto) ou "cortado" (remove imagens cortadas).
    {
      "instances": [
        ...
      ],
      "parameters": {
        "sampleCount": IMAGE_COUNT,
        "negativePrompt": "NEGATIVE_PROMPT"
      }
    }
    

A seguir