DEV Community

Cover image for Elevating Product Visualization with Amazon Nova Canvas on Bedrock
Phạm Nguyễn Hải Anh for AWS Community Builders

Posted on • Edited on

Elevating Product Visualization with Amazon Nova Canvas on Bedrock

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
  }
}
Enter fullscreen mode Exit fullscreen mode

Note: Avoid negations like "no" or "without" in text and negativeText; instead, explicitly specify what to exclude in negativeText.

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
    }
})
Enter fullscreen mode Exit fullscreen mode

Ouput

Nova Canvas

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,
        },
    }
)
Enter fullscreen mode Exit fullscreen mode

Nova Canvas

Ouput

Nova Canvas

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,
        },
    }
)
Enter fullscreen mode Exit fullscreen mode

Nova Canvas

Ouput

Nova Canvas

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,
        },
    }
)
Enter fullscreen mode Exit fullscreen mode

Nova Canvas

Ouput

Nova Canvas

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,
        },
    }
)
Enter fullscreen mode Exit fullscreen mode

Nova Canvas

Ouput

Nova Canvas

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
        }
    }
)
Enter fullscreen mode Exit fullscreen mode

Input

Nova Canvas

Output

Nova Canvas

  • 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
        }
    }
)
Enter fullscreen mode Exit fullscreen mode

Input

Nova Canvas

Output

Nova Canvas

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
        }
    }
)
Enter fullscreen mode Exit fullscreen mode

Nova Canvas

Ouput

Nova Canvas

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

Top comments (2)

Collapse
 
hung____ profile image
Hung____

Really cool!

Collapse
 
jasondunn profile image
Jason Dunn [AWS]

Excellent article!