Esta página descreve a expansão de imagens. Com o desvio, você usa o Imagen para ampliar o conteúdo de uma imagem para uma área maior ou com dimensões diferentes.
Exemplo de outpainting
Outpainting é uma técnica sofisticada de edição baseada em máscaras que permite expandir o conteúdo de uma imagem de base para caber em uma tela de máscara maior ou de tamanho diferente.
![]() Fonte da imagem: Kari Shea no Unsplash. |
![]() |
![]() |
Ver o card do modelo do Imagen para edição e personalização
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.
-
Make sure 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.
-
Make sure 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.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud .
Node.js
Para usar os exemplos Node.js desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud .
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud .
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.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud .
Ampliar o conteúdo de uma imagem
Use os exemplos de código a seguir para expandir o conteúdo de uma imagem atual.
Imagen 3
Use os exemplos a seguir para enviar uma solicitação de expansão usando o modelo Imagen 3.
Console
-
No Google Cloud console, acesse a página Vertex AI > Media Studio .
- Clique em Fazer upload. Na caixa de diálogo de arquivos exibida, selecione um arquivo para fazer upload.
- Clique em Expansão.
- No menu Expansão, selecione uma das proporções predefinidas para sua imagem final ou clique em Personalizar para definir dimensões personalizadas para sua imagem final.
-
Na barra de ferramentas de edição, selecione o posicionamento da imagem:
- Alinhar à esquerda:
- Alinhamento horizontal ao centro:
- Alinhar à direita:
- Alinhamento na parte de cima:
- Alinhamento vertical ao centro:
- Alinhamento na parte de baixo:
-
Opcional: no painel Parâmetros, ajuste as seguintes opções:
- Modelo: o modelo do Imagen a ser usado
- Número de resultados: o número de resultados a serem gerados.
- Comando negativo: itens a serem evitados na geração
- No campo de comando, digite um comando para modificar a imagem.
- Clique em Gerar.
Python
Instalar
pip install --upgrade google-genai
Para saber mais, consulte a documentação de referência do SDK.
Defina variáveis de ambiente para usar o SDK de IA generativa com a Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=True
REST
Para mais informações, consulte a referência da API Editar imagens.
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 .
- 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. prompt
: para outpainting de imagens, é possível fornecer uma string vazia para criar as imagens editadas. Se você optar por fornecer um comando, use uma descrição da área mascarada para ter os melhores resultados. Por exemplo, "um céu azul" em vez de "insira um céu azul".referenceType
: umReferenceImage
é uma imagem que fornece contexto adicional para edição de imagens. Uma imagem de referência bruta RGB normal (REFERENCE_TYPE_RAW
) é necessária para casos de uso de edição. No máximo, uma imagem de referência bruta pode existir em uma solicitação. A imagem de saída tem a mesma altura e largura da imagem de referência bruta. Uma imagem de referência de máscara (REFERENCE_TYPE_MASK
) é necessária para casos de uso de edição mascarada. Se uma imagem de referência bruta estiver presente, a imagem da máscara precisará ter a mesma altura e largura da imagem de referência bruta. Se a imagem de referência da máscara estiver vazia emaskMode
não estiver definido comoMASK_MODE_USER_PROVIDED
, a máscara será calculada com base na imagem de referência bruta.- 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.
- B64_OUTPAINTING_MASK: a imagem em preto e branco que você quer usar como uma camada de máscara para editar a imagem original. A máscara precisa ter a mesma resolução da imagem de entrada. A imagem de saída terá a mesma resolução da imagem de entrada. Essa imagem de máscara precisa ser especificada como uma string de bytes codificada em base64. Limite de tamanho: 10 MB.
- MASK_DILATION: ponto flutuante. A porcentagem da largura da imagem para dilatar essa máscara. Um valor de
0.03
é recomendado para a expansão da imagem. Definir"dilation": 0.0
pode resultar em bordas óbvias no ponto de extensão ou causar um efeito de borda branca. - EDIT_STEPS: número inteiro. O número de etapas de amostragem para o modelo de base. Para
expansão da imagem, comece com
35
etapas. Aumente as etapas se a qualidade não atender aos seus requisitos. - EDIT_IMAGE_COUNT: o número de imagens editadas. 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": "", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_RAW", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "B64_BASE_IMAGE" } }, { "referenceType": "REFERENCE_TYPE_MASK", "referenceId": 2, "referenceImage": { "bytesBase64Encoded": "B64_OUTPAINTING_MASK" }, "maskImageConfig": { "maskMode": "MASK_MODE_USER_PROVIDED", "dilation": MASK_DILATION } } ] } ], "parameters": { "editConfig": { "baseSteps": EDIT_STEPS }, "editMode": "EDIT_MODE_OUTPAINT", "sampleCount": EDIT_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" } ] }
Imagen 2
Use os exemplos a seguir para enviar uma solicitação de expansão usando o modelo Imagen 2.
Console
-
No Google Cloud console, 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 do produto armazenada localmente a ser editada.
-
Na barra de ferramentas de edição, clique em
Retoque. -
Selecione uma das proporções predefinidas para sua imagem final ou clique em Personalizar para definir dimensões personalizadas para sua imagem final.
-
Opcional. Na barra de ferramentas de edição, selecione a posição horizontal (
à esquerda, central horizontal ou à direita) e a vertical ( superior, central vertical ou alinhamento inferior) da imagem original na tela da imagem a ser gerada. -
Opcional. No painel Parâmetros, ajuste o Número de resultados ou outros parâmetros.
-
Clique em
Gerar.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
REST
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 .
- 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. prompt
: para outpainting de imagens, é possível fornecer uma string vazia para criar as imagens editadas.- 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.
- B64_OUTPAINTING_MASK: a imagem em preto e branco que você quer usar como uma camada de máscara para editar a imagem original. A máscara precisa ter a mesma resolução da imagem de entrada. A imagem de saída terá a mesma resolução da imagem de entrada. Essa imagem de máscara 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.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@006:predict
Corpo JSON da solicitação:
{ "instances": [ { "prompt": "", "image": { "bytesBase64Encoded": "B64_BASE_IMAGE" }, "mask": { "image": { "bytesBase64Encoded": "B64_OUTPAINTING_MASK" } } } ], "parameters": { "sampleCount": EDIT_IMAGE_COUNT, "editConfig": { "editMode": "outpainting" } } }
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/imagegeneration@006: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/imagegeneration@006: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" } ] }
Java
Antes de testar essa amostra, siga as instruções de configuração para Java Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Neste exemplo, você especifica o modelo como parte de um
EndpointName
. OEndpointName
é transmitido ao métodopredict
, que é chamado em umPredictionServiceClient
. O serviço retorna uma versão editada da imagem, que é salva localmente.Node.js
Antes de testar esse exemplo, siga as instruções de configuração para Node.js no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Neste exemplo, você chama o métodopredict
em umPredictionServiceClient
. O serviço gera imagens que são salvas localmente.Limitações
O modelo pode produzir detalhes distorcidos se a imagem ampliada for expandida em 200% ou mais em relação à original. Como prática recomendada, adicione uma etapa de pós-processamento para executar a fusão alfa em imagens com expansão.
O código a seguir é um exemplo de pós-processamento:
parameters = { "editConfig": { "outpaintingConfig": { "blendingMode": "alpha-blending", "blendingFactor": 0.01, }, }, }
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-07-16 UTC.
-