虛擬試穿 API

虛擬試裝功能可生成模特兒穿著服裝產品的圖片。你提供人物圖片和服裝產品範例,然後使用虛擬試裝功能生成人物穿著產品的圖片。

支援的模型版本

虛擬試妝功能支援下列機型:

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

如要進一步瞭解模型支援的功能,請參閱 Imagen 模型

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
    }
  }
}'
執行個體

personImage

string

這是必要旗標,試穿服裝產品的模特兒圖片,可以是下列任一形式:

  • 編碼圖片的 bytesBase64Encoded 字串。
  • Cloud Storage 值區位置的 gcsUri 字串 URI。

productImages

string

這是必要旗標,產品試穿圖片,可以是下列任一形式:

  • 編碼圖片的 bytesBase64Encoded 字串。
  • Cloud Storage 值區位置的 gcsUri 字串 URI。
參數
addWatermark

bool

(選用步驟) 在生成的圖片中加入隱形浮水印。

預設值為 true

baseSteps

int

這是必要旗標,控制圖像生成的整數,步數越高,圖像品質越好,但延遲時間會增加。

大於 0 的整數值。預設值為 32

personGeneration

string

(選用步驟) 允許模型生成人物。支援的值如下:

  • "dont_allow":禁止在圖片中加入人物或臉部。
  • "allow_adult":僅允許生成成人內容。
  • "allow_all":允許生成所有年齡層的人物。

預設值為 "allow_adult"

safetySetting

string

(選用步驟) 為安全篩選功能新增篩選等級。支援的值如下:

  • "block_low_and_above":最強的篩選層級,封鎖最嚴格。已淘汰的值:"block_most"
  • "block_medium_and_above":封鎖部分有問題的提示和回覆。已淘汰的值:"block_some"
  • "block_only_high":減少因安全篩選器而遭到封鎖的要求數量。Imagen 生成的內容可能令人反感。已淘汰的值: "block_few"
  • "block_none":封鎖極少數有問題的提示和回覆。這項功能僅開放部分帳戶使用。先前欄位值:"block_fewest"

預設值為 "block_medium_and_above"

sampleCount

int

這是必要旗標,要生成的圖片數量。

介於 14 之間的整數值 (最小值和最大值包含在內)。預設值為 1

seed

Uint32

(選用步驟) 生成圖片的隨機種子。如果 addWatermark 設為 true,就無法使用這項功能。

storageUri

string

(選用步驟) Cloud Storage 值區位置的字串 URI,用於儲存產生的圖片。

outputOptions

outputOptions

(選用步驟) 說明 outputOptions 物件中的輸出圖片格式

輸出選項物件

outputOptions 物件會說明圖片輸出內容。

參數
outputOptions.mimeType

自由參加:string

圖片輸出格式。支援的值如下:

  • "image/png":儲存為 PNG 圖片
  • "image/jpeg":儲存為 JPEG 圖片

預設值為 "image/png"

outputOptions.compressionQuality

自由參加:int

如果輸出類型為 "image/jpeg",則為壓縮程度。可接受的值為 0100。預設值為 75

要求範例

REST

使用任何要求資料之前,請先替換以下項目:

  • REGION:專案所在的區域。如要進一步瞭解支援的區域,請參閱「Vertex AI 的生成式 AI 服務地區」。
  • PROJECT_ID:您的 Google Cloud 專案 ID
  • BASE64_PERSON_IMAGE:採用 Base64 編碼的人像圖片。
  • BASE64_PRODUCT_IMAGE:產品圖片的 Base64 編碼圖片。
  • IMAGE_COUNT:要生成的圖片數量。可接受的值範圍為 14
  • GCS_OUTPUT_PATH:儲存虛擬試穿輸出內容的 Cloud Storage 路徑。

HTTP 方法和網址:

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

JSON 要求主體:

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

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$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
要求會傳回圖片物件。在本例中,系統會傳回兩個圖片物件,並以 Base64 編碼圖片的形式提供兩個預測物件。
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}