Imagen 3 のカスタマイズの被写体のカスタマイズを使用すると、指定したテキスト プロンプトと参照画像から新しい画像を生成できます。指定した参照画像は、新しい画像の生成をガイドするのに役立ちます。
ユースケース
Imagen 3 のカスタマイズでは、フリースタイル プロンプトを使用できます。これにより、トレーニングされた以上のことができるという印象を与える可能性があります。以降のセクションでは、Imagen 3 のカスタマイズの想定されるユースケースと、想定外のユースケースの例について説明します。
Imagen 3 のカスタマイズは、想定されたユースケースで使用することをおすすめします。これらのユースケースでモデルをトレーニングしており、優れた結果が得られることが期待されるためです。逆に、想定したユースケース以外のことをモデルに実行させようとしても、良い結果は期待できません。
想定されるユースケース
Imagen 3 のカスタマイズの被写体のカスタマイズを想定したユースケースは次のとおりです。
- 人物の写真をスタイル化する。
- 人物の写真をスタイル化し、人物の表情を保持する。
- (成功率が低い)ソファやクッキーなどの商品を、さまざまな角度でさまざまなシーンに配置する。
- 詳細が正確に保持されない商品のバリエーションを生成する。
- 顔の表情を維持しながら人物の写真をスタイル化する。
想定外のユースケースの例
Imagen 3 カスタマイズがトレーニングされていないため、結果が不十分になるユースケースの例を以下に示します。
- 人物のアイデンティティを保持しながら、複数の人物を異なるシーンに配置する。
- 2 人以上の人物を異なるシーンに配置し、人物のアイデンティティを保持しながら、スタイル例の画像をスタイルの入力として使用して、出力画像のスタイルを指定する。
- 2 人以上の人物の写真を、その人物の個性を保ちながらスタイル化する。
- ペットのアイデンティティを維持しながら、さまざまなシーンに配置する。
- ペットの写真をスタイル化して絵にする。
- ペットの写真をスタイル化して絵画風に変換し、画像のスタイル(水彩画など)を保持または指定する。
- ペットと人物を別のシーンに配置し、両方のアイデンティティを保持する。
- ペットと 1 人以上の人物の写真をスタイル化して、絵画風に変換する。
- 2 つの商品を異なるシーンに配置し、商品の角度を調整する。
- クッキーやソファなどの商品を、さまざまな角度で、特定の画像スタイル(特定の色、照明スタイル、アニメーションを使用したフォトリアリスティックなど)に沿って、さまざまなシーンに配置する。
- コントロール画像で指定されたシーンの特定の構図を維持しながら、商品を別のシーンに配置する。
- 特定の画像を入力として使用し(特定の色、照明スタイル、アニメーションを使用したフォトリアリスティックなど)、2 つの商品を異なるシーンに異なる角度で配置する。
- 2 つの商品を異なるシーンに配置し、コントロール画像で指定されたシーンの特定の構図を保持する。
被写体のカスタマイズの例
以降のセクションでは、Imagen 3 のカスタマイズの被写体のカスタマイズでサポートされているケースについて説明します。
人物のカスタマイズ
入力例 | 出力例: |
---|---|
|
![]() |
1 「パリにいる女性のポートレート。黒のパンツと白いシャツを着ている」というプロンプトから Imagen 3 画像生成を使用して生成された参照入力画像。
商品のカスタマイズ
入力例 | 出力例: |
---|---|
|
![]() |
編集とカスタマイズ用 Imagen のモデルカードを表示する
始める前に
- 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.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
環境の認証を設定します。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
被写体のカスタマイズ
Imagen 3 のカスタマイズを使用する場合は、被写体の種類を示す参照画像を指定できます。具体的には、Imagen 3 のカスタマイズによる少数ショット プロンプトは、商品、人物、動物(ペット)などの被写体をサポートしています。選択した被写体は、生成リクエストの作成方法に影響します。
Imagen 3 のカスタマイズで使用するプロンプトは、生成される画像の品質に影響する可能性があります。以降のセクションでは、カスタマイズ リクエストを送信する際の推奨プロンプト テンプレートとサンプルについて説明します。
人物のカスタマイズ
次のテーブルに、人物のカスタマイズ プロンプトを作成する際の出発点として推奨されるプロンプト テンプレートを示します。
ユースケース 参照画像 プロンプト テンプレート 例 フェイス メッシュ入力による人物画像のスタイル化 被写体画像(1)
フェイス メッシュ制御画像(1)facemesh from the control image [2] を使用して SUBJECT_DESCRIPTION [1] の画像を生成してください。「${PROMPT}」 facemesh from the control image [2] を使用して the person [1] の画像を生成してください。「その人物は無表情で正面を向いている。背景は...」 フェイス メッシュ入力なしの人物画像のスタイル化 被写体画像(1~4) SUBJECT_DESCRIPTION [1] に関する画像を説明に合うように作成してください。 「SUBJECT_DESCRIPTION [1] のポートレート。${PROMPT}。」 a woman with short hair[1] に関する画像を説明に合うように作成してください。「背景がぼかされた 3D アニメスタイルの a woman with short hair[1] のポートレート。かわいらしいキャラクター、笑顔、カメラ目線、パステルカラーのトーン、高画質、4K、傑作、超詳細、肌の質感、テクスチャ マッピング、柔らかい影、柔らかいリアルな照明、鮮やかな色。」 フェイス メッシュ入力なしの人物画像のスタイル化 被写体画像(1~4) SUBJECT_DESCRIPTION [1] に関する STYLE_DESCRIPTION [2] 画像を説明に合うように作成してください。「SUBJECT_DESCRIPTION [1] STYLE_PROMPT の肖像画」 a woman with short hair [1] に関する 3d-cartoon style [2] 画像を説明に合うように作成してください。「背景がぼかされた 3D 漫画スタイルの a woman with short hair [1] のポートレート。キュートで愛らしいキャラクター、笑顔。カメラ目線、パステルカラーのトーン、高画質、4K、傑作、超詳細、肌の質感、テクスチャ マッピング、柔らかい影、柔らかくリアルな照明、鮮やかな色。」 フェイス メッシュ入力による人物画像のスタイル化 被写体画像(1~3)
フェイス メッシュ制御画像(1)SUBJECT_DESCRIPTION [1] に関する画像を CONTROL_IMAGE [2] のポーズで説明に合うように作成してください。「SUBJECT_DESCRIPTION [1] のポートレイト。${PROMPT}。」 a woman with short hair [1] に関する画像を control image [2] のポーズで説明に合うように作成してください。「背景がぼやけた 3D アニメスタイルの a woman with short hair [1] のポートレート。かわいらしいキャラクター、笑顔。カメラ目線、パステル調の色合い、高画質、4K、傑作、超詳細、肌の質感、テクスチャ マッピング、ソフトな影、ソフトでリアルな照明、鮮やかな色。」 フェイス メッシュ入力による人物画像のスタイル化 被写体画像(1~3)
フェイス メッシュ制御画像(1)SUBJECT_DESCRIPTION [1] に関する STYLE_DESCRIPTION [3] 画像を CONTROL_IMAGE [2] のポーズで説明に合うように作成してください。「SUBJECT_DESCRIPTION [1] のポートレイト。${PROMPT}。」 a woman with short hair [1] に関する 3d-cartoon style [3] 画像を control image [2] のポーズで説明に合うように作成してください。「背景がぼやけた 3D アニメスタイルの a woman with short hair [1] のポートレート。かわいらしいキャラクターの笑顔。カメラ目線、パステル調の色合い、高画質、4K、傑作、超詳細、肌の質感、テクスチャ マッピング、ソフトシャドウ、ソフトでリアルなライティング、鮮やかな色合い。」 参照画像の顔には、次のプロパティを設定することをおすすめします。
- 中央に配置され、画像全体の少なくとも半分を占めている
- 正面図で全方向に回転している(ロール、ピッチ、ヨー)
- サングラスやマスクなどの物体で隠れていない
次のサンプルを使用して、画像生成のガイドとして使用する人物の参照画像を含むカスタマイズ リクエストを送信します。このタイプのリクエストは、フェイス メッシュ制御画像の有無にかかわらず送信でき、画像生成を詳細にガイドできます。
REST
imagen-3.0-capability-001
モデル リクエストの詳細については、imagen-3.0-capability-001
モデル API リファレンスをご覧ください。このサンプルでは、生成をガイドするフェイス メッシュ制御領域を指定する方法を示していますが、制御参照オブジェクト(
"referenceType": "REFERENCE_TYPE_CONTROL"
)を省略することもできます。その場合、Imagen はフェイス メッシュ制御領域を自動的に検出します。リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION: プロジェクトのリージョン。たとえば、
us-central1
、europe-west2
、asia-northeast3
です。使用可能なリージョンの一覧については、Vertex AI の生成 AI のロケーションをご覧ください。 - TEXT_PROMPT: 生成する画像をモデルに指示するテキスト プロンプト。Imagen 3 カスタマイズを使用するには、指定する参照画像の
referenceId
を [$referenceId] 形式で配置します。例:- 次のテキスト プロンプトは、
"referenceId": 1
を持つ 2 つの参照画像を含むリクエスト用です。どちらの画像にも、"subjectDescription": "man with short hair"
という省略可能な説明があります。また、"referenceId": 2
で指定されたフェイス メッシュ制御画像もあります。次の説明に一致する、制御画像 [2] のポーズをした man with short hair [1] の画像を作成してください。「クロスハッチング技法で描かれた man with short hair [1] の全身像の鉛筆画。6B のグラファイト鉛筆を使用してハッチング技法で描かれたポートレート。白い背景、鉛筆画、高品質、鉛筆のストロークを感じる。カメラ目線にする。自然な感じの人間の目を描くこと。」
- 次のテキスト プロンプトは、
"referenceId"
: 参照画像の ID、あるいは同じ被写体またはスタイルに対応する一連の参照画像の ID。この例では、2 つの参照画像は同じ人物のものであるため、同じreferenceId
(1
)を共有し、フェイス メッシュ制御画像は異なるreferenceId
(2
)になります。生成される画像は、参照画像から抽出されたフェイス メッシュの構造に沿って、顔の外観が改善されます。サポートされるフェイス メッシュ制御は 1 つのみです。- BASE64_REFERENCE_IMAGE: 画像生成のガイドとなる参照画像。画像は base64 でエンコードされたバイト文字列として指定する必要があります。
- SUBJECT_DESCRIPTION: 省略可。
prompt
フィールドで使用できる参照画像のテキストによる説明。次に例を示します。"prompt": "a full-body portrait of a man with short hair [1] with hatch-cross drawing", [...], "subjectDescription": "man with short hair"
- 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_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE" }, "subjectImageConfig": { "subjectDescription": "SUBJECT_DESCRIPTION", "subjectType": "SUBJECT_TYPE_PERSON" } }, { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE" }, "subjectImageConfig": { "subjectDescription": "SUBJECT_DESCRIPTION", "subjectType": "SUBJECT_TYPE_PERSON" } }, { "referenceType": "REFERENCE_TYPE_CONTROL", "referenceId": 2, "referenceImage": { "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE" }, "controlImageConfig": { "controlType": "CONTROL_TYPE_FACE_MESH", "enableControlImageComputation": true } } ] } ], "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" } ] }
Python
商品のカスタマイズ
次のテーブルに、プロダクト カスタマイズ プロンプトを作成する際の出発点としておすすめするプロンプト テンプレートを示します。
参照画像 プロンプト テンプレート 例 被写体画像(1~4) SUBJECT_DESCRIPTION [1] に関する画像を作成してください。説明は次のとおりです。「${PROMPT}。」 Luxe Elixir hair oil, golden liquid in glass bottle [1] に関する画像を説明に合うように作成してください。「真っ白な背景に Luxe Elixir hair oil, golden liquid in glass bottle [1] を持った女性の手の、ハイキーのクローズアップ画像。女性の手は明るく照らされ、瓶にしっかりとピントが合っている。浅い被写界深度が背景をぼかし、商品を強調している。照明は柔らかい拡散光で、瓶と手の周りに微妙な輝きを生み出している。全体的な構成はシンプルかつエレガントであり、商品の高級感を際立たせている。」
被写体画像(1~4) SUBJECT_DESCRIPTION の画像を生成してください。ただし、${PROMPT}にしてください。 Seiko watch [1] の画像を生成してください。ただし、青色で。
次のサンプルを使用して、画像生成のガイドとして使用する商品の参照画像を含むカスタマイズ リクエストを送信します。
コンソール
-
Google Cloud コンソールで、[Vertex AI] > [Media Studio] ページに移動します。
Media Studio に移動 - [パラメータ] ペインの [モデル] セクションで、[Imagen 3] を選択します(まだ選択されていない場合)。
- 省略可。1:1(デフォルト)以外の [アスペクト比] を選択します。
- 省略可。[検索結果の表示件数] を変更します。
- 省略可。[Negative prompt] を指定すると、生成を回避する内容をモデルに指示できます。
- 省略可。必要に応じて [詳細オプション] を変更します。
- [テキスト プロンプト] フィールド([プロンプトを入力します...])で、[リファレンスを追加] をクリックします。
- [リファレンスを追加] ペインで、次のいずれかの参照タイプを選択します。 Subject - product。
- [参照画像] セクションで [アップロード] をクリックします。
- ローカルに保存されている画像を選択し、[開く] をクリックします。
- 省略可。参照画像の [説明] を入力します。
- [完了] をクリックします。
- 省略可。参照画像を追加するには、[画像を追加] をクリックして別の画像をアップロードします。
- 参照画像をすべて追加したら、[リファレンスを追加] をクリックします。
このペインで追加するすべての参照画像に同じ参照番号が設定されます。テキスト プロンプトを追加する際に、この参照番号を使用します。
- [テキスト プロンプト] フィールド([プロンプトを入力します...])に、参照画像の参照番号(1 つまたは複数)を含むテキスト プロンプトを追加します。例:
- 「明るい白い部屋、ガラスのテーブルの上に置かれた product [1]」
- 「遠くに森が見える広大な野原に立つ animal [1]」
- 「film noir style [2] の街路に佇む person [1] の白黒ポートレート」
REST
imagen-3.0-capability-001
モデル リクエストの詳細については、imagen-3.0-capability-001
モデル API リファレンスをご覧ください。リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION: プロジェクトのリージョン。たとえば、
us-central1
、europe-west2
、asia-northeast3
です。使用可能なリージョンの一覧については、Vertex AI の生成 AI のロケーションをご覧ください。 - TEXT_PROMPT: 生成する画像をモデルに指示するテキスト プロンプト。Imagen 3 カスタマイズを使用するには、指定する参照画像の
referenceId
を [$referenceId] 形式で配置します。例:- Luxe Elixir hair oil, golden liquid in glass bottle [1] に関する画像を作成してください。説明は次のとおりです。「真っ白な背景に Luxe Elixir hair oil, golden liquid in glass bottle [1] を持った女性の手の、ハイキーなクローズアップ画像。女性の手は明るく照らされ、ピントが瓶にしっかりと合っている。浅い被写界深度が背景をぼかし、商品を強調している。」
"referenceId"
: 参照画像の ID、あるいは同じ被写体またはスタイルに対応する一連の参照画像の ID。この例では、2 つの参照画像は同じ商品のものであるため、同じreferenceId
(1
)を共有しています。- BASE64_REFERENCE_IMAGE: 画像生成のガイドとなる参照画像。画像は base64 でエンコードされたバイト文字列として指定する必要があります。
- SUBJECT_DESCRIPTION: 省略可。
prompt
フィールドで使用できる参照画像のテキストによる説明。次に例を示します。"prompt": "Luxe Elixir hair oil, golden liquid in glass bottle [1] against a pure white background.", [...], "subjectDescription": "Luxe Elixir hair oil, golden liquid in glass bottle"
- 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_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE" }, "subjectImageConfig": { "subjectType": "SUBJECT_TYPE_PRODUCT", "subjectDescription": "SUBJECT_DESCRIPTION" } }, { "referenceType": "REFERENCE_TYPE_SUBJECT", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE" }, "subjectImageConfig": { "subjectType": "SUBJECT_TYPE_PRODUCT", "subjectDescription": "SUBJECT_DESCRIPTION" } } ] } ], "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 プロダクトに関する次の記事を読む。
- Vertex AI で Imagen 3 を使い始めるためのデベロッパー ガイド
- クリエイターとともにクリエイターのために構築された、新しい生成メディアのモデルとツール
- Gemini の新機能: カスタム Gem と Imagen 3 による画像生成の改善
- Google DeepMind: Imagen 3 - 最も高い品質水準の Text-to-Image モデル
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-10-19 UTC。