Amazon Nova Canvas is a powerful image generation service available through AWS Bedrock, enabling developers and creatives to generate, edit, and manipulate product visuals using state-of-the-art AI models. In this guide, we focus on product visualization—how Nova Canvas empowers businesses to create high-quality, customized product images for catalogs, marketing materials, and online storefronts.
1. Supported Task Types & Parameters
Amazon Nova Canvas supports a variety of image generation and editing tasks, each customizable via specific parameters:
Task Type | Parameter Field | Category | Description |
---|---|---|---|
TEXT_IMAGE (Text only) | textToImageParams |
Generation | Generates images from descriptive text prompts. |
TEXT_IMAGE (Image conditioning) | textToImageParams |
Generation | Combines a reference image with text to guide layout. |
COLOR_GUIDED_GENERATION | colorGuidedGenerationParams |
Generation | Guides generation with specified hex colors and optional image. |
IMAGE_VARIATION | imageVariationParams |
Generation | Creates stylized variations of input images. |
INPAINTING | inPaintingParams |
Editing | Modifies content inside a masked region. |
OUTPAINTING | outPaintingParams |
Editing | Extends or changes areas outside a masked region. |
BACKGROUND_REMOVAL | backgroundRemovalParams |
Editing | Removes image background to create transparency. |
2. Input and Output Specs for Product Images
- Input Images: Base64-encoded PNG or JPEG
-
Accepted Formats:
- PNG (supports alpha channel, but transparency not always allowed)
- JPEG (recommended at 100% quality)
- Masks: Must be pure black (masked area) and pure white (non-masked). No grayscale or color pixels.
-
Supported Resolutions:
- From 320 to 4096 pixels per side
- Aspect ratio between 1:4 and 4:1
- Maximum total pixels: 4.19 million (e.g., 2048x2048)
- Output Image Dimensions: Must be divisible by 16
3. Common Configuration Parameters for Consistent Product Renders
Parameter | Description | Default |
---|---|---|
width , height
|
Output image size | 1024 x 1024 |
quality |
Image quality, "standard" or "premium"
|
"standard" |
cfgScale |
Prompt adherence strength (1.1–10) | 6.5 |
numberOfImages |
Number of images to generate (1–5) | 1 |
seed |
Random generation control for reproducibility | 12 |
4. Example: Creating a Product Render from Text
{
"taskType": "TEXT_IMAGE",
"textToImageParams": {
"text": "A futuristic city skyline at sunset",
"negativeText": "No people, no cars"
},
"imageGenerationConfig": {
"width": 1024,
"height": 1024,
"quality": "standard",
"cfgScale": 6.5,
"seed": 12,
"numberOfImages": 1
}
}
Note: Avoid negations like "no" or "without" in
text
andnegativeText
; instead, explicitly specify what to exclude innegativeText
.
Input
Prompt: A high-resolution studio photo of a pair of stylish white leather sneakers placed on a clean light gray background. The shoes are angled slightly to show both the side and top view. Soft diffused lighting, no shadows or background distractions. Ideal for an online product catalog.
body = json.dumps({
"taskType": "TEXT_IMAGE",
"textToImageParams": {
"text": prompt
},
"imageGenerationConfig": {
"numberOfImages": 1,
"height": 1024,
"width": 1024,
"cfgScale": 8.0,
"seed": 0
}
})
Ouput
5. Image Conditioning with Reference Images
Amazon Nova supports image generation guided by a reference image with control modes such as:
- CANNY_EDGE – preserves edge outlines
- SEGMENTATION – preserves content shapes
Key parameters:
-
conditionImage
: Base64-encoded guiding image -
controlMode
:"CANNY_EDGE"
or"SEGMENTATION"
-
controlStrength
: Degree to which generated image follows guide (0 to 1)
Input
prompt = (
"Add a small black Nike logo on the side of each white sneaker. "
"Keep the shoes clean, white, and minimalistic, in a professional studio setting. "
"Ensure the lighting and shadows remain soft and realistic. "
"Maintain the same shoe position and clean background."
)
negativeText = "blurry, distorted logo, cartoon, low resolution, watermark, logo on wrong location, off-center"
body = json.dumps(
{
"taskType": "TEXT_IMAGE",
"textToImageParams": {
"text": prompt,
"negativeText": negativeText,
"conditionImage": input_image,
"controlMode": "CANNY_EDGE",
},
"imageGenerationConfig": {
"height": 1024,
"width": 1024,
"quality": "premium",
"cfgScale": 8.0,
"seed": 12,
"numberOfImages": 1,
},
}
)
Ouput
Input
body = json.dumps(
{
"taskType": "TEXT_IMAGE",
"textToImageParams": {
"text": prompt,
"negativeText": negativeText,
"conditionImage": input_image,
"controlMode": "SEGMENTATION",
},
"imageGenerationConfig": {
"height": 1024,
"width": 1024,
"quality": "premium",
"cfgScale": 8.0,
"seed": 12,
"numberOfImages": 1,
},
}
)
Ouput
6. Apply Brand Colors with Color-Guided Generation
Specify up to 10 hex color codes to influence the color palette of generated images. This can be combined with a style reference image for artistic control.
Input
body = json.dumps(
{
"taskType": "COLOR_GUIDED_GENERATION",
"colorGuidedGenerationParams": {
"text": "a stylish pair of pink sneakers, same shape and angle as the reference, realistic lighting, minimalistic background",
"negativeText": "white shoes, overexposed, harsh lighting, low resolution, unrealistic shadows, cluttered background, watermark",
"referenceImage": input_image,
"colors": [
"#ffc0cb", # Pink
"#ffb6c1", # LightPink
"#f4cccc", # PalePink
"#000000", # (for some depth/shadow)
],
},
"imageGenerationConfig": {
"numberOfImages": 1,
"height": 1024,
"width": 1024,
"cfgScale": 8.0,
},
}
)
Ouput
7. Generate Variations of Existing Product Photos
Generate stylized versions of input images by adjusting the similarityStrength
parameter, which controls how much variation is applied relative to the original image.
Input
body = json.dumps(
{
"taskType": "IMAGE_VARIATION",
"imageVariationParams": {
"text": "A more modern version of this sunscreen product tube, same layout, 3D render, clean white background",
"negativeText": "blurry text, distorted label, different shape, wrong lighting, added elements, different background",
"images": images,
"similarityStrength": 0.5, # Range: 0.2 to 1.0
},
"imageGenerationConfig": {
"numberOfImages": 2,
"height": 1024,
"width": 1024,
"cfgScale": 9.5,
},
}
)
Ouput
8. Use Inpainting/Outpainting to Clean or Extend Product Images
- Inpainting: Edit specific masked regions inside an image based on a mask or natural language description.
body = json.dumps(
{
"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
}
}
)
Input
Output
-
Outpainting: Extend image content beyond its current borders, with two modes:
-
"DEFAULT"
(blended, natural extension) -
"PRECISE"
(strict, exact extension)
-
body = json.dumps(
{
"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
}
}
)
Input
Output
9. Clean Cutouts with Background Removal
Amazon Nova can isolate foreground objects by removing backgrounds, producing PNG outputs with full transparency. This is ideal for compositing workflows.
Input
body = json.dumps(
{
"taskType": "BACKGROUND_REMOVAL",
"backgroundRemovalParams": {
"image": input_image
}
}
)
Ouput
10. Error Handling
Common error types include:
- ValidationException: Invalid input format or unsupported parameters
- RAI Input Deflection: Input blocked by responsible AI content filters
- RAI Output Deflection: Generated image blocked due to moderation policies
Conclusion
Amazon Nova Canvas offers e-commerce teams, designers, and marketers a transformative tool for creating high-quality product visuals—quickly, repeatedly, and at scale. Whether launching new SKUs, running A/B tests on creatives, or enriching catalog listings, Nova Canvas provides unparalleled creative control.
What’s Next?
- Explore Amazon Bedrock documentation for model updates.
- Try integrating Nova Canvas into your creative or e-commerce workflows.
- Stay tuned for more features like image-to-image translation and control-net guided generation.
References
- Generating images with Amazon Nova – Amazon Nova
- Exploring creative possibilities: A visual guide to Amazon Nova Canvas | AWS Machine Learning Blog
- GitHub – aws-samples/amazon-nova-samples
- aws-samples/allthings-bedrock-nova-models: Amazon Nova models – Python examples
- Amazon Nova landing page
- Request and response structure for image generation – Amazon Nova
- Image generation access and usage – Amazon Nova
- Code examples – Amazon Nova
Top comments (2)
Really cool!
Excellent article!