Vertex AI で Imagen を使用すると、テキスト プロンプトから新しい画像を生成できます。 インターフェースとして Google Cloud コンソールと Vertex AI API がサポートされています。
次のモデルは、テキスト プロンプトから画像を生成することをサポートしています。
-
imagen-3.0-generate-002 -
imagen-3.0-generate-001 -
imagen-3.0-fast-generate-001 -
imagen-4.0-generate-001 -
imagen-4.0-fast-generate-001 -
imagen-4.0-ultra-generate-001
画像の生成と編集に使用するテキスト プロンプトの作成方法については、 プロンプト ガイドをご覧ください。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. Learn how to grant roles.-
環境の認証を設定します。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
コンソールを使用してサービスと API にアクセスする場合、認証を設定する必要はありません。 Google Cloud Google Cloud
Python
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして 初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず フェデレーション ID を使用して gcloud CLI にログインする必要があります。
-
ローカルシェルを使用している場合は、ユーザー アカウントのローカル認証情報を作成します。
gcloud auth application-default login
Cloud Shell を使用している場合は、この操作を行う必要はありません。
認証エラーが返され、外部 ID プロバイダ (IdP)を使用している場合は、フェデレーション ID を使用して gcloud CLI にログインしていることを確認します。
詳細については、 認証ドキュメントのローカル開発環境の ADC の設定 をご覧ください。 Google Cloud
REST
このページの REST API サンプルをローカル開発環境で使用するには、 gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず フェデレーション ID を使用して gcloud CLI にログインする必要があります。
詳細については、 REST を使用して認証する 認証ドキュメントの Google Cloud をご覧ください。
-
テキストから画像を生成
記述テキストのみを入力として使用し、新しい画像を生成できます。次のサンプルは、画像を生成する基本的な手順を示しています。
コンソール
1. Google Cloud コンソールで、[Vertex AI] > [Media Studio] ページに移動します。<a href="https://console.cloud.google.com/vertex-ai/studio/media/generate;tab=image" class="button button-primary"
target="console" track-name="consoleLink" track-type="task">Go to Media
Studio</a>
[Imagen] をクリックします。Imagen Media Studio の画像生成ページが表示されます。
省略可: [設定] ペインで、次の設定を構成します。
モデル: 使用可能なオプションからモデルを選択します。
使用可能なモデルの詳細については、Imagen モデルをご覧ください。
アスペクト比: 使用可能なオプションからアスペクト比を選択します。
検索結果の表示件数: スライダーを調整するか、1~4 の値を入力します。
出力解像度: 使用可能なオプションから解像度を選択します。
省略可: [詳細オプション] セクションで、イメージを生成するリージョンを選択します。
[プロンプトを記述] ボックスに、生成する画像の説明を入力します。例: 朝の水上の小さなボートの水彩画
効果的なプロンプトの作成方法については、プロンプトと画像属性のガイドをご覧ください。
[生成] をクリックします。
生成された画像に電子透かしが自動的に追加されます。 Google Cloud コンソールでは、画像生成の電子透かしを無効にすることはできません。
画像を選択して [画像の詳細] ウィンドウに表示できます。 透かし入りの画像には、電子透かし バッジが付いています。
Python
インストール
pip install --upgrade google-genai
詳しくは、SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Gen AI SDK を使用するための環境変数を設定します。
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
ImageGenerationModel に対して generate_images メソッドを呼び出し、生成された画像をローカルに保存します。その後で、必要ならノートブックで show() メソッドを使用して、生成された画像を表示できます。モデルのバージョンと機能の詳細については、Imagen モデルをご覧ください。
REST
Imagen API の詳細については、以下をご覧ください。
- メソッド:
endpoints.predict VisionGenerativeModelInstanceVisionGenerativeModelParamsVisionGenerativeModelResult
リクエストのデータを使用する前に、 次のように置き換えます。
- REGION: プロジェクトが配置されているリージョン。サポートされているリージョンの詳細については、Vertex AI の生成 AI のロケーションをご覧ください。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
-
MODEL_VERSION: 使用する Imagen モデルのバージョン。使用可能なモデルの詳細については、Imagen モデルをご覧ください。
- TEXT_PROMPT: 生成する画像をモデルに指示するテキスト プロンプト。生成と編集のどちらでも必須フィールドです。
-
IMAGE_COUNT: 生成する画像の数。指定できる値の範囲は
1~4です。 - ADD_WATERMARK: ブール値。省略可。生成された画像に透かしを有効にするかどうか。フィールドが
trueに設定されているときに生成された画像には、透かし入り画像の検証に使用できるデジタル SynthID が含まれています。このフィールドを省略すると、デフォルト値のtrueが使用されます。この機能を無効にするには、値をfalseに設定する必要があります。seedフィールドを使用して確定的な出力を取得できるのは、このフィールドがfalseに設定されている場合のみです。 - ASPECT_RATIO: 文字列。省略可。アスペクト比を制御する生成モード パラメータ。サポートされている比の値と用途:
1:1(デフォルト、スクエア)3:4(広告、ソーシャル メディア)4:3(テレビ、写真)16:9(横向き)9:16(縦向き)
- ENABLE_PROMPT_REWRITING: ブール値。省略可。LLM ベースのプロンプト書き換え機能を使用して、元のプロンプトの意図をより反映した高品質の画像を生成するためのパラメータ。この機能を無効にすると、画像の品質やプロンプトへの準拠に影響する可能性があります。デフォルト値:
true。 -
INCLUDE_RAI_REASON: ブール値。省略可。入力または出力がブロックされているレスポンスで、責任ある AI のフィルタが適用された理由コードを有効にするかどうか。デフォルト値:
true。 - INCLUDE_SAFETY_ATTRIBUTES: ブール値。省略可。フィルタリングされていない入力と出力のレスポンスで、安全性属性のリストに対して丸められた責任ある AI スコアを有効にするかどうかを指定します。安全性属性のカテゴリ:
"Death, Harm & Tragedy"、"Firearms & Weapons"、"Hate"、"Health"、"Illicit Drugs"、"Politics"、"Porn"、"Religion & Belief"、"Toxic"、"Violence"、"Vulgarity"、"War & Conflict"。デフォルト値:false。 - MIME_TYPE: 文字列。省略可。画像のコンテンツの MIME タイプ。使用可能な値:
image/jpegimage/gifimage/pngimage/webpimage/bmpimage/tiffimage/vnd.microsoft.icon
- COMPRESSION_QUALITY: 整数。省略可。JPEG 出力ファイルにのみ適用されます。JPEG ファイル形式で生成された画像に対してモデルが保持する詳細レベル。値:
0~100。値が大きいほど圧縮率が高くなります。デフォルト:75。 - PERSON_SETTING: 文字列。省略可。モデルで許可される人物や顔の生成の種類を制御する安全性設定。デフォルト値はモデルによって異なります。使用可能な
値:
allow_all: 未成年者を含む人物の画像を生成できるようにします。これは、Imagen 4 生成モデル、imagen-3.0-capability-001、および imagen-product-recontext-preview-06-30 のデフォルトです。allow_adult: 有名人を含む成人の画像のみを生成できるようにします。これは、 他のすべてのモデルのデフォルトです。dont_allow: 生成された画像に人物や顔が含まれないようにします。
- SAFETY_SETTING: 文字列。省略可。生成される画像の安全フィルタのしきい値を制御する設定。使用可能な値:
block_low_and_above: 最も高い安全性のしきい値。これにより、フィルタされる生成画像が最も多くなります。以前の値:block_most。block_medium_and_above(デフォルト): 有害となる可能性のあるコンテンツと安全なコンテンツのフィルタをバランスよく行う中程度の安全性のしきい値です。以前の値:block_some。block_only_high: 安全フィルタによってブロックされるリクエストの数を減らす安全性のしきい値。この設定により、Imagen によって生成される不適切なコンテンツが増加する可能性があります。以前の値:block_few。
- SEED_NUMBER: 整数。省略可。出力画像を確定するために指定する非負整数。同じシード番号を指定すると、常に同じ出力画像が得られます。使用しているモデルが電子透かしをサポートしている場合、このフィールドを使用するには
"addWatermark": falseを設定する必要があります。指定できる整数値:1~2147483647。 - OUTPUT_STORAGE_URI: 文字列。省略可。出力画像を保存する Cloud Storage バケット。指定しない場合、Base64 エンコードされた画像バイトがレスポンスで返されます。値のサンプル:
gs://image-bucket/output/。
その他のオプション パラメータ
ユースケースに応じて、次のオプションの変数を使用します。"parameters": {} オブジェクトに次のパラメータの一部またはすべてを追加します。このリストは一般的なオプション パラメータを示しており、網羅的なものではありません。オプション パラメータの詳細については、Imagen API リファレンス: 画像を生成するをご覧ください。
"parameters": {
"sampleCount": IMAGE_COUNT,
"addWatermark": ADD_WATERMARK,
"aspectRatio": "ASPECT_RATIO",
"enhancePrompt": ENABLE_PROMPT_REWRITING,
"includeRaiReason": INCLUDE_RAI_REASON,
"includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES,
"outputOptions": {
"mimeType": "MIME_TYPE",
"compressionQuality": COMPRESSION_QUALITY
},
"personGeneration": "PERSON_SETTING",
"safetySetting": "SAFETY_SETTING",
"seed": SEED_NUMBER,
"storageUri": "OUTPUT_STORAGE_URI"
}
HTTP メソッドと URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_VERSION:predict
リクエストの本文(JSON):
{
"instances": [
{
"prompt": "TEXT_PROMPT"
}
],
"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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_VERSION: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/MODEL_VERSION:predict" | Select-Object -Expand Content
"sampleCount":
2 を含むリクエストに対するものです。レスポンスは、生成された画像のバイトを base64 でエンコードした 2 つの予測オブジェクトを返します。{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
プロンプトの機能強化をサポートするモデルを使用する場合、レスポンスには、生成に使用された強化されたプロンプトを含む追加の prompt フィールドが含まれます。
{
"predictions": [
{
"mimeType": "MIME_TYPE",
"prompt": "ENHANCED_PROMPT_1",
"bytesBase64Encoded": "BASE64_IMG_BYTES_1"
},
{
"mimeType": "MIME_TYPE",
"prompt": "ENHANCED_PROMPT_2",
"bytesBase64Encoded": "BASE64_IMG_BYTES_2"
}
]
}
次のステップ
Imagen や Vertex AI のその他の生成 AI プロダクトに関する次の記事を読む。
- Vertex AI で Imagen 3 を使い始めるためのデベロッパー ガイド
- クリエイターとともにクリエイターのために構築された、新しい生成メディアのモデルとツール
- Gemini の新機能: カスタム Gem と Imagen 3 による画像生成の改善
- Google DeepMind: Imagen 3 - 最も高い品質水準の Text-to-Image モデル