借助 Vertex AI API 中的 Imagen 商品重新情境化功能,您可以将商品图片修改为不同的场景或背景。您提供产品图片和提示,Imagen 产品重构功能会生成产品在新场景中或采用不同背景的图片。
如需申请访问 Imagen 产品重新情境化功能,请填写 Vertex AI - Generative Media for Marketing Access Request 表单。
支持的模型版本
Imagen 产品重新情境化功能支持以下模型:
imagen-product-recontext-preview-06-30
如需详细了解该模型支持的功能,请参阅 Imagen 模型。
HTTP 请求
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:predict \
-d '{
"instances": [
{
"prompt": string,
"productImages": [
// The following fields can be repeated up to 3 times for different
// views of the same product.
{
"image": {
// Union field can be only one of the following:
"bytesBase64Encoded": string,
"gcsUri": string,
// End of list of possible types for union field.
},
}
]
}
],
"parameters": {
"addWatermark": boolean,
"enhancePrompt": boolean
"personGeneration": string,
"safetySetting": string,
"sampleCount": integer,
"seed": integer,
"storageUri": string,
"outputOptions": {
"mimeType": string,
"compressionQuality": integer
}
}
}'
实例
实例 | |
---|---|
prompt |
可选。用于指导场景生成的文本提示。 |
productImages |
最多包含 3 个不同
|
productImages
对象
productImages
对象描述了要放置到不同场景或背景中的图片素材资源。
productImages |
|
---|---|
联合字段
|
|
bytesBase64Encoded |
图片或视频文件的字节 base64 编码字符串。 |
gcsUri |
指向 Cloud Storage 存储桶位置的字符串 URI。 |
参数
参数 | |
---|---|
addWatermark |
可选。向生成的图片添加不可见水印。
默认值为 |
enhancePrompt |
可选。一个可选参数,用于使用基于 LLM 的重写提示功能,以提供更高质量的图片,从而更好地反映原始提示的意图。停用此功能可能会影响图片质量和提示遵循度。
默认值为 |
personGeneration |
可选。允许模型生成人物。支持以下值:
默认值为 |
safetySetting |
可选。为安全性过滤策略添加过滤级别。支持以下值:
默认值为 |
|
要生成的图片数量。
一个介于 |
seed |
可选。用于生成图片的随机种子。当
如果 |
storageUri |
可选。用于存储生成的图片的 Cloud Storage 存储桶位置的字符串 URI。如果未提供 Cloud Storage 存储桶,则回答中会返回 base64 编码的图片字节。 |
outputOptions |
可选。在 |
输出选项对象
outputOptions
对象描述图片输出。
参数 | |
---|---|
outputOptions.mimeType |
可选: 图片输出格式。支持以下值:
默认值为 |
outputOptions.compressionQuality |
可选:
如果输出类型为 |
示例请求
REST
在使用任何请求数据之前,请先进行以下替换:
-
REGION
:项目所在的区域。如需详细了解支持的区域,请参阅 Vertex AI 上的生成式 AI 位置。 -
PROJECT_ID
:您的 Google Cloud 项目 ID。 -
TEXT_PROMPT
:可选。用于引导模型生成图片的文本提示。 -
BASE64_SUBJECT_IMAGE
:以 base64 编码的正文图片。 -
PERSON_SETTING
: 可选:一个字符串值,用于控制模型允许生成的人物或人脸类型。您可以为personGeneration
使用以下值:-
"allow_adult"
:仅允许生成成人(名人除外)。不允许针对任何设置生成名人。这是默认设置。 -
"allow_all"
:允许生成所有年龄的人(名人除外)。不允许针对任何设置生成名人。 -
"dont_allow"
:不允许在生成的输出内容中生成人物或人脸。
-
-
SAFETY_SETTING
: 可选:一个字符串值,用于控制生成图片的安全过滤阈值。您可以使用以下值来选择安全设置:-
"block_low_and_above"
:最严格的安全阈值。"block_low_and_above"
过滤的生成图片数量最多。 -
"block_medium_and_above"
:中等安全阈值,用于平衡潜在有害内容和安全内容的过滤。"block_medium_and_above"
是默认安全设置。 -
"block_only_high"
:最低安全阈值,可减少因安全过滤器而被屏蔽的请求数量。使用"block_only_high"
安全阈值可能会增加模型生成的不良图片数量。
-
-
WATERMARK_SETTING
: 可选:布尔值。如果此值设置为true
,模型会添加数字水印,您可以使用该水印来验证生成的图片。默认值为true
。 -
IMAGE_COUNT
:要生成的图片数量。接受的值范围为1
-4
。 -
PROMPT_SETTING
: 可选:布尔值。如果此值设置为true
,模型将使用增强型 prmopts。默认值为true
。
HTTP 方法和网址:
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict
请求 JSON 正文:
{ "instances": [ { "prompt": "TEXT_PROMPT", "productImages": [ { "image": { "bytesBase64Encoded": "BASE64_SUBJECT_IMAGE" }, } ] } ], "parameters": { "personGeneration": PERSON_SETTING, "safetySetting": SAFETY_SETTING, "addWatermark": WATERMARK_SETTING, "sampleCount": IMAGE_COUNT, "enhancePrompt": PROMPT_SETTING } }
如需发送请求,请选择以下方式之一:
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/imagen-product-recontext-preview-06-30: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/imagen-product-recontext-preview-06-30:predict" | Select-Object -Expand Content
{ "predictions": [ { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" }, { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" } ] }