Aumente a resolução de uma imagem gerada, editada ou existente

Pode usar a funcionalidade de escalabilidade do Imagen no Vertex AI para aumentar o tamanho de uma imagem sem perder qualidade.

Versões do modelo

A disponibilidade da melhoria é baseada na versão do modelo:

Funcionalidade Imagen (v.002) Imagen 2 (v.005) Imagen 2 (v.006)
Aumentar a resolução Não suportado Não suportado

Redimensione uma imagem

Use os seguintes exemplos de código para aumentar a escala de uma imagem existente, gerada ou editada.

Consola

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

  2. Selecione a imagem para redimensionar.

  3. Clique em Aumentar/exportar.

  4. Selecione Aumentar a escala das imagens.

  5. Escolha um valor no Fator de dimensionamento (2x ou 4x).

  6. Clique em Exportar para guardar a imagem com melhoramento.

REST

Para mais informações sobre os pedidos de modelos imagegeneration, consulte a imagegeneration referência da API de modelos.

O modo de aumento da escala é um campo opcional no objeto parameters de um corpo do pedido JSON. Quando aumenta a escala de uma imagem através da API, especifique "mode": "upscale" e upscaleConfig.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION: a região do seu projeto. Por exemplo, us-central1, europe-west2 ou asia-northeast3. Para ver uma lista das regiões disponíveis, consulte Localizações da IA generativa na Vertex AI.
  • PROJECT_ID: o seu Google Cloud ID do projeto.
  • B64_BASE_IMAGE: a imagem base a editar ou aumentar. A imagem tem de ser especificada como uma string de bytes codificada em base64. Limite de tamanho: 10 MB.
  • IMAGE_SOURCE: A localização no Cloud Storage da imagem que quer editar ou aumentar. Por exemplo: gs://output-bucket/source-photos/photo.png.
  • UPSCALE_FACTOR: opcional. O fator pelo qual a imagem vai ser redimensionada. Se não for especificado, o fator de aumento é determinado a partir do lado mais longo 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 do pedido:

{
  "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 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@002: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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@002:predict" | Select-Object -Expand Content

Deve receber uma resposta JSON semelhante à seguinte:

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

O que se segue?

Leia artigos sobre o Imagen e outros produtos de IA generativa na Vertex AI: