O Imagen permite-lhe editar imagens em segundos, usando comandos de texto, máscaras e imagens existentes para orientar as edições.
Veja o cartão do modelo Imagen para edição e personalização
Versões de modelos suportadas
A API Imagen suporta os seguintes modelos:
imagen-3.0-capability-001
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/imagen-3.0-capability-001:predict \
-d '{
"instances": [
{
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_RAW",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": string
}
},
{
"referenceType": "REFERENCE_TYPE_MASK",
"referenceId": 2,
"referenceImage": {
"bytesBase64Encoded": string
},
"maskImageConfig": {
"maskMode": "MASK_MODE_USER_PROVIDED"
}
}
],
"prompt": string
}
],
"parameters": {
"addWatermark": boolean,
"baseSteps": integer,
"editMode": string,
"guidanceScale": integer,
"includeRaiReason": boolean,
"includeSafetyAttributes": boolean,
"language": string,
"negativePrompt": string,
"outputOptions": {
"mimeType": string,
"compressionQuality": integer
},
"personGeneration": string,
"safetySetting": string,
"sampleCount": integer,
"seed": integer,
"storageUri": string
}
}'
Instâncias
| Instâncias | |
|---|---|
prompt |
Opcional. O comando de texto para a imagem. Se não for especificado um |
referenceImages |
Lista de
Obrigatório. Para a edição de máscaras, têm de ser especificadas exatamente duas imagens de referência, uma com |
referenceImages objeto
O objeto referenceImages descreve os recursos de imagens para edição com o Imagen.
| Parâmetros | |
|---|---|
referenceType |
Obrigatório. O tipo de imagem de referência. Uma das seguintes opções:
|
referenceId |
Obrigatório. Um identificador exclusivo da imagem de referência. Não é usado para a edição com máscara. |
referenceImage.bytesBase64Encoded |
Obrigatório. Bytes de imagem codificados em Base64. Aceita ficheiros PNG, JPEG, GIF e BMP. O tamanho máximo é de 20 MB após a transcodificação para PNG. Se fornecer uma imagem de máscara, esta tem de ter as mesmas dimensões que a imagem base. |
maskImageConfig.maskMode |
Obrigatório quando
|
maskImageConfig.dilation |
Opcional. Intervalo: [0, 1]. A percentagem da largura da imagem para dilatar (aumentar) a máscara. Isto pode ajudar a compensar as máscaras imprecisas.
Para melhores resultados, recomendamos as seguintes
definições. Recomendamos os
valores indicados:
|
maskImageConfig.maskClasses |
Opcional. Oculte classes para o modo
|
Parâmetros
| Parâmetros | |
|---|---|
addWatermark |
Opcional. Adicionar uma marca de água invisível às imagens geradas.
O valor predefinido é |
baseSteps |
Opcional. O número de passos de amostragem. Um valor mais elevado tem uma melhor qualidade de imagem, enquanto um valor mais baixo tem uma melhor latência. A predefinição é
Para áreas de máscara mais pequenas ou para os modos de remoção ou inserção, use os passos |
editMode
|
Obrigatório para a edição de máscaras. Uma enumeração com um dos seguintes valores:
|
guidanceScale |
Opcional. Controla o grau de adesão do modelo ao comando de texto. Valores grandes aumentam a saída e o alinhamento dos comandos, mas podem comprometer a qualidade da imagem.
Intervalo aceite:
Predefinição: |
includeRaiReason |
Opcional. Se deve incluir um motivo de segurança para imagens filtradas na resposta. O valor predefinido é |
includeSafetyAttributes |
Opcional. Se deve comunicar as classificações de segurança de cada imagem na resposta. O valor predefinido é |
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 desencorajado nas imagens geradas. |
outputOptions |
Opcional. Descreve o formato da imagem de saída num objeto |
personGeneration |
Opcional. Permitir a geração de pessoas pelo modelo. Os seguintes valores são suportados:
Para a edição baseada em máscaras, a predefinição de |
sampleCount |
Opcional. O número de imagens a gerar. O valor predefinido é 4. |
seed |
Opcional. A semente aleatória para a geração de imagens. Esta opção não está disponível quando |
safetySetting |
Opcional. Adiciona um nível de filtro à filtragem de segurança. Os seguintes valores são suportados:
O valor predefinido é
|
storageUri |
Opcional. O 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
|
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 ID do seu projeto Google Cloud . -
TEXT_PROMPT: Opcional. Um comando de texto para orientar as imagens que o modelo gera. Para os melhores resultados, use uma descrição da área ocultada e evite comandos de uma única palavra. Por exemplo, use "um corgi fofo" em vez de "corgi". -
B64_BASE_IMAGE: Uma imagem codificada em base64 da imagem que está a ser editada com um tamanho de 10 MB ou inferior. Para mais informações sobre a codificação base64, consulte o artigo Codifique e descodifique ficheiros em base64. -
B64_MASK_IMAGE: Uma imagem de máscara a preto e branco codificada em base64 com um tamanho igual ou inferior a 10 MB. -
MASK_DILATION: Opcional. Um valor de vírgula flutuante entre 0 e 1, inclusive, que representa a percentagem da largura da imagem para aumentar a máscara. A utilização dedilationajuda a compensar as máscaras imprecisas. Recomendamos um valor de0.01. -
EDIT_STEPS: Opcional. Um número inteiro que representa o número de passos de amostragem. Um valor mais elevado oferece uma melhor qualidade de imagem, enquanto um valor mais baixo oferece uma melhor latência.Recomendamos que experimente os passos
35para começar. Se a qualidade não cumprir os seus requisitos, recomendamos que aumente o valor até um limite máximo de75. -
SAMPLE_COUNT: Opcional. Um número inteiro que descreve o número de imagens a gerar. O intervalo de valores aceite é1-4. O valor predefinido é4.
Método HTTP e URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict
Corpo JSON do pedido:
{
"instances": [
{
"prompt": "TEXT_PROMPT",
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_RAW",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "B64_BASE_IMAGE"
}
},
{
"referenceType": "REFERENCE_TYPE_MASK",
"referenceImage": {
"bytesBase64Encoded": "B64_MASK_IMAGE"
},
"maskImageConfig": {
"maskMode": "MASK_MODE_USER_PROVIDED",
"dilation": MASK_DILATION
}
}
]
}
],
"parameters": {
"editConfig": {
"baseSteps": EDIT_STEPS
},
"editMode": "EDIT_MODE_INPAINT_INSERTION",
"sampleCount": SAMPLE_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/imagen-3.0-capability-001: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-3.0-capability-001: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"
}
]
}
IDs das classes
Use os seguintes IDs de classe de objetos para criar automaticamente uma máscara de imagem com base em objetos específicos.
ID da classe (class_) |
Objeto |
|---|---|
| 0 | mochila |
| 1 | chapéu-de-chuva |
| 2 | saco |
| 3 | empatar |
| 4 | mala de viagem |
| 5 | caixa |
| 6 | pássaro |
| 7 | gato |
| 8 | cão |
| 9 | cavalo |
| 10 | ovelha |
| 11 | vaca |
| 12 | elefante |
| 13 | urso |
| 14 | zebra |
| 15 | girafa |
| 16 | animal (outro) |
| 17 | microondas |
| 18 | radiador |
| 19 | forno |
| 20 | torradeira |
| 21 | tanque de armazenamento |
| 22 | tapete rolante |
| 23 | lavatório |
| 24 | frigorífico |
| 25 | máquina de lavar e secar |
| 26 | ventoinha |
| 27 | máquina de lavar loiça |
| 28 | casa de banho |
| 29 | banheira |
| 30 | chuveiro |
| 31 | túnel |
| 32 | ponte |
| 33 | cais |
| 34 | tenda |
| 35 | edifício |
| 36 | teto |
| 37 | portátil |
| 38 | teclado |
| 39 | rato |
| 40 | remoto |
| 41 | telemóvel |
| 42 | televisão |
| 43 | mínimo |
| 44 | armazenar dados em área intermediária |
| 45 | banana |
| 46 | maçã |
| 47 | sanduíche |
| 48 | cor de laranja |
| 49 | brócolos |
| 50 | cenoura |
| 51 | cachorro-quente |
| 52 | piza |
| 53 | dónute |
| 54 | bolo |
| 55 | fruta (outra) |
| 56 | comida (outra) |
| 57 | cadeira (outra) |
| 58 | poltrona |
| 59 | cadeira giratória |
| 60 | banquinho |
| 61 | posto de trabalho |
| 62 | sofá |
| 63 | caixote do lixo |
| 64 | planta em vaso |
| 65 | mesa de cabeceira |
| 66 | cama |
| 67 | tabela |
| 68 | mesa de bilhar |
| 69 | barril |
| 70 | secretária |
| 71 | otomano |
| 72 | guarda-roupa |
| 73 | berço |
| 74 | cesto |
| 75 | cómoda |
| 76 | estante |
| 77 | contador (outro) |
| 78 | bancada de casa de banho |
| 79 | ilha de cozinha |
| 80 | porta |
| 81 | light (other) |
| 82 | candeeiro |
| 83 | arandela |
| 84 | candelabro |
| 85 | espelho |
| 86 | quadro |
| 87 | prateleira |
| 88 | escadas |
| 89 | escada rolante |
| 90 | armário |
| 91 | lareira |
| 92 | fogão |
| 93 | máquina de jogos de arcada |
| 94 | gravilha |
| 95 | plataforma |
| 96 | playingfield |
| 97 | caminho de ferro |
| 98 | estrada |
| 99 | neve |
| 100 | pavimento do passeio |
| 101 | pista |
| 102 | terreno |
| 103 | livro |
| 104 | caixa |
| 105 | relógio |
| 106 | vaso |
| 107 | tesoura |
| 108 | brinquedo (outro) |
| 109 | urso de peluche |
| 110 | secador de cabelo |
| 111 | escova de dentes |
| 112 | pintura |
| 113 | póster |
| 114 | quadro de avisos |
| 115 | garrafa |
| 116 | chávena |
| 117 | copo de vinho |
| 118 | faca |
| 119 | garfo |
| 120 | colher |
| 121 | tigela |
| 122 | Tabuleiro |
| 123 | exaustor |
| 124 | placa |
| 125 | pessoa |
| 126 | Motociclista (outro) |
| 127 | ciclista |
| 128 | motociclista |
| 129 | papel |
| 130 | luz de rua |
| 131 | barreira rodoviária |
| 132 | caixa de correio |
| 133 | câmara CFTV |
| 134 | caixa de distribuição de trânsito |
| 135 | sinal de trânsito |
| 136 | semáforo |
| 137 | boca de incêndio |
| 138 | parquímetro |
| 139 | banco |
| 140 | suporte para bicicletas |
| 141 | painel |
| 142 | céu |
| 143 | poste |
| 144 | cerca |
| 145 | corrimão |
| 146 | guarda-corpo |
| 147 | colina montanhosa |
| 148 | rock |
| 149 | frisbee |
| 150 | esquis |
| 151 | snowboard |
| 152 | bola desportiva |
| 153 | papagaio de papel |
| 154 | taco de beisebol |
| 155 | luva de beisebol |
| 156 | skate |
| 157 | prancha de surf |
| 158 | raquete de ténis |
| 159 | líquido |
| 160 | base |
| 161 | escultura |
| 162 | coluna |
| 163 | fonte |
| 164 | toldo |
| 165 | vestuário |
| 166 | faixa |
| 167 | flag |
| 168 | cobertor |
| 169 | cortina (outra) |
| 170 | cortina de chuveiro |
| 171 | almofada |
| 172 | toalha |
| 173 | tapete |
| 174 | vegetação |
| 175 | bicicleta |
| 176 | carro |
| 177 | autorickshaw |
| 178 | motociclo |
| 179 | avião |
| 180 | autocarro |
| 181 | comboio |
| 182 | camião |
| 183 | trailer |
| 184 | navio |
| 185 | objeto com rodas lento |
| 186 | lago fluvial |
| 187 | mar |
| 188 | água (outro) |
| 189 | piscina |
| 190 | cascata |
| 191 | parede |
| 192 | janela |
| 193 | persiana |
O que se segue?
- Para mais informações, consulte o artigo Imagen no Vertex AI.