Testar a geração de imagens (Vertex AI Studio)
Nesta página, descrevemos como usar um número de semente na Imagen na Vertex AI para gerar imagens deterministas.
Um número de semente é aquele que você adiciona a uma solicitação para tornar as imagens geradas não determinísticas determinísticas. Determinístico significa que, sempre que você gerar uma imagem com o Imagen, vai receber a mesma saída.
Por exemplo, é possível fornecer uma solicitação, definir o número de resultados como 1 e usar um número de sugestão para ter a mesma imagem sempre que usar os mesmos valores de entrada. Se você enviar a mesma solicitação com o número de resultados definido como 8, receberá as mesmas oito imagens.
Usar uma semente para gerar imagens
Faça o seguinte:
REST
O número original é um campo opcional no objeto parameters
do corpo de uma 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
ouasia-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. - ADD_WATERMARK: booleano. Opcional. Se uma marca-d'água deve 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 detrue
será usado. Defina o valor comofalse
para desativar esse recurso. Só é possível usar o camposeed
para receber uma saída determinística quando ele estiver definido comofalse
. - 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
a100
, 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
a2147483647
. - 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/
.
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" }
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
"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" } ] }
Substitua:
- 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
a2147483647
.
- 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
{
"instances": [
...
],
"parameters": {
"sampleCount": IMAGE_COUNT,
"seed": SEED_NUMBER,
// required for model version 006 and greater only when using a seed number
"addWatermark": false
}
}
A seguir
- Usar o reescritor de comandos
- Definir o idioma da solicitação de texto
- Configurar a proporção
- Omitir conteúdo usando um comando negativo