Gemini を使用して、テキスト プロンプトから画像を生成できます。サポートされているインターフェースには、 Google Cloud コンソールと Agent Platform API があります。
次の Gemini モデルは画像生成をサポートしています。
クリックしてサポートされているモデルを開く
Gemini モデルの機能の詳細については、Gemini モデルをご覧ください。
画像を生成
以下では、Agent Studio または API を使用して画像を生成する方法について説明します。
プロンプトのベスト プラクティスの詳細については、マルチモーダル プロンプトを設計するをご覧ください。
コンソール
Gemini で画像を生成する手順は次のとおりです。
- [Agent Studio] > [プロンプトを作成] を開きます。
- [モデルの切り替え] をクリックし、表示されたモデルのいずれかを選択します。
- [出力] パネルで、プルダウン メニューから [画像とテキスト] を選択します。
- [プロンプトを作成] テキスト領域に、生成する画像の説明を入力します。
- [プロンプト]()ボタンをクリックします。
Gemini は、説明に基づいて画像を生成します。このプロセスには数秒かかりますが、容量によっては比較的遅くなることがあります。
Python
インストール
pip install --upgrade google-genai
詳しくは、SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google 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_ENTERPRISE=True
Go
Go をインストールまたは更新する方法について学びます。
詳しくは、SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google 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_ENTERPRISE=True
Node.js
インストール
npm install @google/genai
詳しくは、SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google 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_ENTERPRISE=True
Java
Java をインストールまたは更新する方法について学びます。
詳しくは、SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google 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_ENTERPRISE=True
REST
ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${API_ENDPOINT}:generateContent \
-d '{
"contents": {
"role": "USER",
"parts": [
{
"text": "Create a tutorial explaining how to make a peanut butter and jelly sandwich in three easy steps."
}
]
},
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
},
},
"safetySettings": {
"method": "PROBABILITY",
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
}' 2>/dev/null >response.json
Gemini は、説明に基づいて画像を生成します。このプロセスには数秒かかりますが、容量によっては比較的遅くなることがあります。
インターリーブされた画像とテキストを生成する
Gemini を使用して、テキスト レスポンスとインターリーブ画像を生成できます。たとえば、生成されたレシピの各ステップの画像を、モデルに個別のリクエストを行うことなく生成できます。
次の Gemini モデルは、インターリーブ画像とテキストの生成をサポートしています。
クリックしてサポートされているモデルを開く
コンソール
テキスト レスポンスとインターリーブ画像を生成するには、次の操作を行います。
- [Agent Studio] > [プロンプトを作成] を開きます。
- [モデルの切り替え] をクリックし、表示されたモデルのいずれかを選択します。
- [出力] パネルで、プルダウン メニューから [画像とテキスト] を選択します。
- [プロンプトを作成] テキスト領域に、生成する画像の説明を入力します。たとえば、「ピーナッツ バターとジャムのサンドイッチを 3 つのステップで作る方法を説明するチュートリアルを作成します。各ステップについて、ステップの番号と説明を含むタイトルを付け、画像も生成してください。各画像の縦横比は 1:1 にしてください。」
- [プロンプト]()ボタンをクリックします。
Gemini は、説明に基づいてレスポンスを生成します。このプロセスには数秒かかりますが、容量によっては比較的遅くなることがあります。
Python
インストール
pip install --upgrade google-genai
詳しくは、SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google 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_ENTERPRISE=True
Java
Java をインストールまたは更新する方法について学びます。
詳しくは、SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google 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_ENTERPRISE=True
Go
Go をインストールまたは更新する方法について学びます。
詳しくは、SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google 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_ENTERPRISE=True
Node.js
インストール
npm install @google/genai
詳しくは、SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Google 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_ENTERPRISE=True
REST
ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${API_ENDPOINT}:generateContent \
-d '{
"contents": {
"role": "USER",
"parts": [
{
"text": "Generate an illustrated recipe for a paella. Create images to
go alongside the text as you generate the recipe."
}
]
},
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
},
},
"safetySettings": {
"method": "PROBABILITY",
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
}' 2>/dev/null >response.json
Gemini は、説明に基づいて画像を生成します。このプロセスには数秒かかりますが、容量によっては比較的遅くなることがあります。
生成された画像を Cloud Storage に保存する
レスポンスで未加工の base64 エンコードされた画像バイトをインラインで返す代わりに、生成画像を Cloud Storage バケットに直接書き込み、オブジェクト URI を fileData.fileUri で返すように generateContent リクエストと streamGenerateContent リクエストを構成できます。
次の Gemini モデルは、Cloud Storage 出力の永続性をサポートしています。
- Gemini Nano Banana 2.1
(
gemini-nano-banana-2.1) - Gemini 3.1 Flash Image(
gemini-3.1-flash-image) - Gemini 3.1 Flash-Lite Image(
gemini-3.1-flash-lite-image) - Gemini 3 Pro Image
(
gemini-3-pro-image)
前提条件
Cloud Storage 出力の永続性を使用してリクエストを送信する前に、リクエストを認証するプリンシパルに、宛先の Cloud Storage バケットに対する次の Identity and Access Management 権限があることを確認します。
storage.objects.create(Storage オブジェクト作成者ロールroles/storage.objectCreatorなどのロールに含まれます)
画像を生成する前に、サービスは呼び出し元の認証情報を使用して、ターゲット Cloud Storage バケットに対する storage.objects.create 権限を確認します。Cloud Storage バケットが存在しない場合、呼び出し元に書き込み権限がない場合、または VPC Service Controls の境界が書き込みをブロックしている場合、リクエストは生成前に失敗し、403 PERMISSION_DENIED エラーが発生します。
Cloud Storage 出力を含むリクエストを送信する
生成された画像を Cloud Storage に直接書き込むには、generateContent リクエストまたは streamGenerateContent リクエストで次の両方のフィールドを構成します。
outputConfig.outputUriPrefixを宛先の Cloud Storage バケットまたはフォルダの接頭辞(例:gs://BUCKET_NAME/PREFIX/)に設定します。generationConfig.responseFormat[].image.deliveryを"URI"に設定します。
次の REST リクエストは、画像を生成して Cloud Storage バケットに直接書き込みます。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-nano-banana-2.1:generateContent" \
-d '{
"contents": [
{
"role": "USER",
"parts": [
{
"text": "Create an architectural rendering of a sustainable glass greenhouse in alpine snow."
}
]
}
],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"responseFormat": [
{
"image": {
"delivery": "URI"
}
}
]
},
"outputConfig": {
"outputUriPrefix": "gs://BUCKET_NAME/PREFIX/"
}
}'
次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- BUCKET_NAME: 宛先の Cloud Storage バケットの名前。
- PREFIX: Cloud Storage バケット内のオプションのフォルダパス接頭辞(例:
outputs)。
このサービスは、生成された各画像部分を、命名パターン gs://BUCKETNAME/PREFIX/imageGENERATIONID.EXTENSION(レスポンスに複数の候補が含まれている場合は CANDIDATEINDEX、候補に複数の画像が含まれている場合は IMAGE_INDEX を追加)を使用して Cloud Storage に書き込み、fileData で URI を返します。
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"fileData": {
"mimeType": "image/png",
"fileUri": "gs://my-bucket/outputs/image_1234567890.png"
}
}
]
}
}
]
}
Cloud Storage 出力配信を構成すると、サービスはレスポンスを次のように処理します。
- テキストと画像の混合レスポンス:
TEXTレスポンスとIMAGEレスポンスのテキスト部分は、parts[].textでインラインのままになります。生成された画像部分のみが Cloud Storage に書き込まれ、parts[].fileDataオブジェクトとして返されます。 - 思考画像:
generationConfig.thinkingConfig.includeThoughtsがtrueに設定されている場合、中間思考画像(parts[].thought: true)もthoughtimageGENERATION_ID接頭辞を使用して Cloud Storage に書き込まれ、parts[].fileDataオブジェクトとして返されます。 - ストリーミング レスポンス(
streamGenerateContent): 生成された各画像は、fileData.fileUriを参照するレスポンス チャンクが送信される前に Cloud Storage に書き込まれます。 - 画像なしのレスポンス: リクエストがテキストのみを返す場合や、安全フィルタによってブロックされた場合、Cloud Storage にオブジェクトは書き込まれません。
- 暗号化と保持: 書き込まれたオブジェクトは、顧客管理の暗号鍵(CMEK)を含む宛先 Cloud Storage バケットの暗号化構成を継承し、Cloud Storage バケットのライフサイクル管理ルールに従います。
制限事項
Cloud Storage 出力には次の制限があります。
プロジェクト間の Cloud Storage バケットを使用したマルチターン編集: サービスは、リクエストを送信したプリンシパルの認証情報を使用して、生成画像を書き込みます。ただし、マルチターン会話の後のリクエストで、生成された画像を
fileData.fileUriで参照すると、サービスは呼び出し元プロジェクトの Gemini Enterprise Agent Platform サービス エージェント(service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com)を使用してオブジェクトを読み取ります。宛先の Cloud Storage バケットが別のプロジェクトにあり、サービス エージェントにその Cloud Storage バケットに対するstorage.objects.get権限がない場合、元の書き込みが成功しても、フォローアップ リクエストは403 PERMISSION_DENIEDエラーで失敗します。生成画像をマルチターン編集の入力として使用するには、宛先 Cloud Storage バケットに対する読み取りアクセス権(ストレージ オブジェクト閲覧者ロール
roles/storage.objectViewerなど)をサービス エージェントに付与します。
次のステップ
Gemini の画像生成の詳細については、次のリンクをご覧ください。