本篇文章小李哥将为大家介绍如何学习如何使用Nova Canvas快速生成和调整创意内容,应用到开发者日常或者业务中,以提高生产力。
亚马逊Nova模型系列
亚马逊Nova模型系列在亚马逊云科技全球大会re:Invent 2025上正式发布,Nova系列共包括以下模型:
- Amazon Nova Micro
- Amazon Nova Lite
- Amazon Nova Pro
- Amazon Nova Canvas
- Amazon Nova Reel
本博客将重点介绍图像生成模型 - Amazon Nova Canvas,这是一个可以从文本或输入图像生成图像的模型,并提供多种图像处理功能。大家将学习如何生成图像、调整图像风格和属性,同时了解使用Nova Canvas的一些最佳实践。

什么是Nova Canvas?
Amazon Nova Canvas是一款先进的图像生成模型,可以根据文本或输入图像创建专业级别、接近真实画面的逼真图片。此外Nova Canvas还提供基于文本输入的图像编辑功能,并具备颜色调整和图像布局控制能力。该模型内置了一系列安全合规功能,包括水印标识和内容审核。更多信息,请参阅Amazon Nova用户指南的图像生成官方文档。

Nova Canvas如何与Amazon Bedrock配合使用
目前Nova Canvas模型可以通过Amazon Bedrock Runtime的InvokeModel API进行调用。更多信息请参考InvokeModel API文档。
注意:对于较大的图像生成任务,可能需要增加图片生成任务默认的超时时间。无论是直接使用API调用,还是通过AWS SDK调用生成,大家都需要调整默认超时设置。本博客的示例代码展示了如何在Python Boto3 SDK中修改超时时间,其他语言的SDK请参考相应文档。
Nova Canvas的主要功能
Nova Canvas不仅仅是一个文本到图像(文生图)模型,它还提供了多个功能,可适用于不同的创意场景:
- 文本到图像(T2I)生成
- 图像修复(Inpainting)
- 扩展画布(Outpainting)
- 图像变体生成(Image Variation)
- 图像条件控制(Image Conditioning)
- 主体一致性(Subject Consistency)
- 颜色引导内容(Color Guided Content)
- 背景移除(Background Removal)
- 内容来源验证(Content Provenance)
本篇博客将重点介绍文本到图像生成(T2I)的使用场景。
文本到图像 - 参数配置与详细教程
重要信息: Amazon Nova Canvas在图像生成方面提供了极大的灵活性,但必须确保图片的生成任务符合以下的限制条件:
- 每个边长必须在320到4096像素之间(包括边界值)。
- 每个边长必须是16的倍数。
- 宽高比必须介于1:4 和 4:1之间(即最长边不能超过最短边的4倍)。
- 图像的总像素数不得超过4,194,304。
使用Nova Canvas的前提条件
-
开启访问Amazon Nova Canvas模型的权限(可在Amazon Bedrock控制台中进行设置)。
-
实操用于拥有有效的IAM权限,允许调用
bedrock:InvokeModel
,并且当前区域(博客中为为us-east-1)支持amazon.nova-canvas-v1:0
。
实践案例:使用Nova Canvas生成漫画/故事插图
假设大家在一家创意机构工作,你们的客户要求大家为会议准备一个故事展示图片,以可视化他们的故事主题。客户的需求如下:
"我们希望有一则关于森林里熊的故事。"
大家的时间非常紧,不可能手动绘制整页内容,这时候Nova Canvas就能发挥作用!
示例代码
本示例使用Python 3.10,并在requirements.txt中安装以下依赖库:
boto3
大家可以将以下代码块复制到自己喜欢的IDE中运行,或者在Amazon SageMaker Jupyter Notebook中运行。如果选择Jupyter Notebook,可以在笔记本顶部创建一个单元格并执行:
bash
!pip install boto3
生成第一张图片
使用Amazon Bedrock的InvokeModel API,调用Nova Canvas模型的文本到图像生成功能,示例代码如下:
bash
import base64
import io
import json
import boto3
from botocore.config import Config
# Create a client for Amazon Bedrock runtime
# Note: The read timeout is set to 5 minutes to avoid timeout
# for larger image dimensions that would otherwise fail.
bedrock = boto3.client(
service_name='bedrock-runtime',
region_name="us-east-1",
config=Config(read_timeout=300)
)
prompt = """
A rundown house with a light, the door of the house is open
and a warm fire and pot can be seen through the door.
"""
body = json.dumps({
"taskType": "TEXT_IMAGE",
"textToImageParams": {
"text": prompt
},
"imageGenerationConfig": {
"numberOfImages": 1,
"height": 640,
"width": 480,
"cfgScale": 8.0,
"seed": 0
}
})
# Request the image generation
response = bedrock.invoke_model(
body=body,
modelId="amazon.nova-canvas-v1:0",
accept="application/json",
contentType="application/json"
)
# Read the resposne body
response_body = json.loads(response.get("body").read())
# Extract the first image
base64_image = response_body.get("images")[0]
# Convert the image into actual image data (bytes)
base64_bytes = base64_image.encode('ascii')
image_bytes = base64.b64decode(base64_bytes)
执行下方的代码段,生成的图像将保存在当前目录下的文件bear_story.png
中。
python
from PIL import Image
image = Image.open(io.BytesIO(image_bytes))
image.save("image-0.jpg")
完成生成后,大家打开生成的图片后,可以看到Nova生成的图片很逼真而且符合我们的主题。

调整生成的输出
如果大家对生成的图片不满意,还可以通过以下方式修改:
生成多个图片
Nova Canvas支持一次生成最多5张图片,大家可以调整以下参数以便选择最合适的结果:
XML
numberOfImages: 3,
seed: 1
重要说明 :最多可同时生成5张图片。
大家可以通过以下代码访问多张生成的图片:
python
image_1_base64 = response_body.get("images")[0]
image_2_base64 = response_body.get("images")[1]
image_3_base64 = response_body.get("images")[2]
这样大家就可以获取多张不同风格或视角的图片,方便选择最合适的结果。
注意:在本博客示例中,生成的图片是指导Bedrock并排展示,以方便展示。
结论
本博客介绍了如何利用Amazon Nova Canvas进行创意图片内容生成,并使用Amazon Bedrock的InvokeModel API进行文本到图像(文生图)转换。Nova Canvas提供了广泛的功能,包括图像修复、画布扩展、颜色引导等,使其成为强大的AI创意工具。
总结:
- Nova Canvas可通过文本描述生成高质量图像。
- 需遵守特定的图像尺寸和比例要求。
- 可调整参数生成多个版本以优化输出。
大家可以利用Nova Canvas的强大能力,大幅提高创意工作效率,轻松制作故事板海报、视觉概念或其他设计任务。