Eseguire l'upscaling di un'immagine generata, modificata o esistente

Puoi utilizzare la funzionalità di upscaling di Imagen su Vertex AI per aumentare le dimensioni di un'immagine senza perdere qualità.

Versioni modello

La disponibilità dell'upscaling dipende dalla versione del modello:

Funzionalità Imagen (v.002) Imagen 2 (v.005) Imagen 2 (v.006)
Upscale Non supportata Non supportata

Aumentare la risoluzione di un'immagine

Utilizza i seguenti esempi di codice per eseguire l'upscaling di un'immagine esistente, generata o modificata.

Console

  1. Segui le istruzioni per generare immagini con testo.

  2. Seleziona l'immagine da migliorare.

  3. Fai clic su Upscale/export (Upscale/esporta).

  4. Seleziona Aumenta la risoluzione delle immagini.

  5. Scegli un valore dal fattore di scala (2x o 4x).

  6. Fai clic su Esporta per salvare l'immagine con upscaling.

REST

Per ulteriori informazioni sulle richieste del modello imagegeneration, consulta il riferimento API del modello imagegeneration.

La modalità di upscaling è un campo facoltativo nell'oggetto parameters di un corpo della richiesta JSON. Quando aumenti la risoluzione di un'immagine utilizzando l'API, specifica "mode": "upscale" e upscaleConfig.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: la regione del tuo progetto. Ad esempio, us-central1, europe-west2 o asia-northeast3. Per un elenco delle regioni disponibili, consulta Località dell'AI generativa su Vertex AI.
  • PROJECT_ID: il tuo Google Cloud ID progetto.
  • B64_BASE_IMAGE: L'immagine di base da modificare o aumentare di risoluzione. L'immagine deve essere specificata come stringa di byte con codifica base64. Dimensioni massime: 10 MB.
  • IMAGE_SOURCE: La posizione Cloud Storage dell'immagine che vuoi modificare o aumentare di risoluzione. Ad esempio: gs://output-bucket/source-photos/photo.png.
  • UPSCALE_FACTOR: (Facoltativo). Il fattore in base al quale verrà aumentata la risoluzione dell'immagine. Se non specificato, il fattore di upscaling verrà determinato dal lato più lungo dell'immagine di input e sampleImageSize. Valori disponibili: x2 o x4 .

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "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"
    }
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Passaggi successivi

Leggi gli articoli su Imagen e altri prodotti di AI generativa su Vertex AI: