图像生成请求和回复结构
以下示例展示了不同的图像生成应用场景。每个示例都解释了用于图像生成的字段。
- Text-to-image request
-
{ "taskType": "TEXT_IMAGE", "textToImageParams": { "text":
string
, "negativeText":string
}, "imageGenerationConfig": { "width":int
, "height":int
, "quality": "standard" | "premium", "cfgScale":float
, "seed":int
, "numberOfImages":int
} }此请求中使用了以下
textToImageParams
字段:-
text
(必要)– 用于生成图像的文本提示。提示的长度必须是 1-1024 个字符。 -
negativeText
(可选)– 用于定义图像内不包含什么内容的文本提示。此值的长度必须是 1-1024 个字符。
注意
避免在
text
和negativeText
值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在text
字段中包含“无镜子”或“没有镜子”,而要在negativeText
字段中使用“镜子”一词。 -
- Text-to-image request with image conditioning
-
{ "taskType": "TEXT_IMAGE", "textToImageParams": { "conditionImage":
string (Base64 encoded image)
, "controlMode": "CANNY_EDGE" | "SEGMENTATION", "controlStrength":float
, "text":string
, "negativeText":string
}, "imageGenerationConfig": { "width":int
, "height":int
, "quality": "standard" | "premium", "cfgScale":float
, "seed":int
, "numberOfImages":int
} }此请求中使用了以下
textToImageParams
字段:-
conditionImage
(必要)– 用于指导所生成图像的布局和构图的 JPEG 或 PNG 图像。图像必须格式化为 Base64 字符串。有关其他要求,请参阅用于图像生成的输入图像。 -
controlMode
(可选)– 指定要使用的调节模式。默认值为“CANNY_EDGE”。-
CANNY_EDGE
– 所生成图像的元素将严格遵循条件图像的突出轮廓或“边缘”。 -
SEGMENTATION
– 将自动分析条件图像来识别突出的内容形状。这种分析会生成一个分割遮罩,以此来指导图像的生成。最终生成的图像会严格遵循条件图像的布局,但也让模型在每个内容区域的范围内有更多自由发挥的余地。
-
-
controlStrength
(可选)– 指定所生成图像的布局和构图与conditionImage
的相似程度。范围是 0 到 1.0,值越低,随机性越大。默认值为 0.7。 -
text
(必要)– 用于生成图像的文本提示。提示的长度必须是 1-1024 个字符。 -
negativeText
(可选)– 用于定义图像内不包含什么内容的文本提示。此值的长度必须是 1-1024 个字符。
注意
避免在
text
和negativeText
值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在text
字段中包含“无镜子”或“没有镜子”,而要在negativeText
字段中使用“镜子”一词。 -
- Color guided image generation request
-
{ "taskType": "COLOR_GUIDED_GENERATION", "colorGuidedGenerationParams": { "colors":
string[] (list of hexadecimal color values)
, "referenceImage":string (Base64 encoded image)
, "text":string
, "negativeText":string
}, "imageGenerationConfig": { "width":int
, "height":int
, "quality": "standard" | "premium", "cfgScale":float
, "seed":int
, "numberOfImages":int
} }此请求中使用了以下
colorGuidedGenerationParams
字段:-
colors
(必要)– 包含最多 10 个颜色代码的列表,用于定义图像所需的调色板。以“#RRGGBB”形式的十六进制值表示。例如,“#00FF00”是纯绿色,“#FCF2AB”是暖黄色。如果未提供referenceImage
,则colors
列表的效果最强。否则,列表中的颜色和参考图像中的颜色都会用于最终输出。 -
referenceImage
(可选)– 用作主题和样式参考的 JPEG 或 PNG 图像。图像的颜色也将与colors
列表中的颜色一起融入最终输出。有关其他要求,请参阅用于图像生成的输入图像。 -
text
(必要)– 用于生成图像的文本提示。提示的长度必须是 1-1024 个字符。 -
negativeText
(可选)– 用于定义图像内不包含什么内容的文本提示。此值的长度必须是 1-1024 个字符。
注意
避免在
text
和negativeText
值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在text
字段中包含“无镜子”或“没有镜子”,而要在negativeText
字段中使用“镜子”一词。 -
- Image variation request
-
{ "taskType": "IMAGE_VARIATION", "imageVariationParams": { "images":
string[] (list of Base64 encoded images)
, "similarityStrength":float
, "text":string
, "negativeText":string
}, "imageGenerationConfig": { "height":int
, "width":int
, "cfgScale":float
, "seed":int
, "numberOfImages":int
} }此请求中使用了以下
imageVariationParams
字段:-
images
(必要)– 用作参考的 1 到 5 张图像的列表。每张图象都必须为 JPEG 或 PNG 格式,且都编码为 Base64 字符串。有关其他要求,请参阅用于图像生成的输入图像。 -
similarityStrength
(可选)– 指定生成的图像与输入图像的相似程度。有效值在 0.2-1.0 之间,且值越低,随机性越大。 -
text
(必要)– 用于生成图像的文本提示。提示的长度必须是 1-1024 个字符。如果忽略此字段,模型将移除遮罩区域内的元素,并将之替换为图像背景的无缝扩展。 -
negativeText
(可选)– 用于定义图像内不包含什么内容的文本提示。此值的长度必须是 1-1024 个字符。
注意
避免在
text
和negativeText
值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在text
字段中包含“无镜子”或“没有镜子”,而要在negativeText
字段中使用“镜子”一词。 -
- Inpainting request
-
{ "taskType": "INPAINTING", "inPaintingParams": { "image":
string (Base64 encoded image)
, "maskPrompt":string
, "maskImage":string (Base64 encoded image)
, "text":string
, "negativeText":string
}, "imageGenerationConfig": { "numberOfImages":int
, "quality": "standard" | "premium", "cfgScale":float
, "seed":int
} }此请求中使用了以下
inPaintingParams
字段:-
image
(必要)– 要修改的 JPEG 或 PNG,且格式化为 Base64 字符串。有关其他要求,请参阅用于图像生成的输入图像。 -
maskPrompt
或maskImage
(必要)– 必须指定maskPrompt
或maskImage
参数,但不能同时指定两者。maskPrompt
是一种自然语言文本提示,用于描述要编辑的图像区域。maskImage
是一种图像,用于定义要编辑的图像区域。遮罩图像必须与输入图像的大小相同。要编辑的区域是纯黑色阴影,要忽略的区域是纯白色阴影。不允许在遮罩图像中使用其他颜色。请注意,就遮罩图像的颜色要求而言,补绘请求和扩绘请求是相反的。
-
text
(必要)– 用于描述要在遮罩区域内生成什么内容的文本提示。提示的长度必须是 1-1024 个字符。如果忽略此字段,模型将移除遮罩区域内的元素,并将之替换为图像背景的无缝扩展。 -
negativeText
(可选)– 用于定义图像内不包含什么内容的文本提示。此值的长度必须是 1-1024 个字符。
注意
避免在
text
和negativeText
值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在text
字段中包含“无镜子”或“没有镜子”,而要在negativeText
字段中使用“镜子”一词。 -
- Outpainting request
-
{ "taskType": "OUTPAINTING", "outPaintingParams": { "image":
string (Base64 encoded image)
, "maskPrompt":string
, "maskImage":string (Base64 encoded image)
, "outPaintingMode": "DEFAULT" | "PRECISE", "text":string
, "negativeText":string
}, "imageGenerationConfig": { "numberOfImages":int
, "quality": "standard" | "premium" "cfgScale":float
, "seed":int
} }此请求中使用了以下
outPaintingParams
字段:-
image
(必要)– 要修改的 JPEG 或 PNG,且格式化为 Base64 字符串。有关其他要求,请参阅用于图像生成的输入图像。 -
maskPrompt
或maskImage
(必要)– 必须指定maskPrompt
或maskImage
参数,但不能同时指定两者。maskPrompt
是一种自然语言文本提示,用于描述要编辑的图像区域。maskImage
是一种图像,用于定义要编辑的图像区域。遮罩图像必须与输入图像的大小相同。要编辑的区域是纯白色阴影,要忽略的区域是纯黑色阴影。不允许在遮罩图像中使用其他颜色。请注意,就遮罩图像的颜色要求而言,补绘请求和扩绘请求是相反的。
-
outPaintingMode
– 确定如何解释提供的遮罩。DEFAULT
用于在遮罩区域和非遮罩区域之间平滑过渡。某些原始像素用作新背景的起点。若希望新背景使用与原始背景相似的颜色时,此模式通常更好。不过,如果提示要求使用与原始背景明显不同的新背景,则可以产生光晕效果。PRECISE
用于严格遵守遮罩边界。在对背景进行重大更改时,此模式通常会更好。 -
text
(必要)– 用于描述要在遮罩区域内生成什么内容的文本提示。提示的长度必须是 1-1024 个字符。如果忽略此字段,模型将移除遮罩区域内的元素,并将之替换为图像背景的无缝扩展。 -
negativeText
(可选)– 用于定义图像内不包含什么内容的文本提示。此值的长度必须是 1-1024 个字符。
注意
避免在
text
和negativeText
值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在text
字段中包含“无镜子”或“没有镜子”,而要在negativeText
字段中使用“镜子”一词。 -
- Background removal request
-
{ "taskType": "BACKGROUND_REMOVAL", "backgroundRemovalParams": { "image":
string (Base64 encoded image)
} }此请求中使用了以下
backgroundRemovalParams
字段:-
image
(必要)– 要修改的 JPEG 或 PNG,且格式化为 Base64 字符串。有关其他要求,请参阅用于图像生成的输入图像。
BACKGROUND_REMOVAL
任务会返回具有全 8 位透明度的 PNG 图像。这种格式让您可以干净流畅地分离出前景对象,并且可以轻松地在图像编辑应用程序、演示文稿或网站中将该图像与其他元素进行合成。使用简单的自定义代码即可轻松地将背景更改为纯色。 -
- Response body
-
{ "images": "images": string[] (list of Base64 encoded images), "error": string }
回复正文会包含以下一个或多个字段:
-
images – 成功后,会返回一个由 Base64 编码字符串组成的列表,这些字符串表示生成的每一张图像。该列表中包含的图像数量并不一定与请求的图像数量相同。如果个别图像不符合 AWS 负责任的人工智能(RAI)内容审核政策,则可能会在生成后被屏蔽。仅会返回符合 RAI 政策的图像。
-
error – 如果有任何图像不符合 RAI 政策,则会返回此字段。否则,回复中会忽略此字段。
-
imageGenerationConfig
字段适用于所有任务类型,但 BACKGROUND_REMOVAL
除外。其为可选字段,且包含以下字段。如果忽略此对象,则会使用默认配置。
-
width
和height
(可选)– 定义所生成图像的大小和宽高比。二者的默认值都为 1024。有关受支持分辨率的完整列表,请参阅支持的图像分辨率。 -
quality
(可选)– 指定生成图像时所使用的质量 –“标准”(默认)或“优质”。 -
cfgScale
(可选)– 指定生成的图像应在多大程度上遵守提示。使用较低的值可在生成中引入更多的随机性。Minimum Maximum Default 1.1 10 6.5 -
numberOfImages
(可选)– 要生成的图像数量。Minimum Maximum Default 1 5 1 -
seed
(可选)– 确定生成过程的初始噪声设置。在保持其余参数不变的情况下更改种子值,将生成一张全新的图像,该图像仍符合提示、尺寸和其他设置要求。为了找到完美的图像,通常会尝试多种种子值。Minimum Maximum Default 0 858,993,459 12
重要
分辨率(width
和 height
)、numberOfImages
和quality
,都会对生成图像所需的时间产生影响。AWS SDK 的默认 read_timeout
为 60 秒,如果这些参数取值较高,就很容易超出该时间限制。因此,建议将调用操作的 read_timeout
增加到至少 5 分钟(300 秒)。以下代码示例演示了如何执行此操作。