Aumentar la resolución de una imagen generada, editada o actual

Puedes usar la función de mejora de resolución de Imagen en Vertex AI para aumentar el tamaño de una imagen sin perder calidad.

Versiones del modelo

La disponibilidad de la función de aumento de resolución depende de la versión del modelo:

Función Imagen (v.002) Imagen 2 (v.005) Imagen 2 (v.006)
Upscaling No compatible No compatible

Ampliar una imagen

Usa los siguientes ejemplos de código para aumentar la resolución de una imagen que ya tengas, que hayas generado o que hayas editado.

Consola

  1. Sigue las instrucciones para generar imágenes con texto.

  2. Selecciona la imagen para aumentar su resolución.

  3. Haz clic en Mejorar/exportar.

  4. Selecciona Ampliar imágenes.

  5. Elige un valor de Factor de escala (2x o 4x).

  6. Haz clic en Exportar para guardar la imagen ampliada.

REST

Para obtener más información sobre las solicitudes de modelos imagegeneration, consulta la referencia de la API de modelos imagegeneration.

El modo de aumento de resolución es un campo opcional del objeto parameters de un cuerpo de solicitud JSON. Cuando aumentes la resolución de una imagen con la API, especifica "mode": "upscale" y upscaleConfig.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • LOCATION: la región de tu proyecto. Por ejemplo, us-central1, europe-west2 o asia-northeast3. Para ver una lista de las regiones disponibles, consulta Ubicaciones de la IA generativa en Vertex AI.
  • PROJECT_ID: tu Google Cloud ID de proyecto.
  • B64_BASE_IMAGE: la imagen base que quieres editar o aumentar de resolución. La imagen debe especificarse como una cadena de bytes codificada en Base64. Tamaño máximo: 10 MB.
  • IMAGE_SOURCE: Ubicación de Cloud Storage de la imagen que quieres editar o aumentar de resolución. Por ejemplo: gs://output-bucket/source-photos/photo.png.
  • UPSCALE_FACTOR: opcional. Factor por el que se ampliará la imagen. Si no se especifica, el factor de aumento se determinará a partir del lado más largo de la imagen de entrada y sampleImageSize. Valores disponibles: x2 o x4 .

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  "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 tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Deberías recibir una respuesta JSON similar a la siguiente:

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

Siguientes pasos

Consulta artículos sobre Imagen y otros productos de IA generativa en Vertex AI: