A API Imagen permite-lhe gerar imagens de alta qualidade em segundos, usando um comando de texto para orientar a geração.
Veja o cartão do modelo Imagen for Generation
Versões de modelos suportadas
A API Imagen suporta os seguintes modelos:
imagen-4.0-generate-001imagen-4.0-fast-generate-001imagen-4.0-ultra-generate-001imagen-3.0-generate-002imagen-3.0-generate-001imagen-3.0-fast-generate-001imagen-3.0-capability-001
Para mais informações sobre as funcionalidades suportadas por cada modelo, consulte os modelos do Imagen.
Sintaxe de exemplo
Sintaxe para criar uma imagem a partir de um comando de texto.
Sintaxe
Sintaxe para gerar uma imagem.
REST
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_VERSION}:predict \ -d '{ "instances": [ { "prompt": "..." } ], "parameters": { "sampleCount": ... } }'
Python
generation_model = ImageGenerationModel.from_pretrained("MODEL_VERSION") response = generation_model.generate_images( prompt="...", negative_prompt="...", aspect_ratio=..., ) response.images[0].show()
Gerar imagens
REST
| Parâmetros | |
|---|---|
addWatermark |
Opcional. Adicionar uma marca de água invisível às imagens geradas.
O valor predefinido é |
aspectRatio |
Opcional. O formato da imagem de saída gerada. O valor predefinido é "1:1". |
enhancePrompt |
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 os comandos. |
language |
Opcional. O código do idioma que corresponde ao idioma do comando de texto. Os seguintes valores são suportados:
|
negativePrompt |
Opcional. Uma descrição do que deve ser evitado nas imagens geradas.
O |
outputOptions |
Opcional. Descreve o formato da imagem de saída num |
prompt |
Obrigatório. O comando de texto para a imagem. |
personGeneration |
Opcional. Permitir a geração de pessoas pelo modelo. Os seguintes valores são suportados:
O valor predefinido é |
safetySetting |
Opcional. Adiciona um nível de filtro à filtragem de segurança. Os seguintes valores são suportados:
O valor predefinido é |
sampleCount |
Obrigatório. O número de imagens a gerar. O valor predefinido é 4. |
sampleImageSize |
Opcional. Especifica a resolução de saída da imagem gerada. Os valores aceites são |
seed |
Opcional. A semente aleatória para a geração de imagens. Esta opção não está disponível quando
Se |
storageUri |
Opcional: URI do Cloud Storage para armazenar as imagens geradas. |
Objeto de opções de saída
O objeto outputOptions descreve a saída da imagem.
| Parâmetros | |
|---|---|
outputOptions.mimeType |
Opcional: O formato de imagem no qual a saída deve ser guardada. Os seguintes valores são suportados:
O valor predefinido é |
outputOptions.compressionQuality |
Opcional: O nível de compressão se o tipo de saída for
|
Resposta
O corpo da resposta do pedido REST.
| Parâmetro | |
|---|---|
predictions |
Uma matriz de objetos VisionGenerativeModelResult, um para cada sampleCount pedido. Se alguma
imagem for filtrada pela IA responsável, não é incluída, a menos que
includeRaiReason esteja definido como true.
|
Objeto de resultado do modelo generativo de visão
Informações sobre o resultado do modelo.
| Parâmetro | |
|---|---|
bytesBase64Encoded |
A imagem gerada codificada em base64. Não está presente se a imagem de saída não tiver passado nos filtros de IA responsável. |
mimeType |
O tipo de imagem gerada. Não está presente se a imagem de saída não tiver passado nos filtros de IA responsável. |
raiFilteredReason |
O motivo do filtro de IA responsável. Só é devolvido se
|
safetyAttributes.categories |
O nome do atributo de segurança. Só é devolvido se
|
safetyAttributes.scores |
A pontuação do atributo de segurança. Só é devolvido se
|
Python
| Parâmetros | |
|---|---|
add_watermark |
Opcional. Adicionar uma marca de água à imagem gerada.
O valor predefinido é |
aspect_ratio |
Opcional. O formato da imagem de saída gerada. O valor predefinido é "1:1". |
compression_quality |
Opcional. O nível de compressão se o tipo MIME de saída for
|
language |
Opcional. O idioma do comando de texto para a imagem. Os seguintes valores são suportados:
O valor predefinido é |
negative_prompt |
Opcional. Uma descrição do que deve ser evitado nas imagens geradas.
O |
number_of_images |
Obrigatório. O número de imagens a gerar. O valor predefinido é 1. |
output_gcs_uri |
Opcional. URI do Cloud Storage para armazenar as imagens geradas. |
output_mime_type |
Opcional. O formato de imagem no qual a saída deve ser guardada. Os seguintes valores são suportados:
O valor predefinido é |
prompt |
Obrigatório. O comando de texto para a imagem. |
person_generation |
Opcional. Permitir a geração de pessoas pelo modelo. Os seguintes valores são suportados:
O valor predefinido é |
safety_filter_level |
Opcional. Adiciona um nível de filtro à filtragem de segurança. Os seguintes valores são suportados:
O valor predefinido é |
sample_image_size |
Opcional. Especifica a resolução de saída da imagem gerada. Os valores aceites são |
seed |
Opcional. A semente aleatória para a geração de imagens. Esta opção não está disponível quando
Se |
Exemplos
Os exemplos seguintes mostram como usar os modelos Imagen para gerar imagens.
Gerar imagens
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 as localizações da IA generativa no Vertex AI.
- PROJECT_ID: O seu Google Cloud ID do projeto.
-
MODEL_VERSION: a versão do modelo Imagen a usar. Para mais informações sobre os modelos disponíveis, consulte os modelos Imagen.
- TEXT_PROMPT: o comando de texto que orienta as imagens que o modelo gera. Este campo é obrigatório para a geração e a edição.
-
IMAGE_COUNT: o número de imagens a gerar. O intervalo de valores
aceite é de
1a4. - ADD_WATERMARK: booleano. Opcional. Se deve ativar uma marca de água para imagens geradas.
Qualquer imagem gerada quando o campo está definido como
truecontém um SynthID digital que pode usar para validar uma imagem com marca de água. Se omitir este campo, é usado o valor predefinido detrue. Tem de definir o valor comofalsepara desativar esta funcionalidade. Pode usar o camposeedpara obter um resultado determinístico apenas quando este campo estiver definido comofalse. - ASPECT_RATIO: string. Opcional. Um parâmetro do modo de geração que controla o formato. Valores de proporção suportados e a respetiva utilização prevista:
1:1(predefinição, quadrada)3:4(anúncios, redes sociais)4:3(TV, fotografia)16:9(horizontal)9:16(vertical)
- ENABLE_PROMPT_REWRITING: booleano. Opcional. Um parâmetro 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 os comandos. Valor predefinido:
true. -
INCLUDE_RAI_REASON: booleano. Opcional. Se deve ativar o código do motivo filtrado da IA responsável em respostas com entrada ou saída bloqueada. Valor predefinido:
true. - INCLUDE_SAFETY_ATTRIBUTES: booleano. Opcional. Se deve ativar as pontuações de IA responsável arredondadas para uma lista de atributos de segurança nas respostas para 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"e"War & Conflict". Valor predefinido:false. - MIME_TYPE: string. Opcional. O tipo MIME do conteúdo da imagem. Valores
disponíveis:
image/jpegimage/gifimage/pngimage/webpimage/bmpimage/tiffimage/vnd.microsoft.icon
- COMPRESSION_QUALITY: número inteiro. Opcional. Aplica-se apenas a ficheiros de saída JPEG. O nível de detalhe que o modelo preserva para imagens geradas no formato de ficheiro JPEG. Valores:
0a100, em que um número mais elevado significa mais compressão. Predefinição:75. - PERSON_SETTING: string. Opcional. A definição de segurança que controla o tipo de pessoas ou geração de rostos que o modelo permite. Valores disponíveis:
allow_adult(predefinição): permitir a geração de conteúdo apenas para adultos, exceto a geração de conteúdo com celebridades. A geração de celebridades não é permitida para nenhuma definição.dont_allow: desative a inclusão de pessoas ou rostos em imagens geradas.
- SAFETY_SETTING: string. Opcional. Uma definição que controla os limites dos filtros de segurança
para imagens geradas. Valores disponíveis:
block_low_and_above: o limite de segurança mais elevado, o que resulta na maior quantidade de imagens geradas filtradas. Valor anterior:block_most.block_medium_and_above(predefinição): um limite de segurança médio que equilibra a filtragem de conteúdo potencialmente prejudicial e seguro. Valor anterior:block_some.block_only_high: um limite de segurança que reduz o número de pedidos bloqueados devido a filtros de segurança. Esta definiçã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 que fornecer para tornar as imagens de saída determinísticas. Indicar o mesmo número aleatório resulta sempre nas mesmas imagens de saída. Se
o modelo que está a usar suportar marcas de água digitais, tem de definir
"addWatermark": falsepara usar este campo. Valores inteiros aceites:1a2147483647. - OUTPUT_STORAGE_URI: string. Opcional. O contentor do Cloud Storage para armazenar as imagens de saída. Se não for fornecido, os bytes da imagem codificados em base64 são devolvidos na resposta. Valor de exemplo:
gs://image-bucket/output/.
Parâmetros opcionais adicionais
Use as seguintes variáveis opcionais consoante o seu exemplo de utilização. Adicione alguns ou todos os seguintes parâmetros no objeto "parameters": {}.
Esta lista mostra parâmetros opcionais comuns e não se destina a ser exaustiva. Para mais
informações sobre parâmetros opcionais,
consulte a 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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_VERSION:predict
Corpo JSON do pedido:
{
"instances": [
{
"prompt": "TEXT_PROMPT"
}
],
"parameters": {
"sampleCount": IMAGE_COUNT
}
}
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/MODEL_VERSION: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/MODEL_VERSION:predict" | Select-Object -Expand Content
"sampleCount":
2. A resposta devolve dois objetos de previsão, com os bytes da imagem gerada codificados em base64.
{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
Se usar um modelo que suporte o melhoramento de comandos, a resposta inclui um campo prompt adicional com o comando melhorado usado para a 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"
}
]
}
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Neste exemplo, chama o método generate_images no
ImageGenerationModel (versão @006) e guarda as imagens geradas localmente. Em seguida, pode usar opcionalmente o método show()
num bloco de notas para ver as imagens geradas. Para mais informações sobre as versões e as funcionalidades dos modelos, consulte o artigo Versões dos modelos.
O que se segue?
- Para mais informações, consulte a vista geral do Imagen na Vertex AI e gere imagens através de comandos de texto.