您可以使用 Gemini 根据文本提示生成图片。支持的界面包括 Google Cloud 控制台和 Agent Platform API。
以下 Gemini 模型支持图片生成:
点击即可展开支持的模型
如需详细了解 Gemini 模型功能,请参阅 Gemini 模型。
生成图片
以下内容介绍了如何使用 Agent Studio 或 API 生成图片。
如需详细了解提示的最佳实践,请参阅设计多模态提示。
控制台
如需使用 Gemini 生成图片,请执行以下操作:
- 依次打开 Agent Studio > 创建提示。
- 点击切换模型,然后选择一个显示的模型。
- 在输出面板中,从下拉菜单中选择图片和文本。
- 在编写提示文本区域中,撰写要生成的图片的说明。
- 点击提示 () 按钮。
Gemini 会根据您的说明生成图片。此过程需要几秒钟,但可能会相对较慢,具体取决于容量。
Python
安装
pip install --upgrade google-genai
如需了解详情,请参阅 SDK 参考文档。
设置环境变量以将 Google Gen AI SDK 与 Vertex AI 搭配使用:
# 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 参考文档。
设置环境变量以将 Google Gen AI SDK 与 Vertex AI 搭配使用:
# 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 参考文档。
设置环境变量以将 Google Gen AI SDK 与 Vertex AI 搭配使用:
# 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 参考文档。
设置环境变量以将 Google Gen AI SDK 与 Vertex AI 搭配使用:
# 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 > 创建提示。
- 点击切换模型,然后选择一个显示的模型。
- 在输出面板中,从下拉菜单中选择图片和文本。
- 在编写提示文本区域中,撰写要生成的图片的说明。例如,“创建一个教程,说明如何通过三个步骤制作花生酱和果酱三明治。对于每个步骤,提供一个包含步骤编号的标题、一段说明,并生成一张图片,每张图片的宽高比为 1:1。”
- 点击提示 () 按钮。
Gemini 会根据您的说明生成回答。此过程需要几秒钟,但可能会相对较慢,具体取决于容量。
Python
安装
pip install --upgrade google-genai
如需了解详情,请参阅 SDK 参考文档。
设置环境变量以将 Google Gen AI SDK 与 Vertex AI 搭配使用:
# 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 参考文档。
设置环境变量以将 Google Gen AI SDK 与 Vertex AI 搭配使用:
# 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 参考文档。
设置环境变量以将 Google Gen AI SDK 与 Vertex AI 搭配使用:
# 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 参考文档。
设置环境变量以将 Google Gen AI SDK 与 Vertex AI 搭配使用:
# 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 存储桶,并在 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 存储桶上是否具有以下 Identity and Access Management 权限:
storage.objects.create(包含在 Storage Object Creator 角色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 写入任何对象。
- 加密和保留:写入的对象会继承目标 Cloud Storage 存储桶的加密配置(包括客户管理的加密密钥 [CMEK]),并遵循 Cloud Storage 存储桶的生命周期管理规则。
限制
Cloud Storage 输出具有以下限制:
使用跨项目 Cloud Storage 存储桶进行多轮编辑:该服务使用发送请求的主体的凭据写入生成的图片。但是,当多轮对话中的后续请求通过其
fileData.fileUri引用生成的图片时,服务会使用调用项目 (service-PROJECT_NUMBER@gcp-sa-aiplatform.) 的 Gemini Enterprise Agent Platform 服务代理读取该对象。如果目标 Cloud Storage 存储桶位于其他项目中,并且服务代理对该 Cloud Storage 存储桶没有storage.objects.get权限,则后续请求会失败,并显示403 PERMISSION_DENIED错误,即使原始写入成功也是如此。如需在多轮编辑中使用生成的图片作为输入,请向服务代理授予对目标 Cloud Storage 存储桶的读取权限(例如,Storage Object Viewer 角色
roles/storage.objectViewer)。
后续步骤
如需详细了解 Gemini 图片生成功能,请参阅以下链接: