图像生成请求和回复结构 - Amazon Nova

图像生成请求和回复结构

以下示例展示了不同的图像生成应用场景。每个示例都解释了用于图像生成的字段。

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 个字符。

注意

避免在 textnegativeText 值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在 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 个字符。

注意

避免在 textnegativeText 值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在 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 个字符。

注意

避免在 textnegativeText 值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在 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 个字符。

注意

避免在 textnegativeText 值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在 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 字符串。有关其他要求,请参阅用于图像生成的输入图像

  • maskPromptmaskImage(必要)– 必须指定 maskPromptmaskImage 参数,但不能同时指定两者。

    maskPrompt 是一种自然语言文本提示,用于描述要编辑的图像区域。

    maskImage 是一种图像,用于定义要编辑的图像区域。遮罩图像必须与输入图像的大小相同。要编辑的区域是纯黑色阴影,要忽略的区域是纯白色阴影。不允许在遮罩图像中使用其他颜色。

    请注意,就遮罩图像的颜色要求而言,补绘请求和扩绘请求是相反的。

  • text(必要)– 用于描述要在遮罩区域内生成什么内容的文本提示。提示的长度必须是 1-1024 个字符。如果忽略此字段,模型将移除遮罩区域内的元素,并将之替换为图像背景的无缝扩展。

  • negativeText(可选)– 用于定义图像内不包含什么内容的文本提示。此值的长度必须是 1-1024 个字符。

注意

避免在 textnegativeText 值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在 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 字符串。有关其他要求,请参阅用于图像生成的输入图像

  • maskPromptmaskImage(必要)– 必须指定 maskPromptmaskImage 参数,但不能同时指定两者。

    maskPrompt 是一种自然语言文本提示,用于描述要编辑的图像区域。

    maskImage 是一种图像,用于定义要编辑的图像区域。遮罩图像必须与输入图像的大小相同。要编辑的区域是纯白色阴影,要忽略的区域是纯黑色阴影。不允许在遮罩图像中使用其他颜色。

    请注意,就遮罩图像的颜色要求而言,补绘请求和扩绘请求是相反的。

  • outPaintingMode – 确定如何解释提供的遮罩。

    DEFAULT 用于在遮罩区域和非遮罩区域之间平滑过渡。某些原始像素用作新背景的起点。若希望新背景使用与原始背景相似的颜色时,此模式通常更好。不过,如果提示要求使用与原始背景明显不同的新背景,则可以产生光晕效果。

    PRECISE 用于严格遵守遮罩边界。在对背景进行重大更改时,此模式通常会更好。

  • text(必要)– 用于描述要在遮罩区域内生成什么内容的文本提示。提示的长度必须是 1-1024 个字符。如果忽略此字段,模型将移除遮罩区域内的元素,并将之替换为图像背景的无缝扩展。

  • negativeText(可选)– 用于定义图像内不包含什么内容的文本提示。此值的长度必须是 1-1024 个字符。

注意

避免在 textnegativeText 值中使用否定词(“无”“不含”“没有”等)。例如,若不想在图像中使用镜子,则不要在 text 字段中包含“无镜子”或“没有镜子”,而要在 negativeText 字段中使用“镜子”一词。

Background removal request
{ "taskType": "BACKGROUND_REMOVAL", "backgroundRemovalParams": { "image": string (Base64 encoded image) } }

此请求中使用了以下 backgroundRemovalParams 字段:

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 除外。其为可选字段,且包含以下字段。如果忽略此对象,则会使用默认配置。

  • widthheight(可选)– 定义所生成图像的大小和宽高比。二者的默认值都为 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
重要

分辨率(widthheight)、numberOfImagesquality,都会对生成图像所需的时间产生影响。AWS SDK 的默认 read_timeout 为 60 秒,如果这些参数取值较高,就很容易超出该时间限制。因此,建议将调用操作的 read_timeout 增加到至少 5 分钟(300 秒)。以下代码示例演示了如何执行此操作。