图像生成和编辑
Amazon Nova Canvas 可通过 Bedrock InvokeModel API 使用,并在执行模型推理时支持以下推理参数和模型回复。
图像生成请求和回复格式
使用 Amazon Nova Canvas 模型调用 InvokeModel 时,请将请求的 body
字段替换为与应用场景匹配的格式。所有任务共享一个 imageGenerationConfig
对象,但每个任务都有一个特定于该任务的参数对象。支持以下应用场景:
任务类型值 | 任务参数字段 | 任务类别 | 描述 |
---|---|---|---|
TEXT_IMAGE ,仅带文本 |
textToImageParams |
生成 | 使用文本提示生成图像。 |
TEXT_IMAGE ,带图像调节 |
textToImageParams |
生成 | 除文本提示外,还提供了输入调节图像,用来生成与调节图像的布局和构图一致的图像。 |
COLOR_GUIDED_GENERATION |
colorGuidedGenerationParams |
生成 | 除文本提示和可选的参考图像外,还提供十六进制格式的颜色值列表(例如 #FF9800),用来生成符合指定调色板的图像。 |
IMAGE_VARIATION |
imageVariationParams |
生成 | 提供一个或多个输入图像(带或不带文本提示)来影响生成的图像。可用于影响生成的图像的视觉风格(与文本提示结合使用时)、生成单个图像的变体(在无文本提示的情况下使用时)、以及用于其他创意效果和控制。 |
INPAINTING |
inPaintingParams |
编辑 | 通过更改被遮罩区域内的面积来修改图像。可用于添加、移除或替换图像元素。 |
OUTPAINTING |
outPaintingParams |
编辑 | 通过更改被遮罩区域外的面积来修改图像。可用于替换对象背后的背景。 |
BACKGROUND_REMOVAL |
backgroundRemovalParams |
编辑 | 自动移除任何图像的背景,并将背景替换为透明像素。如果您计划以后在图像编辑应用、演示文稿或网站中将该图像与其他元素进行合成,此功能将非常实用。通过自定义代码也可轻松地将背景更改为纯色。 |
VIRTUAL_TRY_ON |
virtualTryOnParams |
编辑 | 提供源图像和参考图像,并将参考图像中的对象叠加到源图像上。可用于直观地显示在不同模特身上或不同姿势穿着的服装和配饰,改变对象、物品或服装的风格和外观,或者将风格和设计从一个对象转移到另一个对象。 |
用于图像生成的输入图像
许多任务类型都要求在请求中包含一张或多张输入图像。请求中所用的任何图像都必须编码为 Base64 字符串。图像通常采用 PNG 或 JPEG 格式,但每个颜色通道必须为 8 位(RGB)。PNG 图像可以包含额外的 Alpha 通道,但该通道不得包含任何透明或半透明像素。有关支持的输入图像尺寸的具体详细信息,请参阅支持的图像分辨率。
遮罩图像是一种指明要进行补绘或扩绘的区域的图像。这种图像只能包含纯黑色和纯白色像素。
对于补绘请求,涂成黑色的区域称为遮罩区域,将被更改。遮罩图像的其余部分必须仅包含纯白色像素。纯白色像素表示遮罩区域之外的部分。
对于扩绘请求,模型将更改涂成白色的区域。
遮罩图像不得包含任何非纯黑色或纯白色的像素。如果使用 JPEG 图像作为遮罩,则必须以 100% 的质量对其进行压缩,以免在压缩过程中引入非白色或非黑色像素。
有关如何在 Base64 字符串中对图像进行编码或解码的示例,请参阅代码示例。
遮罩图像
编辑图像时,遮罩是定义要编辑区域的一种方式。可以通过以下三种方式之一定义遮罩:
-
maskPrompt
– 编写一个自然语言文本提示来描述图像中要遮罩的部分。 -
maskImage
– 黑白图像,其中纯黑色像素表示遮罩内的区域,纯白色像素表示遮罩外的区域。对于补绘请求,模型将更改黑色像素区域。对于扩绘请求,模型将更改白色像素区域。
-
garmentBasedMask
– 基于图像的遮罩,用于定义要替换的区域以及一些有限的风格选项。
可以使用照片编辑工具来绘制遮罩,也可以使用自定义代码来创建遮罩。否则,请用 maskPrompt 字段让模型推断遮罩。
支持的图像分辨率
您可以为生成任务指定任何输出分辨率,只要图像符合以下要求:
-
每条边的像素必须在 320 到 4096 像素之间(含两端值)。
-
每条边必须均可被 16 整除。
-
宽高比必须在 1:4 到 4:1 之间。也就是说,一边的长度不能超过另一边的 4 倍。
-
总像素数必须小于 4,194,304。
这些限制条件中的大多数也适用于输入图像。不过,图像的每条边不要求被 16 整除。