Vertex AI の Imagen Product Recontext API を使用すると、商品画像をさまざまなシーンや背景に編集できます。商品の画像とプロンプトを指定すると、Imagen product recontext は、新しいシーンや異なる背景で商品画像を生成します。
Imagen Product Recontext へのアクセスをリクエストするには、Vertex AI - マーケティング用生成メディアへのアクセス リクエスト フォームを使用してください。
サポートされているモデル バージョン
Imagen の商品リコンテキストは、次のモデルをサポートしています。
- imagen-product-recontext-preview-06-30
モデルでサポートされている機能の詳細については、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": [
    {
      "prompt": string,
      "productImages": [
        // The following fields can be repeated up to 3 times for different
        // views of the same product.
        {
          "image": {
            // Union field can be only one of the following:
            "bytesBase64Encoded": string,
            "gcsUri": string,
            // End of list of possible types for union field.
          },
        }
      ]
    }
  ],
  "parameters": {
    "addWatermark": boolean,
    "enhancePrompt": boolean
    "personGeneration": string,
    "safetySetting": string,
    "sampleCount": integer,
    "seed": integer,
    "storageUri": string,
    "outputOptions": {
      "mimeType": string,
      "compressionQuality": integer
    }
  }
}'
インスタンス
| インスタンス | |
|---|---|
| prompt | 
 省略可。シーンの生成をガイドするテキスト プロンプト。 | 
| productImages | 
 
          同じ商品のさまざまなビューの 
           | 
productImages オブジェクト
productImages オブジェクトは、さまざまなシーンや背景に配置する画像アセットを記述します。
| productImages | |
|---|---|
| 共用体フィールド  
           | |
| bytesBase64Encoded | 
 画像ファイルまたは動画ファイルの base64 文字列でエンコードされたバイト。 | 
| gcsUri | 
 Cloud Storage バケットのロケーションへの文字列 URI。 | 
パラメータ
| パラメータ | |
|---|---|
| addWatermark | 
 省略可。生成された画像に目に見えない透かしを追加します。 
          デフォルト値は  | 
| enhancePrompt | 
 省略可。LLM ベースのプロンプト書き換え機能を使用して、元のプロンプトの意図をより反映した高品質の画像を生成するためのオプション パラメータ。この機能を無効にすると、画像の品質やプロンプトへの準拠に影響する可能性があります。 
          デフォルト値は  | 
| personGeneration | 
 省略可。モデルによって人物の画像が生成されるようにします。次の値を使用できます。 
 デフォルト値は  | 
| safetySetting | 
 省略可。安全フィルタリングにフィルタレベルを追加します。次の値を使用できます。 
 デフォルト値は  | 
| 
 | 
 生成する画像の数。 
           | 
| seed | 
 
          省略可。画像生成用の乱数シード。 
           | 
| storageUri | 
 省略可。生成された画像を保存するために使用される Cloud Storage バケットの場所への文字列 URI。Cloud Storage バケットが指定されていない場合、レスポンスで base64 エンコードされた画像バイトが返されます。 | 
| outputOptions | 
 
          省略可。 | 
出力オプション オブジェクト
outputOptions オブジェクトは画像出力を記述します。
| パラメータ | |
|---|---|
| outputOptions.mimeType | 省略可:  画像出力形式。次の値を使用できます。 
 デフォルト値は  | 
| outputOptions.compressionQuality | 省略可:  
        出力タイプが  | 
リクエストの例
REST
リクエストのデータを使用する前に、次のように置き換えます。
- 
    REGION: プロジェクトが配置されているリージョン。サポートされているリージョンの詳細については、Vertex AI の生成 AI のロケーションをご覧ください。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- 
    TEXT_PROMPT: 省略可。モデルが生成する画像をガイドするテキスト プロンプト。
- 
    BASE64_SUBJECT_IMAGE: base64 でエンコードされた被写体の画像。
- 
    PERSON_SETTING: 省略可。モデルで許可される人物や顔の生成の種類を制御する文字列値。personGenerationには、次の値を使用できます。- 
        "allow_adult": 有名人の生成を除き、成人のみの生成を許可します。どの設定でも、有名人の生成は許可されません。これはデフォルトの設定です。
- 
        "allow_all": 有名人の生成を除き、年齢制限なく人物の画像が生成されるようにします。どの設定でも、有名人の生成は許可されません。
- 
        "dont_allow": 生成された出力に人物や顔が含まれないようにします。
 
- 
        
- 
    SAFETY_SETTING: 省略可。生成される画像の安全フィルタのしきい値を制御する文字列値。次の値を使用して、安全性設定を選択できます。- 
        "block_low_and_above": 最も厳しい安全性のしきい値。"block_low_and_above"は、生成された画像の最大数をフィルタします。
- 
        "block_medium_and_above": 有害となる可能性のあるコンテンツと安全なコンテンツのフィルタをバランスよく行う中程度の安全性のしきい値。"block_medium_and_above"がデフォルトの安全性設定です。
- 
        "block_only_high": 安全フィルタによってブロックされるリクエストの数を減らす最小の安全性のしきい値。"block_only_high"の安全しきい値を使用すると、モデルによって生成される不適切な画像の数が増える可能性があります。
 
- 
        
- 
    WATERMARK_SETTING: 省略可: ブール値。この値がtrueに設定されている場合、モデルは生成された画像の検証に使用できるデジタル透かしを追加します。デフォルト値はtrueです。
- 
    IMAGE_COUNT: 生成する画像の数。指定できる値の範囲は1~4です。
- 
    PROMPT_SETTING: 省略可: ブール値。この値がtrueに設定されている場合、モデルは拡張 prmopts を使用します。デフォルト値はtrueです。
HTTP メソッドと URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict
リクエストの本文(JSON):
{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "productImages": [
        {
          "image": {
            "bytesBase64Encoded": "BASE64_SUBJECT_IMAGE"
          },
        }
      ]
    }
  ],
  "parameters": {
    "personGeneration": PERSON_SETTING,
    "safetySetting": SAFETY_SETTING,
    "addWatermark": WATERMARK_SETTING,
    "sampleCount": IMAGE_COUNT,
    "enhancePrompt": PROMPT_SETTING
  }
}
リクエストを送信するには、次のいずれかのオプションを選択します。
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/imagen-product-recontext-preview-06-30: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/imagen-product-recontext-preview-06-30:predict" | Select-Object -Expand Content
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}