Virtual Try-On API

Mit dem virtuellen Anprobetool können Sie Bilder von Personen generieren, die Bekleidungsprodukte präsentieren. Sie stellen ein Bild einer Person und ein Beispiel für ein Bekleidungsprodukt bereit und verwenden dann Virtual Try-On, um Bilder der Person zu generieren, die das Produkt trägt.

Unterstützte Modellversionen

Virtual Try-On unterstützt die folgenden Modelle:

  • virtual-try-on-preview-08-04

Weitere Informationen zu den vom Modell unterstützten Funktionen finden Sie unter Imagen-Modelle.

HTTP-Anfrage

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:predict \

-d '{
  "instances": [
    {
      "personImage": {
        "image": {
          // Union field can be only one of the following:
          "bytesBase64Encoded": string,
          "gcsUri": string,
        }
      },
      "productImages": [
        {
          "image": {
            // Union field can be only one of the following:
            "bytesBase64Encoded": string,
            "gcsUri": string,
          }
        }
      ]
    }
  ],
  "parameters": {
    "addWatermark": boolean,
    "baseSteps": integer,
    "personGeneration": string,
    "safetySetting": string,
    "sampleCount": integer,
    "seed": integer,
    "storageUri": string,
    "outputOptions": {
      "mimeType": string,
      "compressionQuality": integer
    }
  }
}'
Instanzen

personImage

string

Pflichtangabe. Ein Bild einer Person, die das Bekleidungsprodukt anprobiert. Das Bild kann Folgendes zeigen:

  • Ein bytesBase64Encoded-String, der ein Bild codiert.
  • Ein gcsUri-String-URI für einen Cloud Storage-Bucket-Speicherort.

productImages

string

Pflichtangabe. Ein Bild eines Produkts, das an einer Person anprobiert werden soll. Das Bild kann Folgendes sein:

  • Ein bytesBase64Encoded-String, der ein Bild codiert.
  • Ein gcsUri-String-URI für einen Cloud Storage-Bucket-Speicherort.
Parameter
addWatermark

bool

Optional. Fügen Sie den generierten Bildern ein unsichtbares Wasserzeichen hinzu.

Der Standardwert ist true.

baseSteps

int

Pflichtangabe. Eine Ganzzahl, die die Bildgenerierung steuert. Bei höheren Werten wird eine höhere Qualität gegen eine höhere Latenz eingetauscht.

Ganzzahlwerte größer als 0. Die Standardeinstellung ist 32.

personGeneration

string

Optional. Das Modell darf Bilder von Personen generieren. Folgende Werte werden unterstützt:

  • "dont_allow": Personen oder Gesichter in Bildern nicht zulassen.
  • "allow_adult": Nur Generierung von Erwachsenen zulassen.
  • "allow_all": Ermöglicht die Generierung von Personen aller Altersgruppen.

Der Standardwert ist "allow_adult".

safetySetting

string

Optional. Fügt der Sicherheitsfilterung eine Filterebene hinzu. Folgende Werte werden unterstützt:

  • "block_low_and_above": Stärkste Filterebene, strengste Blockierung. Veralteter Wert: "block_most".
  • "block_medium_and_above": Einige problematische Prompts und Antworten blockieren. Veralteter Wert: "block_some".
  • "block_only_high": Reduziert die Anzahl der Anfragen, die aufgrund von Sicherheitsfiltern blockiert werden. Kann dazu führen, dass Imagen mehr anstößige Inhalte generiert. Veralteter Wert: "block_few".
  • "block_none": Sehr wenige problematische Prompts und Antworten blockieren. Der Zugriff auf diese Funktion ist eingeschränkt. Vorheriger Feldwert: "block_fewest".

Der Standardwert ist "block_medium_and_above".

sampleCount

int

Pflichtangabe. Die Anzahl der zu generierenden Bilder.

Ganzzahliger Wert zwischen 1 und 4 (einschließlich). Der Standardwert ist 1.

seed

Uint32

Optional. Der Zufalls-Seed für die Bildgenerierung. Diese Option ist nicht verfügbar, wenn addWatermark auf true festgelegt ist.

storageUri

string

Optional. Ein String-URI für einen Cloud Storage-Bucket-Speicherort zum Speichern der generierten Bilder.

outputOptions

outputOptions

Optional. Beschreibt das Ausgabeformat des Bildes in einem outputOptions-Objekt.

Objekt für Ausgabeoptionen

Das outputOptions-Objekt beschreibt die Bildausgabe.

Parameter
outputOptions.mimeType

Optional: string

Das Bildausgabeformat. Folgende Werte werden unterstützt:

  • "image/png": Als PNG-Bild speichern
  • "image/jpeg": Als JPEG-Bild speichern

Der Standardwert ist "image/png".

outputOptions.compressionQuality

Optional: int

Der Komprimierungsgrad, wenn der Ausgabetyp "image/jpeg" ist. Zulässige Werte sind 0 bis 100. Der Standardwert ist 75.

Beispielanfrage

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • REGION: Die Region, in der sich Ihr Projekt befindet. Weitere Informationen zu unterstützten Regionen finden Sie unter Generative AI an Vertex AI-Standorten.
  • PROJECT_ID: Ihre Google Cloud Projekt-ID.
  • BASE64_PERSON_IMAGE: Das Base64-codierte Bild der Person.
  • BASE64_PRODUCT_IMAGE: Das Base64-codierte Bild des Produktbilds.
  • IMAGE_COUNT: Die Anzahl der zu generierenden Bilder. Der zulässige Wertebereich liegt zwischen 1 und 4.
  • GCS_OUTPUT_PATH: Der Cloud Storage-Pfad zum Speichern der Ausgabe des virtuellen Anprobierens.

HTTP-Methode und URL:

POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/virtual-try-on-preview-08-04:predict

JSON-Text der Anfrage:

{
  "instances": [
    {
      "personImage": {
        "image": {
          "bytesBase64Encoded": "BASE64_PERSON_IMAGE"
        }
      },
      "productImages": [
        {
          "image": {
            "bytesBase64Encoded": "BASE64_PRODUCT_IMAGE"
          }
        }
      ]
    }
  ],
  "parameters": {
    "sampleCount": IMAGE_COUNT,
    "storageUri": "GCS_OUTPUT_PATH"
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/virtual-try-on-preview-08-04:predict"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/virtual-try-on-preview-08-04:predict" | Select-Object -Expand Content
Bei der Anfrage werden Bildobjekte zurückgegeben. In diesem Beispiel werden zwei Bildobjekte mit zwei Vorhersageobjekten als base64-codierte Bilder zurückgegeben.
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}