Com o recurso de recontextualização de produtos da API Imagen na Vertex AI, é possível editar imagens de produtos em diferentes cenas ou planos de fundo. Você fornece uma imagem de um produto e um comando, e o produto Imagen recontext gera imagens do seu produto em novas cenas ou com planos de fundo diferentes.
Para solicitar acesso à recontextualização de produtos do Imagen, preencha o formulário Solicitação de acesso à mídia generativa para marketing da Vertex AI.
Versões de modelo compatíveis
O recontexto de produtos da Imagen é compatível com os seguintes modelos:
imagen-product-recontext-preview-06-30
Para mais informações sobre os recursos compatíveis com o modelo, consulte Modelos do Imagen.
Solicitação 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 |
Opcional. Um comando de texto para orientar a geração de cenas. |
productImages |
Uma lista de até três
|
Objeto productImages
O objeto productImages
descreve os recursos de imagem a serem colocados em diferentes cenas ou planos de fundo.
productImages |
|
---|---|
Campo de união
Imagem do produto |
|
bytesBase64Encoded |
Uma string de bytes codificada em base64 de uma imagem ou um arquivo de vídeo. |
gcsUri |
Um URI de string para um local de bucket do Cloud Storage. |
Parâmetros
Parâmetros | |
---|---|
addWatermark |
Opcional. Adicione uma marca-d'água invisível às imagens geradas.
O valor padrão é |
enhancePrompt |
Opcional. Um parâmetro opcional para usar um recurso de alteração de comando com base 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.
O valor padrão é |
personGeneration |
Opcional. Permite a geração de imagens de pessoas pelo modelo. Os valores a seguir são compatíveis:
O valor padrão é |
safetySetting |
Opcional. Adiciona um nível de filtro à filtragem de segurança. Os valores a seguir são compatíveis:
O valor padrão é |
|
O número de imagens a serem geradas.
Um valor inteiro no intervalo de |
seed |
Opcional. A semente aleatória para geração de imagens. Essa opção não está disponível
quando
Se |
storageUri |
Opcional. Um URI de string para um local de bucket do Cloud Storage usado para armazenar as imagens geradas. Se um bucket do Cloud Storage não for fornecido, os bytes de imagem codificados em base64 serão retornados na resposta. |
outputOptions |
Opcional. Descreve o formato da imagem de saída em um objeto |
Objeto de opções de saída
O objeto outputOptions
descreve a saída da imagem.
Parâmetros | |
---|---|
outputOptions.mimeType |
Opcional: O formato de saída da imagem. Os valores a seguir são compatíveis:
O valor padrão é |
outputOptions.compressionQuality |
Opcional:
O nível de compactação se o tipo de saída for |
Exemplo de solicitação
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
-
REGION
: a região em que o projeto está localizado. Para mais informações sobre as regiões com suporte, consulte Locais da IA generativa na Vertex AI. -
PROJECT_ID
: o ID do projeto do Google Cloud . -
TEXT_PROMPT
: opcional. Um comando de texto para orientar as imagens geradas pelo modelo. -
BASE64_SUBJECT_IMAGE
: uma imagem do assunto codificada em base64. -
PERSON_SETTING
: Opcional: um valor de string que controla o tipo de pessoa ou geração de rostos permitida pelo modelo. É possível usar os seguintes valores parapersonGeneration
:-
"allow_adult"
: permite a geração somente de adultos, exceto para celebridades. A geração de celebridades não é permitida em nenhuma configuração. Esta é a configuração padrão. -
"allow_all"
: permite a geração de pessoas de todas as idades, exceto para celebridades. A geração de celebridades não é permitida em nenhuma configuração. -
"dont_allow"
: não permite a geração de pessoas ou rostos na saída gerada.
-
-
SAFETY_SETTING
: Opcional: um valor de string que controla o limite do filtro de segurança para imagens geradas. Você pode usar os seguintes valores para selecionar sua configuraçã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 nocivo e seguro."block_medium_and_above"
é a configuração de segurança padrão. -
"block_only_high"
: o limite de segurança mais baixo, que reduz o número de solicitações bloqueadas devido ao filtro de segurança. Usar o limite de segurança"block_only_high"
pode aumentar o número de imagens censuráveis geradas pelo modelo.
-
-
WATERMARK_SETTING
: Opcional: um booleano. Quando esse valor é definido comotrue
, o modelo adiciona uma marca-d'água digital que pode ser usada para verificar a imagem gerada. O valor padrão étrue
. -
IMAGE_COUNT
: o número de imagens a serem geradas. O intervalo de valores aceito é1
-4
. -
PROMPT_SETTING
: Opcional: um booleano. Quando esse valor é definido comotrue
, o modelo usa prmopts aprimorados. O valor padrão é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 da solicitação:
{ "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 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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30: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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict" | Select-Object -Expand Content
{ "predictions": [ { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" }, { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" } ] }