商品画像のコンテキストを再設定する

Vertex AI の Imagen 商品の再コンテキストを使用すると、商品画像をさまざまなシーンや背景に編集できます。商品の画像と任意のプロンプトを指定すると、Imagen プロダクト リコンテキストが、新しいシーンや背景でリコンテキスト化された商品の画像を生成します。

Imagen の商品リコンテキストへのアクセスをリクエストするには、Vertex AI - マーケティング用生成メディア アクセス リクエスト フォームに記入します。

サポートされている商品タイプ

Imagen プロダクトの再コンテキスト化では、次のプロダクト タイプがサポートされています。

  • アプライアンス
  • ビジネス、産業
  • 衣服
  • エレクトロニクス
  • 家具
  • 庭と庭
  • ハードウェア
  • 健康と美容
  • 宝飾品
  • ペット
  • スポーツ用品
  • おもちゃ、ゲーム
  • 乗り物

プロダクトの再文脈化の例

以下に、プロダクトの再コンテキスト化のユースケースの例を示します。

入力例 出力例 使用したプロンプト
白い背景に置かれた、キーボードのバックライトがマルチカラーで、画面にカラフルなテスト画像が表示されている黒いノートパソコン。 キーボードにマルチカラーのバックライトが点灯し、画面にカラフルなテスト画像が表示されている黒いノートパソコンが、作業台の上に置かれている。作業台の後ろには窓があり、外には多色の広告が表示されています。 雨が降るネオンが光るサイバーパンクの路地にある、散らかった作業台。背景にはホログラム広告が点滅している。
大きなレンズが取り付けられたデジタル一眼レフカメラが、白い背景の上に置かれている。 大きなレンズが取り付けられたデジタル一眼レフカメラが、白い背景の上に置かれている。カメラは崖の端に置かれ、背景には幅広の滝が写っています。 崖の端の苔むした岩の上に置かれたカメラ。劇的な曇り空の アイスランドの風景の中に、巨大で力強い滝が見える。
白い背景に置かれたサングラス。 サングラスがテーブルの上に置かれ、前景にはコーヒーカップがソーサーの上に置かれ、背景には教会の頂上と水域、丘の美しい景色が広がっています。 サントリーニ島の白いカフェのテーブルに置かれたコーヒー カップ。エーゲ海と象徴的な青いドームの建物を見下ろしている。

Colab で Imagen の商品リコンテキストを試す

始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. 環境の認証を設定します。

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

  9. さまざまなシーンで商品画像を生成する

    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: 生成する画像の数。指定できる値の範囲は 14 です。
    • 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
    リクエストは画像オブジェクトを返します。この例では、2 つの画像オブジェクトが返され、2 つの予測オブジェクトが base64 でエンコードされた画像として返されます。
    {
      "predictions": [
        {
          "mimeType": "image/png",
          "bytesBase64Encoded": "BASE64_IMG_BYTES"
        },
        {
          "bytesBase64Encoded": "BASE64_IMG_BYTES",
          "mimeType": "image/png"
        }
      ]
    }