您可以使用 Gemini,根據文字提示詞生成圖像。支援的介面包括 Google Cloud 控制台和 Agent Platform API。
下列 Gemini 模型支援圖像生成功能:
按一下即可展開支援的模型
如要進一步瞭解 Gemini 模型功能,請參閱「Gemini 模型」。
生成圖像
以下說明如何使用 Agent Studio 或 API 生成圖片。
如要進一步瞭解提示詞的最佳做法,請參閱「設計多模態提示詞」。
控制台
如要使用 Gemini 生成圖像,請按照下列步驟操作:
- 依序開啟「Agent Studio> 建立提示詞」。
- 按一下「切換模型」,然後選取其中一個顯示的模型。
- 在「Outputs」(輸出) 面板中,從下拉式選單選取「Image and text」(圖片和文字)。
- 在「Write a prompt」(撰寫提示) 文字區域中,輸入要生成的圖片說明。
- 按一下「提示」按鈕 。
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
詳情請參閱 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
詳情請參閱 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> 建立提示詞」。
- 按一下「切換模型」,然後選取其中一個顯示的模型。
- 在「Outputs」(輸出) 面板中,從下拉式選單選取「Image and text」(圖片和文字)。
- 在「撰寫提示」文字區域中,輸入要生成的圖片說明。例如:「製作教學課程,說明如何透過三個步驟製作花生醬和果醬三明治。請為每個步驟提供標題 (包含步驟編號) 和說明,並生成一張顯示比例為 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
詳情請參閱 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
詳情請參閱 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
您可以設定 generateContent 和 streamGenerateContent 要求,將生成的圖片直接寫入 Cloud Storage bucket,並在 fileData.fileUri 中傳回物件 URI,而不是在回應中傳回原始 base64 編碼圖片位元組。
下列 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 bucket 的 Identity and Access Management 權限:
storage.objects.create(包含在 Storage 物件建立者角色roles/storage.objectCreator等角色中)
產生映像檔之前,服務會使用呼叫端的憑證,驗證目標 Cloud Storage bucket 的 storage.objects.create 權限。如果 Cloud Storage bucket 不存在、呼叫端缺少寫入權限,或 VPC Service Controls perimeter 封鎖寫入,要求會在生成前失敗,並傳回 403 PERMISSION_DENIED 錯誤。
傳送要求並輸出至 Cloud Storage
如要將生成的圖像直接寫入 Cloud Storage,請在 generateContent 或 streamGenerateContent 要求中設定下列兩個欄位:
- 將
outputConfig.outputUriPrefix設為目的地 Cloud Storage bucket 或資料夾前置字串 (例如gs://BUCKET_NAME/PREFIX/)。 - 將
generationConfig.responseFormat[].image.delivery設為"URI"。
下列 REST 要求會生成圖片,並直接寫入 Cloud Storage bucket:
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 bucket 的名稱。
- PREFIX:Cloud Storage bucket 內選用的資料夾路徑前置字元 (例如
outputs)。
服務會使用命名模式 gs://BUCKETNAME/PREFIX/imageGENERATIONID.EXTENSION,將每個生成的圖片部分寫入 Cloud Storage (如果回覆包含多個候選項目,則附加 CANDIDATEINDEX;如果候選項目包含多張圖片,則附加 IMAGE_INDEX),並在 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):每張生成圖像都會先寫入 Cloud Storage,然後系統才會傳送參照其fileData.fileUri的回覆區塊。 - 無圖片回應:如果要求僅傳回文字,或遭到安全篩選器封鎖,系統就不會將任何物件寫入 Cloud Storage。
- 加密和保留:寫入的物件會沿用目的地 Cloud Storage bucket 的加密設定,包括客戶自行管理的加密金鑰 (CMEK),並遵循 Cloud Storage bucket 的生命週期管理規則。
限制
Cloud Storage 輸出內容有下列限制:
使用跨專案 Cloud Storage bucket 進行多輪遞進編輯:服務會使用傳送要求的實體憑證,寫入生成的圖像。不過,如果多輪對話中的後續要求透過
fileData.fileUri參照生成圖像,服務會使用呼叫專案 (service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com) 的 Gemini Enterprise Agent Platform 服務代理讀取物件。如果目的地 Cloud Storage bucket 位於其他專案,且服務代理沒有該 Cloud Storage bucket 的storage.objects.get權限,則後續要求會失敗,並顯示403 PERMISSION_DENIED錯誤,即使原始寫入作業成功也一樣。如要在多輪遞進編輯中使用生成圖像做為輸入內容,請授予服務代理對目的地 Cloud Storage bucket 的讀取權限 (例如 Storage 物件檢視者角色
roles/storage.objectViewer)。
後續步驟
如要進一步瞭解 Gemini 圖像生成功能,請參閱下列連結: