Com a personalização controlada, é possível criar novas imagens com base em uma imagem de origem ou em um sinal de imagem de origem (borda nítida ou rabiscada). Nesta página, mostramos como enviar dois tipos de solicitações de personalização controlada:
Personalização controlada do Imagen 3 (recurso em GA)
Personalização controlada do Imagen 2: sinal de imagem de origem de borda nítida ou rabiscada (recurso em fase de pré-lançamento)
Casos de uso
A personalização controlada do Imagen 3 oferece comandos de estilo livre, o que pode dar a impressão de que o modelo consegue fazer mais do que foi treinado para fazer. As seções a seguir descrevem casos de uso e exemplos da personalização controlada do Imagen 3.
O modelo foi treinado em casos de uso que fornecemos, e esperamos bons resultados quando você usa a personalização controlada do Imagen 3. Se você pressionar o modelo para responder de maneiras inesperadas, não espere bons resultados.
Exemplos de casos de uso pretendidos
Confira a seguir casos de uso em que a personalização controlada do Imagen 3 foi treinada para realizar e produzir bons resultados:
Gere uma imagem que siga o comando e as imagens de controle de borda canny.
Gere uma imagem que siga o comando e os rabiscos.
Estilize uma foto de uma pessoa preservando a expressão facial.
Exemplos de casos de uso não intencionais
Confira a seguir casos de uso para os quais a personalização controlada do Imagen 3 não foi treinada e produz resultados ruins:
Gere uma imagem usando um estilo especificado no comando.
Gere uma imagem com base em texto que siga um estilo específico fornecido por uma imagem de referência, com algum nível de controle na composição da imagem usando uma imagem de controle.
Gere uma imagem com base em um texto que segue um estilo específico fornecido por uma imagem de referência, com algum nível de controle na composição da imagem usando um rabisco de controle.
Gere uma imagem com base em texto que siga um estilo específico fornecido pela imagem de referência, com algum nível de controle na composição da imagem usando uma imagem de controle. A pessoa na imagem tem uma expressão facial específica.
Estilize uma foto de duas ou mais pessoas e preserve as expressões faciais delas.
Estilize uma foto de um animal de estimação e transforme em um desenho. Preserve ou especifique a composição da imagem (por exemplo, aquarela).
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
Configure a autenticação do ambiente.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:
gcloud init
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud .
Como escrever comandos de personalização
O comando usado com a personalização do Imagen 3 pode afetar a qualidade das imagens geradas. Use os modelos de comando a seguir como ponto de partida para escrever comandos de personalização. Talvez seja necessário enviar várias solicitações para receber a saída desejada.
Caso de uso Imagens de referência Modelo de comando Exemplo Personalização controlada Mapa de rabisco (1) Gere uma imagem que esteja alinhada com o scribble map [1] para corresponder à descrição: ${STYLE_PROMPT} ${PROMPT}. Gere uma imagem que esteja alinhada com a scribble map [1] para corresponder à descrição: A imagem precisa estar no estilo de uma pintura a óleo impressionista com pinceladas suaves. Ela tem um ambiente naturalmente iluminado e pinceladas visíveis. Vista lateral de um carro. O carro está estacionado em uma superfície de estrada molhada e reflexiva, com luzes da cidade refletindo nas poças. Personalização controlada Imagem de controle nítida (1) Gere uma imagem alinhada ao edge map [1] para corresponder à descrição: ${STYLE_PROMPT} ${PROMPT} Gere uma imagem alinhada ao edge map [1] para corresponder à descrição: A imagem precisa ser no estilo de uma pintura a óleo impressionista, com pinceladas suaves. Ela tem uma atmosfera naturalmente iluminada e pinceladas perceptíveis. Um carro visto de lado. O carro está estacionado em uma superfície de estrada molhada e reflexiva, com luzes da cidade refletindo nas poças. Estilização de imagem de pessoa com entrada FaceMesh Imagem do personagem (1 a 3)
Imagem de controle do FaceMesh (1)Crie uma imagem sobre SUBJECT_DESCRIPTION [1] na pose de CONTROL_IMAGE [2] para corresponder à descrição: um retrato de SUBJECT_DESCRIPTION [1] ${PROMPT} Crie uma imagem de a woman with short hair [1] na pose de control image [2] para corresponder à descrição: um retrato de a woman with short hair [1] em estilo de desenho animado 3D com um plano de fundo desfocado. Um personagem fofo e adorável, com um rosto sorridente, de frente para a câmera, tom de cor pastel, alta qualidade, 4k, obra-prima, super detalhes, textura da pele, mapeamento de textura, sombras suaves, iluminação realista suave, cores vibrantes Estilização de imagem de pessoa com entrada FaceMesh Imagem do personagem (1 a 3)
Imagem de controle do FaceMesh (1)Crie uma imagem ${STYLE_PROMPT} sobre SUBJECT_DESCRIPTION [1] na pose de CONTROL_IMAGE [2] para corresponder à descrição: um retrato de SUBJECT_DESCRIPTION [1] ${PROMPT} Crie uma imagem no estilo desenho animado 3D sobre a woman with short hair [1] na pose de control image [2] para corresponder à descrição: um retrato de a woman with short hair [1] no estilo desenho animado 3D com um fundo desfocado. Um personagem fofo e adorável com um rosto sorridente, de frente para a câmera, em tons pastel, de alta qualidade, 4k, obra-prima, superdetalhes, textura da pele, mapeamento de textura, sombras suaves, iluminação suave e realista, cores vibrantes Enviar uma solicitação de personalização controlada da Imagen 3
Use os exemplos a seguir para enviar uma solicitação de personalização controlada do Imagen 3:
REST
Antes de usar os dados da solicitação, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto do Google Cloud .
- 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 prompt de texto fornece orientações sobre quais imagens o modelo gera. Para usar a personalização controlada do Imagen 3, inclua o
referenceId
da imagem de referência de controle que você fornece no formato [$referenceId]. Por exemplo:- Gere uma imagem alinhada ao mapa de rabiscos [1] para corresponder à descrição: [image description].
- BASE64_CONTROL_IMAGE: a imagem de controle de base (esboço). A imagem precisa ser especificada como uma string de bytes codificada em base64.
ParaCONTROL_TYPE_SCRIBBLE
: a imagem de controle de rabisco esperada tem fundo preto e linha de rabisco branca.
ParaCONTROL_TYPE_CANNY
: a imagem de controle de borda nítida esperada tem fundo preto e bordas nítidas brancas. - CONTROL_TYPE: o tipo do sinal de controle. Use
CONTROL_TYPE_CANNY
para a borda de Canny. UseCONTROL_TYPE_SCRIBBLE
para rabiscar. enableControlImageComputation
: defina comofalse
se você fornecer sua própria imagem de controle. Nesse caso,B64_BASE_IMAGE
precisa ser a imagem do sinal de controle. Defina comotrue
se quiser que o Imagen calcule a imagem de controle com base na imagem de referência. Nesse caso,B64_BASE_IMAGE
precisa ser a imagem RGB bruta.- IMAGE_COUNT: o número de imagens geradas. Valores inteiros aceitos: 1 a 4. Valor padrão: 4.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
Corpo JSON da solicitação:
{ "instances": [ { "prompt": "TEXT_PROMPT", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_CONTROL", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_CONTROL_IMAGE" }, "controlImageConfig": { "controlType": "CONTROL_TYPE", "enableControlImageComputation": false } } ] } ], "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/imagen-3.0-capability-001: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/imagen-3.0-capability-001: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" } ] }
Python
Rabisco
Borda Canny
Enviar uma solicitação de personalização controlada do Imagen 2
Imagem de entrada Outros parâmetros Imagem de saída Imagem de entrada. Fonte da imagem: Alec Cutter em Unsplash. Comando: "versão de arte digital"
Comando negativo: "preto e branco"
Tipo de imagem de guia: RGB padrão
Condição de controle: borda nítida
Escala de controle do Imagen: 0,95
Imagem de entrada. Fonte da imagem: Alec Cutter em Unsplash
(detecção de borda nítida aplicada).Comando: "versão de arte digital"
Comando negativo: "preto e branco"
Tipo de imagem de guia: borda nítida
Escala de controle do Imagen: 0,95
Use os exemplos a seguir para enviar uma solicitação de personalização controlada do Imagen 2:
Console
-
No console do Google Cloud , acesse a página Vertex AI > Media Studio .
-
No painel inferior de tarefas, clique em
Editar imagem. -
Clique em Fazer upload para selecionar a imagem armazenada localmente a ser editada.
-
Na seção Modo do painel Parâmetros, clique em Controle.
-
Opcional. Modifique o Número de resultados, insira um Comando negativo ou modifique as Opções avançadas > Região.
-
Na seção Opções avançadas, selecione o Tipo de imagem de guia: RGB padrão, Borda nítida ou Rabisco.
-
Na seção Opções avançadas, selecione a Condição de controle: Borda nítida ou Rabisco.
-
No campo de comando (Escreva seu comando…), forneça um comando de texto.
-
Clique em
Gerar.
REST
Antes de usar os dados da solicitação, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto do Google Cloud .
- TEXT_PROMPT: o comando de texto que orienta quais imagens o modelo gera. Este campo é obrigatório para geração e edição.
- B64_BASE_IMAGE: a imagem de base que será editada ou aprimorada. A imagem precisa ser especificada como uma string de bytes codificada em base64. Limite de tamanho: 10 MB.
- EDIT_IMAGE_COUNT: o número de imagens editadas. Valor padrão: 4.
- 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).
-
CONDITION:
string
. É o tipo de sinal de imagem de controle fornecido. Valores:cannyEdges
ouscribble
. -
CONTROL_SCALE:
float
. A intensidade do sinal da imagem de controle. Valores:0.0
-1.0
. Valor padrão:0.95
. Faixa recomendada:0.9
-1.0
. -
SAMPLING_STEPS:
integer
. O número de etapas de amostragem. Valores:1
-30
. Padrão:16
. -
COMPUTE_CONDITION_MAP:
boolean
. Define se um mapa de condição será computado de acordo com a imagem de entrada base. Quando definido comofalse
, o serviço espera que a imagem de entrada seja um rabisco ou tenha bordas nítidas, e a imagem é fornecida diretamente ao modelo. Quando definido comotrue
, o serviço espera que a imagem de entrada seja RGB e calcula informações de borda nítida ou rabiscos da imagem de entrada com base emconditionName
. Em seguida, o serviço fornece o mapa de condição processado ao modelo para edição da imagem. Quando você fornece imagens de rabisco, elas precisam ter um fundo preto e linhas brancas que representem o objeto a ser gerado. Padrão:false
.
Método HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict
Corpo JSON da solicitação:
{ "instances": [ { "prompt": "TEXT_PROMPT", "image": { "bytesBase64Encoded": "B64_BASE_IMAGE" } } ], "parameters": { "sampleCount": EDIT_IMAGE_COUNT, "negativePrompt": "NEGATIVE_PROMPT", "controlPluginConfig": { "conditions": [ { "conditionName": "CONDITION", "controlScale": CONTROL_SCALE, "samplingSteps": SAMPLING_STEPS, "computeConditionMap": COMPUTE_CONDITION_MAP } ] } } }
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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" } ] }
Uso do produto
Para ver os padrões de uso e as restrições de conteúdo associados ao Imagen na Vertex AI, consulte as diretrizes de uso.
Versões do modelo
Há vários modelos de geração de imagens que podem ser usados. Para mais informações, consulte Modelos do Imagen.
A seguir
Confira artigos sobre o Imagen e outras IAs generativas nos produtos da Vertex AI:
- Guia para desenvolvedores sobre como começar a usar o Imagen 3 na Vertex AI
- Novos modelos e ferramentas de mídia generativa criados com criadores para criadores
- Novidades no Gemini: Gems personalizados e geração de imagens aprimorada com o Imagen 3
- Google DeepMind: Imagen 3 — Nosso modelo de qualidade mais alta para conversão de texto em imagem
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-04 UTC.