制御されたカスタマイズを使用すると、ソース画像またはソース画像シグナル(Canny エッジまたはフリーハンド)に基づいて新しい画像を作成できます。このページでは、次の 2 種類の制御されたカスタマイズのリクエストを送信する方法について説明します。
Imagen 3 の制御されたカスタマイズ(一般提供機能)
Imagen 2 の制御されたカスタマイズ - Canny エッジまたはフリーハンドのソース画像シグナル(プレビュー機能)
ユースケース
Imagen 3 の制御されたカスタマイズでは、フリー スタイル プロンプトを使用できます。これにより、モデルがトレーニングされた以上のことができるという印象を受けることがあります。次のセクションでは、Imagen 3 の制御されたカスタマイズのユースケースと例について説明します。
このモデルは、Google が提供するユースケースでトレーニングされています。Imagen 3 の制御されたカスタマイズを使用すると、優れた結果が得られることが期待されます。モデルに予期しない方法で応答するようにプッシュしても、良い結果は期待できません。
想定されるユースケースの例
Imagen 3 の制御されたカスタマイズは、次のユースケースで優れた結果が得られるようにトレーニングされています。
プロンプトと Canny エッジ制御画像に従った画像を生成します。
プロンプトと落書き画像に沿った画像を生成します。
顔の表情を維持しながら、人物の写真をスタイル化します。
意図しないユースケースの例
Imagen 3 の制御されたカスタマイズは、次のユースケースではトレーニングされておらず、結果が不十分になります。
プロンプトで指定されたスタイルを使用して画像を生成します。
参照画像で指定された特定のスタイルに従ったテキストから画像を生成します。制御画像を使用して、画像構成をある程度制御できます。
参照画像で指定された特定のスタイルに従ってテキストから画像を生成します。コントロール スクリブルを使用して、画像構成をある程度制御できます。
参照画像で指定された特定のスタイルに従ったテキストから画像を生成します。コントロール画像を使用して、画像構成をある程度制御できます。画像に写っている人物が特定の表情をしている。
2 人以上の人物の写真をスタイル化し、表情を保持します。
ペットの写真を様式化して、絵に変換します。画像の構成(水彩など)を保持または指定します。
始める前に
- 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
環境の認証を設定します。
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 のカスタマイズで使用するプロンプトは、生成される画像の品質に影響する可能性があります。カスタマイズ プロンプトを作成する際は、次のプロンプト テンプレートを出発点として使用します。目的の出力を得るには、複数のリクエストを送信しなければならない場合があります。
ユースケース 参照画像 プロンプト テンプレート 例 制御されたカスタマイズ フリーハンド マップ(1) scribble map [1] に沿って画像を生成してください。説明は次のとおりです。「${STYLE_PROMPT} ${PROMPT}」${STYLE_PROMPT} ${PROMPT} scribble map [1] に沿って画像を生成してください。説明は次のとおりです。「画像は、ゆったりとした筆遣いの印象派の油絵のスタイルにする必要があります。」自然光が差し込む雰囲気で、筆の跡が目立ちます。車の側面図。車は濡れて反射する路面に駐車しており、水たまりに街の光が反射している。 制御されたカスタマイズ Canny 制御画像(1) edge map [1] に沿って画像を生成してください。説明は次のとおりです。「${STYLE_PROMPT} ${PROMPT}」${STYLE_PROMPT} ${PROMPT} edge map [1] に沿って画像を生成してください。説明は次のとおりです。「画像は、ゆったりとした筆遣いの印象派の油絵のスタイルにする必要があります。」 自然光が差し込む雰囲気で、筆の跡が目立ちます。車の側面図。車は濡れて反射する路面に駐車しており、水たまりに街の光が反射している。 FaceMesh 入力を使用した人物画像のスタイル設定 サブジェクト画像(1 ~ 3)
FaceMesh 制御画像(1)SUBJECT_DESCRIPTION [1] に関する画像を CONTROL_IMAGE [2] のポーズで作成してください。説明は次のとおりです。「SUBJECT_DESCRIPTION [1] のポートレート ${PROMPT}」 control image [2] のポーズで a woman with short hair [1] に関する画像を作成してください。説明は次のとおりです。「背景がぼかされた 3D アニメ スタイルの a woman with short hair [1] のポートレート。」笑顔でカメラに向いている、かわいらしくて愛らしいキャラクター、パステル カラーのトーン、高画質、4K、傑作、非常に細かいディテール、肌の質感、テクスチャ マッピング、柔らかい影、柔らかくリアルな照明、鮮やかな色 FaceMesh 入力を使用した人物画像のスタイル設定 サブジェクト画像(1 ~ 3)
FaceMesh 制御画像(1)CONTROL_IMAGE [2] のポーズで SUBJECT_DESCRIPTION [1] に関する ${STYLE_PROMPT} 画像を作成してください。説明は次のとおりです。SUBJECT_DESCRIPTION [1] のポートレート ${PROMPT} control image [2] のポーズで a woman with short hair [1] を描いた 3D アニメ風の画像を作成してください。説明は次のとおりです。「背景がぼかされた 3D アニメ風の a woman with short hair [1] のポートレート。カメラに向かって笑顔を見せる、かわいらしくて愛らしいキャラクター。パステル カラーのトーン、高画質、4K、傑作、超詳細、肌の質感、テクスチャ マッピング、柔らかい影、柔らかくリアルな照明、鮮やかな色 Imagen 3 の制御されたカスタマイズのリクエストを送信する
次のサンプルを使用して、Imagen 3 の制御されたカスタマイズのリクエストを送信します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION: プロジェクトのリージョン。たとえば、
us-central1
、europe-west2
、asia-northeast3
です。使用可能なリージョンの一覧については、Vertex AI の生成 AI のロケーションをご覧ください。 - TEXT_PROMPT: 生成する画像をモデルに指示するテキスト プロンプト。Imagen 3 の制御されたカスタマイズを使用するには、指定する制御参照画像の
referenceId
を [$referenceId] 形式で含めます。次に例を示します。- フリーハンド マップ [1] に沿って画像を生成してください。説明は次のとおりです。[image description]。
- BASE64_CONTROL_IMAGE: ベースの制御画像(スケッチ)。画像は base64 でエンコードされたバイト文字列として指定する必要があります。
CONTROL_TYPE_SCRIBBLE
の場合: 想定されるフリーハンドの制御画像は、黒い背景と白いフリーハンド線で構成されています。CONTROL_TYPE_CANNY
の場合: 想定される Canny エッジの制御画像は、黒い背景と白い Canny エッジで構成されています。 - CONTROL_TYPE: 制御シグナルのタイプ。Canny エッジには
CONTROL_TYPE_CANNY
を使用します。フリーハンドにはCONTROL_TYPE_SCRIBBLE
を使用します。 enableControlImageComputation
: 独自の制御画像を指定する場合は、false
に設定します。この場合、B64_BASE_IMAGE
は制御シグナル画像にする必要があります。Imagen に参照画像から制御画像を計算させる場合は、true
に設定します。この場合、B64_BASE_IMAGE
は未加工の RGB 画像である必要があります。- 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_CONTROL", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_CONTROL_IMAGE" }, "controlImageConfig": { "controlType": "CONTROL_TYPE", "enableControlImageComputation": false } } ] } ], "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
フリーハンド
Canny エッジ
Imagen 2 の制御されたカスタマイズのリクエストを送信する
入力画像 その他のパラメータ 出力画像 入力画像。画像の出典: Alec Cutter、Unsplash より。 プロンプト: 「デジタルアート バージョン」
ネガティブ プロンプト: 「モノクロ」
ガイド画像の種類: 標準 RGB
制御条件: Canny エッジ
Imagen コントロール スケール: 0.95
入力画像。画像の出典: Alec Cutter、Unsplash より
(Canny エッジ検出を適用)。プロンプト: 「デジタルアート バージョン」
ネガティブ プロンプト: 「モノクロ」
ガイド画像のタイプ: Canny エッジ
Imagen コントロール スケール: 0.95
次のサンプルを使用して、Imagen 2 の制御されたカスタマイズのリクエストを送信します。
コンソール
-
Google Cloud コンソールで、[Vertex AI] > [Media Studio] ページに移動します。
-
下部のタスクパネルで [
画像を編集] をクリックします。 -
[アップロード] をクリックして、編集する画像をローカルに保存されている画像から選択します。
-
[パラメータ] パネルの [モード] セクションで、[コントロール] をクリックします。
-
省略可。検索結果の表示件数を変更するか、ネガティブ プロンプトを指定するか、[詳細オプション] > [リージョン] の値を変更します。
-
[詳細オプション] セクションで、ガイド画像の種類([Standard RGB]、[Canny edge]、または [Scribble])を選択します。
-
[詳細オプション] セクションで、制御条件([Canny edge] または [Scribble])を選択します。
-
プロンプト フィールド([プロンプトを入力します…])にテキスト プロンプトを入力します。
-
[
生成] をクリックします。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- TEXT_PROMPT: 生成する画像をモデルに指示するテキスト プロンプト。生成と編集のどちらでも必須フィールドです。
- B64_BASE_IMAGE: 編集またはアップスケールするベース画像。画像は base64 でエンコードされたバイト文字列として指定する必要があります。サイズの上限: 10 MB。
- EDIT_IMAGE_COUNT: 編集された画像の数。デフォルト値: 4。
- NEGATIVE_PROMPT: 画像生成に役立つネガティブ プロンプト。たとえば、「動物」(動物を除去)、「ぼかし」(画像を鮮明にする)、「テキスト」(テキストを削除)、「切り抜き」(切り抜かれた画像を削除)などのように指定できます。
-
CONDITION:
string
。提供される制御画像シグナルのタイプ。値:cannyEdges
またはscribble
。 -
CONTROL_SCALE:
float
。制御画像信号の強さ。値:0.0
~1.0
。デフォルト値:0.95
。推奨範囲:0.9
~1.0
。 -
SAMPLING_STEPS:
integer
。サンプリング ステップ数。値:1
~30
。デフォルト:16
。 -
COMPUTE_CONDITION_MAP:
boolean
。ベース入力画像から条件マップを計算するかどうか。false
に設定すると、サービスは入力画像がフリーハンドまたは Canny エッジであることを想定し、画像がモデルに直接提供されます。true
に設定すると、入力画像が RGB 画像であると想定され、conditionName
に基づいて入力画像から Canny エッジまたはフリーハンド情報が計算されます。サービスは、画像編集のために処理された条件マップをモデルに提供します。フリーハンド画像を提供する場合は、背景が黒で、生成されるオブジェクトが白線で描かれている必要があります。デフォルト:false
。
HTTP メソッドと URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict
リクエストの本文(JSON):
{ "instances": [ { "prompt": "TEXT_PROMPT", "image": { "bytesBase64Encoded": "B64_BASE_IMAGE" } } ], "parameters": { "sampleCount": EDIT_IMAGE_COUNT, "negativePrompt": "NEGATIVE_PROMPT", "controlPluginConfig": { "conditions": [ { "conditionName": "CONDITION", "controlScale": CONTROL_SCALE, "samplingSteps": SAMPLING_STEPS, "computeConditionMap": COMPUTE_CONDITION_MAP } ] } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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-09-04 UTC。