本页面介绍了如何配置 Imagen on Vertex AI 生成图片的宽高比。
根据您计划如何使用生成的图片,可能有一个最适合的宽高比。请选择最适合您的应用场景的宽高比。
您可以使用多种图片生成模型,并且某些宽高比仅适用于特定的 Imagen 模型。如需了解详情,请参阅 Imagen 模型。
宽高比 | 预期用途 | 示例图片 |
---|---|---|
1:1 |
默认,方形,常规用途 |
![]() |
3:4 |
电视、媒体、电影 |
![]() |
4:3 |
电视、媒体、电影 |
![]() |
9:16 |
纵向,较高对象,移动设备 |
![]() |
16:9 |
横向 |
![]() |
控制台
REST
宽高比是 JSON 请求正文的 parameters
对象中的可选字段。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目 ID。
-
MODEL_VERSION:要使用的 Imagen 模型版本。如需详细了解可用的模型,请参阅 Imagen 模型。
- LOCATION:您的项目的区域。 例如
us-central1
、europe-west2
或asia-northeast3
。如需查看可用区域的列表,请参阅 Vertex AI 上的生成式 AI 位置。 - TEXT_PROMPT:用于指导模型生成什么图片的文本提示。生成和修改都需要此字段。
- IMAGE_COUNT:生成的图片数量。
接受的整数值:1-8 (
imagegeneration@002
)、1-4(所有其他模型版本)。默认值:4。 - ADD_WATERMARK:布尔值。可选。是否为生成的图片启用水印。将该字段设置为
true
时生成的任何图片都包含数字 SynthID,您可以使用此 ID 来验证带水印的图片。如果您省略此字段,则系统会使用默认值true
;您必须将该值设置为false
才能停用此功能。仅当seed
字段设置为false
时,您才可以使用该字段来获取确定性输出。 - ASPECT_RATIO:字符串。可选。用于控制宽高比的生成模式参数。支持的宽高比值及其预期用途:
1:1
(默认,方形)3:4
(广告、社交媒体)4:3
(电视、摄影)16:9
(横向)9:16
(纵向)
- ENABLE_PROMPT_REWRITING:布尔值。可选。一个参数,使用基于 LLM 的重写提示功能,以提供更高质量的图片,从而更好地反映原始提示的意图。停用此功能可能会影响图片质量和提示遵循度。默认值:
true
。 -
INCLUDE_RAI_REASON:布尔值。可选。是否在输入或输出被屏蔽的回答中启用 Responsible AI 过滤的原因代码。默认值:
true
。 - INCLUDE_SAFETY_ATTRIBUTES:布尔值。可选。是否针对未经过滤的输入和输出在回答中启用安全属性列表的四舍五入 Responsible AI 分数。安全属性类别:
"Death, Harm & Tragedy"
、"Firearms & Weapons"
、"Hate"
、"Health"
、"Illicit Drugs"
、"Politics"
、"Porn"
、"Religion & Belief"
、"Toxic"
、"Violence"
、"Vulgarity"
、"War & Conflict"
。默认值为false
。 - MIME_TYPE:字符串。可选。图片的 MIME 类型。可用的值:
image/jpeg
image/gif
image/png
image/webp
image/bmp
image/tiff
image/vnd.microsoft.icon
- COMPRESSION_QUALITY:整数。可选。仅适用于 JPEG 输出文件。模型为以 JPEG 文件格式生成的图片保留的细节程度。值:
0
到100
,其中数字越大表示压缩程度越高。默认值:75
。 - PERSON_SETTING:字符串。可选。用于控制模型允许的人物类型或人脸生成的安全设置。可用的值:
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 方法和网址:
POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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 \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/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 "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict" | Select-Object -Expand Content
"sampleCount":
2
的请求。响应返回两个预测对象,其中生成的图片字节采用 base64 编码。
{ "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" } ] }