カスタマイズを案内する

Vertex AI の Imagen を使用すると、テキスト プロンプトで指定したスタイルに画像内の被写体をカスタマイズして変換する方法をモデルに指示できます。

編集とカスタマイズ用 Imagen のモデルカードを表示する

カスタマイズ プロンプトの作成

Imagen 3 のカスタマイズで使用するプロンプトは、生成される画像の品質に影響する可能性があります。カスタマイズ プロンプトを作成する際は、次のプロンプト テンプレートを出発点として使用します。目的の出力を得るには、複数のリクエストを送信しなければならない場合があります。

ユースケース 参照画像 プロンプト テンプレート
カスタマイズの指示 - スタイル変換 画像(1) subject in image [1] を次のスタイルに変換してください。「${STYLE_DESCRIPTION}」この画像は「${IMAGE_DESCRIPTION}」を表しています。 subject in image [1] を次のスタイルに変換してください。「自由な技法で描かれた水彩画、柔らかな色調、パステルカラー、筆遣いを感じる、繊細でクリーンな背景、おおらか、アナログ スタイルの描画、複雑で細部まで書き込まれた絵」この画像は、「誇らしげな女性の肖像画」を表しています。

スタイル転送の指示カスタマイズを使用してカスタマイズする

次のコードサンプルを使用して、テキスト プロンプトで説明されているスタイルに基づいて出力画像のスタイルを指定します。

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID
  • LOCATION: プロジェクトのリージョン。たとえば、us-central1europe-west2asia-northeast3 です。使用可能なリージョンの一覧については、Vertex AI の生成 AI のロケーションをご覧ください。
  • TEXT_PROMPT: 生成する画像をモデルに指示するテキスト プロンプト。Imagen 3 カスタマイズを使用するには、指定する参照画像の referenceId[$referenceId] 形式で配置します。次に例を示します。
    • 画像 [1] の被写体を、デジタル ステンドグラス風の画像スタイルに変換してください。
    • 画像 [1] の猫に赤いカウボーイ ハットを追加します。
    • 画像 [1] のコーギー犬を削除します。
    • 画像 [1] の赤いボールを青いボックスに変更します。
  • "referenceId": 参照画像の ID、あるいは同じ被写体またはスタイルに対応する一連の参照画像の ID。
  • BASE64_REFERENCE_IMAGE: 画像生成のガイドとなる参照画像。画像は base64 でエンコードされたバイト文字列として指定する必要があります。
  • IMAGE_COUNT: 生成される画像の数。指定できるのは整数値(1~4)です。デフォルト値: 4。

HTTP メソッドと URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict

リクエストの本文(JSON):

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "referenceImages": [
        {
          "referenceType": "REFERENCE_TYPE_RAW",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
          }
        }
      ]
    }
  ],
  "parameters": {
    "sampleCount": IMAGE_COUNT
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001: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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
次のサンプル レスポンスは、"sampleCount": 2 を含むリクエストに対するものです。レスポンスは、生成された画像のバイトを base64 でエンコードした 2 つの予測オブジェクトを返します。
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

プロダクトの使用

Vertex AI の Imagen に関連する使用基準とコンテンツ制限については、使用上のガイドラインをご覧ください。

モデル バージョン

使用できる画像生成モデルは複数あります。詳細については、Imagen モデルをご覧ください。

次のステップ

Imagen や Vertex AI のその他の生成 AI プロダクトに関する次の記事を読む。