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 si basa sulla 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 la generazione di immagini con testo per generare le immagini.

  2. Seleziona l'immagine da ridimensionare.

  3. Fai clic su Escalate/esporta.

  4. Seleziona Aumenta la risoluzione delle immagini.

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

  6. Fai clic su Esporta per salvare l'immagine upscalata.

REST

Per ulteriori informazioni sulle richieste del modello imagegeneration, consulta la documentazione di riferimento dell'API del modello imagegeneration.

La modalità di upscaling è un campo facoltativo nell'oggetto parameters di un corpo della richiesta JSON. Quando esegui l'upscaling 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 progetto. Ad esempio, us-central1, europe-west2 o asia-northeast3. Per un elenco delle regioni disponibili, consulta Località dell'IA generativa su Vertex AI.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • B64_BASE_IMAGE: l'immagine di base da modificare o aumentare di risoluzione. L'immagine deve essere specificata come stringa di byte codificata in base64. Dimensioni massime: 10 MB.
  • IMAGE_SOURCE: la posizione in Cloud Storage dell'immagine che vuoi modificare o ridimensionare. Ad esempio: gs://output-bucket/source-photos/photo.png.
  • UPSCALE_FACTOR: facoltativo. Il fattore di cui verrà aumentata la risoluzione dell'immagine. Se non viene specificato, il fattore di aumento verrà determinato dal lato più lungo dell'immagine di input e da 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 delle seguenti 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 su altri prodotti di IA generativa su Vertex AI: