Virtual Try-On API

Dengan fitur Coba Virtual, Anda dapat membuat gambar orang yang sedang mengenakan produk pakaian. Anda memberikan gambar seseorang dan produk pakaian sampel, lalu Anda menggunakan Coba Virtual untuk membuat gambar orang yang mengenakan produk tersebut.

Versi model yang didukung

Coba Virtual mendukung model berikut:

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

Untuk mengetahui informasi selengkapnya tentang fitur yang didukung model, lihat Model Imagen.

Permintaan HTTP

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
    }
  }
}'
Instance

personImage

string

Wajib. Gambar orang yang mencoba produk pakaian, yang dapat berupa salah satu dari berikut:

  • String bytesBase64Encoded yang mengenkode gambar.
  • URI string gcsUri ke lokasi bucket Cloud Storage.

productImages

string

Wajib. Gambar produk untuk dicoba pada seseorang, yang dapat berupa salah satu dari berikut ini:

  • String bytesBase64Encoded yang mengenkode gambar.
  • URI string gcsUri ke lokasi bucket Cloud Storage.
Parameter
addWatermark

bool

Opsional. Menambahkan watermark tak terlihat ke gambar yang dihasilkan.

Nilai defaultnya adalah true.

baseSteps

int

Wajib. Bilangan bulat yang mengontrol pembuatan gambar, dengan langkah-langkah yang lebih tinggi menghasilkan kualitas yang lebih tinggi dengan latensi yang lebih tinggi.

Nilai bilangan bulat yang lebih besar dari 0. Defaultnya adalah 32.

personGeneration

string

Opsional. Izinkan pembuatan gambar orang oleh model. Nilai berikut didukung:

  • "dont_allow": Melarang penyertaan orang atau wajah dalam gambar.
  • "allow_adult": Hanya mengizinkan pembuatan konten dewasa.
  • "allow_all": Izinkan pembuatan gambar orang dari segala usia.

Nilai defaultnya adalah "allow_adult".

safetySetting

string

Opsional. Menambahkan tingkat filter ke pemfilteran keamanan. Nilai berikut didukung:

  • "block_low_and_above": Tingkat pemfilteran terkuat, pemblokiran paling ketat. Nilai yang tidak digunakan lagi: "block_most".
  • "block_medium_and_above": Memblokir beberapa perintah dan respons yang bermasalah. Nilai yang tidak digunakan lagi: "block_some".
  • "block_only_high": Mengurangi jumlah permintaan yang diblokir karena filter keamanan. Dapat meningkatkan konten tidak pantas yang dihasilkan oleh Imagen. Nilai yang tidak digunakan lagi: "block_few".
  • "block_none": Memblokir sangat sedikit perintah dan respons yang bermasalah. Akses ke fitur ini dibatasi. Nilai kolom sebelumnya: "block_fewest".

Nilai defaultnya adalah "block_medium_and_above".

sampleCount

int

Wajib. Jumlah gambar yang akan dibuat.

Nilai bilangan bulat antara 1 dan 4, inklusif. Nilai defaultnya adalah 1.

seed

Uint32

Opsional. Seed acak untuk pembuatan gambar. Fitur ini tidak tersedia jika addWatermark ditetapkan ke true.

storageUri

string

Opsional. URI string ke lokasi bucket Cloud Storage untuk menyimpan gambar yang dihasilkan.

outputOptions

outputOptions

Opsional. Mendeskripsikan format gambar output dalam objek outputOptions.

Objek opsi output

Objek outputOptions menjelaskan output gambar.

Parameter
outputOptions.mimeType

Opsional: string

Format output gambar. Nilai-nilai berikut didukung:

  • "image/png": Menyimpan sebagai gambar PNG
  • "image/jpeg": Simpan sebagai gambar JPEG

Nilai defaultnya adalah "image/png".

outputOptions.compressionQuality

Opsional: int

Tingkat kompresi jika jenis outputnya adalah "image/jpeg". Nilai yang diterima adalah 0 hingga 100. Nilai defaultnya adalah 75.

Permintaan sampel

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • REGION: Region tempat project Anda berada. Untuk mengetahui informasi selengkapnya tentang region yang didukung, lihat Lokasi AI Generatif di Vertex AI.
  • PROJECT_ID: Google Cloud Project ID Anda.
  • BASE64_PERSON_IMAGE: Gambar orang yang dienkode Base64.
  • BASE64_PRODUCT_IMAGE: Gambar produk yang dienkode Base64.
  • IMAGE_COUNT: Jumlah gambar yang akan dibuat. Rentang nilai yang diterima adalah 1 hingga 4.
  • GCS_OUTPUT_PATH: Jalur Cloud Storage untuk menyimpan output coba virtual.

Metode HTTP dan URL:

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

Isi JSON permintaan:

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

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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
Permintaan ini menampilkan objek gambar. Dalam contoh ini, dua objek gambar ditampilkan, dengan dua objek prediksi sebagai gambar berenkode base64.
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}