Melhorar uma imagem gerada, editada ou existente

É possível usar o Imagen no recurso de ampliação da Vertex AI para aumentar o tamanho de uma imagem sem perder a qualidade.

Versões do modelo

A disponibilidade do escalonamento vertical é baseada na versão do modelo:

Engenharia de Imagen (v.002) Imagen 2 (v.005) Imagen 2 (v.006)
Upscaling Sem suporte Sem suporte

Aumentar a resolução de uma imagem

Use os exemplos de código a seguir para melhorar uma imagem atual, gerada ou editada.

Console

  1. Siga as instruções para gerar imagem com texto.

  2. Selecione a imagem que você quer aumentar.

  3. Clique em Melhorar/exportar.

  4. Selecione Fazer upgrade das imagens.

  5. Escolha um valor em Fator de escala (2x ou 4x).

  6. Clique em Exportar para salvar a imagem ampliada.

REST

Para mais informações sobre solicitações de modelo imagegeneration, consulte a referência da API do modelo imagegeneration.

O modo de escalonamento vertical é um campo opcional no objeto parameters de um corpo de solicitação JSON. Ao refinar uma imagem usando a API, especifique "mode": "upscale" e upscaleConfig.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION: a região do seu projeto. Por exemplo, us-central1, europe-west2 ou asia-northeast3. Para uma lista de regiões disponíveis, consulte IA generativa em locais da Vertex AI.
  • PROJECT_ID: o ID do projeto do Google Cloud.
  • 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.
  • IMAGE_SOURCE: o local do Cloud Storage da imagem que você quer editar ou aprimorar. Por exemplo, gs://output-bucket/source-photos/photo.png.
  • UPSCALE_FACTOR: opcional. O fator para o qual a imagem será aumentada. Se não for especificado, o fator de luxo será determinado pelo lado maior da imagem de entrada e sampleImageSize. Valores disponíveis: x2 ou x4.

Método HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@002:predict

Corpo JSON da solicitação:

{
  "instances": [
    {
      "prompt": "",
      "image": {
        // use one of the following to specify the image to upscale
        "bytesBase64Encoded": "B64_BASE_IMAGE"
        "gcsUri": "IMAGE_SOURCE"
        // end of base image input options
      },
    }
  ],
  "parameters": {
    "sampleCount": 1,
    "mode": "upscale",
    "upscaleConfig": {
      "upscaleFactor": "UPSCALE_FACTOR"
    }
  }
}

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@002: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@002:predict" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "iVBOR..[base64-encoded-upscaled-image]...YII="
    }
  ]
}

A seguir