Augmenter la résolution d'une image générée, modifiée ou existante

Vous pouvez utiliser la fonctionnalité d'augmentation de la résolution d'Imagen sur Vertex AI pour augmenter la taille d'une image sans perdre en qualité.

Versions de modèle

La disponibilité de l'augmentation de la résolution est basée sur la version du modèle :

Caractéristique Imagen (v.002) Imagen 2 (v.005) Imagen 2 (v.006)
Augmentation de la résolution Non compatible Non compatible

Améliorer une image

Utilisez les exemples de code suivants pour améliorer la résolution d'une image existante, générée ou modifiée.

Console

  1. Suivez les instructions de la page Générer une image avec du texte pour générer des images.

  2. Sélectionnez l'image à améliorer.

  3. Cliquez sur Augmenter la résolution/exporter.

  4. Sélectionnez Améliorer les images.

  5. Choisissez une valeur dans le facteur de scaling (2x ou 4x).

  6. Cliquez sur Exporter pour enregistrer l'image améliorée.

REST

Pour en savoir plus sur les requêtes de modèle imagegeneration, consultez la documentation de référence de l'API de modèle imagegeneration.

Le mode d'amélioration est un champ facultatif de l'objet parameters du corps d'une requête JSON. Lorsque vous améliorez une image à l'aide de l'API, spécifiez "mode": "upscale" et upscaleConfig.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région de votre projet. Par exemple, us-central1, europe-west2 ou asia-northeast3. Pour obtenir la liste des régions disponibles, consultez la section Emplacements IA générative sur Vertex AI.
  • PROJECT_ID : L'ID de votre projet Google Cloud.
  • B64_BASE_IMAGE : image de base à modifier ou à améliorer. L'image doit être spécifiée en tant que chaîne d'octets encodée en base64. Limite de taille : 10 Mo.
  • IMAGE_SOURCE : emplacement Cloud Storage de l'image que vous souhaitez modifier ou améliorer. Exemple : gs://output-bucket/source-photos/photo.png.
  • UPSCALE_FACTOR : facultatif. Facteur auquel l'image sera améliorée. S'il n'est pas spécifié, le facteur d'amélioration sera déterminé par le côté le plus long de l'image d'entrée et par sampleImageSize. Valeurs disponibles : x2 ou x4 .

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$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

Vous devriez recevoir une réponse JSON de ce type :

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

Étapes suivantes