Amazon Bedrock - Nova Canvas Generate Image
Nova Canvas text-to-image, straight into your graph
- image
- IMAGE
This is the workhorse of the Bedrock pack: a text-to-image node backed by Amazon's Nova Canvas model, served entirely over AWS. Type a prompt, get a picture - no checkpoint to download, no VRAM budget, no sampler to argue with. Your GPU sits this one out.
How it works
The node calls Bedrock's invoke_model against amazon.nova-canvas-v1:0 and hands over your prompt. Nova Canvas generates the image server-side and returns it as base64, which the node decodes into a standard ComfyUI IMAGE tensor. It's a fully managed API - the "closed-source model" end of the spectrum the KB's closed-source essay maps out, where the trade-off is convenience and quality against control, privacy, and per-image billing.
What makes it more than a dumb text-to-image box is the optional inputs, which switch the underlying API task:
- image + control_mode - give it a reference image and it does image-conditioned generation.
control_modeisCANNY_EDGEorSEGMENTATION(canny line structure or segmentation map), steered bycontrol_strength(default 0.7). That's the same idea as a local ControlNet, minus the preprocessor and the local model. - color_palette - comma-separated hex codes like
#FF0000,#00FF00,#0000FFswitch the API to color-guided generation. Up to 10 colors, and the node validates them, so a typo raises a clear error instead of a weird image.
The inputs that matter
Required: prompt, num_images (1–5), resolution (28 presets, up to 4096 on the long side), cfg_scale (0–10, default 7), seed. Optional: image, negative_prompt, color_palette, control_mode, control_strength.
The two you'll actually touch: resolution (pick the output size, not an aspect-ratio hint - Nova Canvas renders at exactly that size) and seed (pin it for reproducibility; 0 means a random roll). negative_prompt works the way you'd expect, which is more than some modern local models can claim.
Installing and wiring it
cd ComfyUI/custom_nodes
git clone https://github.com/aws-samples/comfyui-llm-node-for-amazon-bedrock.git
pip install -r comfyui-llm-node-for-amazon-bedrock/requirements.txt
Restart ComfyUI, or use ComfyUI Manager (search "Amazon Bedrock"). Light deps: boto3, requests, retry.
Then the AWS side, which is the part people skip: enable Nova Canvas model access in the us-east-1 region in the Bedrock console, and configure credentials (aws configure, or an IAM role if ComfyUI runs on an AWS instance - the README has a CloudFormation template that deploys the whole thing on SageMaker).
Where people get burned
- Region and model access. This node hardcodes
us-east-1. If you enabled model access in another region, it errors. The Stability nodes in this pack hardcodeus-west-2, so if you use both families you need access in both regions. - Content moderation. Nova Canvas filters prompts; a flagged prompt fails with
Content moderation blocked generationrather than producing output. - Always premium. The pack hardcodes
quality: "premium"in the generation config, so there's no cheap tier for experimentation. Nova Canvas is priced per image - a batch of 5 is five billable images. - Conditioned generation demands its settings. If you feed an
image, the node raises unlesscontrol_modeandcontrol_strengthare set. It won't silently guess.
Where it earns its place: when you want a hosted model's output inside a ComfyUI pipeline without buying the hardware, or when the rest of your stack is already AWS. If you're purely local, this node has nothing for you - that's fine, it's not aimed at you.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| num_images | INT | 11–5 | — |
| resolution | COMBO | 28 options: 1024 x 1024, 2048 x 2048, 1024 x 336, 1024 x 512, 1024 x 576, 1024 x 627, +22 | |
| cfg_scale | FLOAT | 7.00–10 | — |
| seed | INT | 00–858993459 | — |
| imageopt | IMAGE | — | |
| negative_promptopt | STRING | — | |
| color_paletteopt | STRING | — | |
| control_modeopt | COMBO | CANNY_EDGE | 2 options: CANNY_EDGE, SEGMENTATION |
| control_strengthopt | FLOAT | 0.700–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |