Mejora una imagen generada, editada o existente

Puedes usar la función de mejora 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 mejora se basa en la versión del modelo:

Atributo Imagen (v.002) Imagen 2 (v.005) Imagen 2 (v.006)
Mejora de la resolución No compatible No compatible

Mejora una imagen

Usa las siguientes muestras de código para mejorar una imagen existente, generada o editada.

Console

  1. Sigue las instrucciones para generar una imagen con texto a fin de generar imágenes.

  2. Selecciona la imagen que deseas mejorar.

  3. Haz clic en Mejorar/exportar.

  4. Selecciona Mejorar imágenes.

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

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

REST

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

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: La región del proyecto. Por ejemplo, us-central1, europe-west2 o asia-northeast3. Para obtener una lista de las regiones disponibles, consulta IA generativa en ubicaciones de Vertex AI.
  • PROJECT_ID: El ID del proyecto de Google Cloud.
  • B64_BASE_IMAGE: La imagen base que se editará o mejorará. La imagen debe especificarse como una cadena de bytes codificada en base64. Límite de tamaño: 10 MB.
  • IMAGE_SOURCE: La ubicación de Cloud Storage de la imagen que deseas editar o mejorar. Por ejemplo: gs://output-bucket/source-photos/photo.png.
  • UPSCALE_FACTOR: Opcional El factor al que se ampliará la imagen. Si no se especifica, el factor de mejora se determinará a partir del lado más largo de la imagen de entrada y sampleImageSize. Valores disponibles: x2 o x4 .

HTTP method and URL:

POST http://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 \
"http://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 "http://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 que se muestra a continuación:

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

¿Qué sigue?