Amazon Bedrock - Nova Canvas Generate Variations
Nova Canvas variations from one image
- image
- IMAGE
You've got a picture you like and want ten more in the same spirit - same subject, same composition, different everything else. That's what this node does, and it does it without touching your GPU. It sends your image to Amazon Nova Canvas, a hosted image model on Bedrock, and gets back a variation.
How it works
The node base64-encodes whatever IMAGE you feed it and calls Bedrock's invoke_model against amazon.nova-canvas-v1:0 with a taskType of IMAGE_VARIATION. Amazon runs the whole diffusion process server-side and returns the PNGs to you as a normal ComfyUI IMAGE tensor. No checkpoints, no VAE, no VRAM - your machine just does a HTTP round-trip.
One thing worth knowing: internally the node class is named after an IPAdapter (misspelled at that), because it plays the same role - subject and style transfer from a reference image - except the reference image is a full photo rather than an embedding. The trade-off is the reverse of the local one: you get no local model files, but every generation is a paid API call.
The inputs that matter
Most of these are self-explanatory, and the two you'll actually tune are:
- image - your starting photo, straight from a Load Image node (or Image From URL).
- similarity_strength - how close to the original the result stays. 1.0 is a near-twin; 0.2 lets the model wander. Default 0.9 is a sensible starting point; drop it when the variation feels like a copy, raise it when the model runs off with your subject.
- prompt / negative_prompt - what you want changed and what you don't want to see.
- num_images - 1 to 5 at once. Multiple images come back as a single batched tensor, so you'll need a Split Image style node to fan them out.
- resolution - 28 presets, from 336×1024 up to 4096 on the long side. Note this is the output size; it's a redraw, not a crop.
- cfg_scale (default 8) and seed - the usual dials. Pin the seed to repeat a look, or leave 0 for a random roll.
Getting it running
Install the pack once (it covers every Bedrock node in this repo):
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
then restart ComfyUI. You can also find it in ComfyUI Manager by searching "Amazon Bedrock". Dependencies are light - just boto3, requests, and retry - because the models live on AWS, not your disk.
The AWS side is where people stumble. You need three things: Bedrock model access enabled for Nova Canvas in the us-east-1 region (this node hardcodes that region), credentials configured (aws configure, or an IAM role if ComfyUI runs on an EC2/SageMaker instance), and a credit card on the account. The README's CloudFormation path deploys ComfyUI on SageMaker with everything wired up if you want the whole thing managed.
Where people get burned
- Model access. The Bedrock console has a separate "Model access" page per region. If you only enabled Stability models in
us-west-2, this node errors until you enable Nova Canvas inus-east-1. - Content filters. Nova Canvas rejects prompts its moderation flags; the node surfaces that as a
Content moderation blockederror rather than a picture. - Quality is locked to "premium". The pack hardcodes the premium tier, so there's no cheap preview mode. Test with
num_imagesat 1, not 5. - It's a paid API. Every variation bills per image. Great for a quick idea; a bad choice for a 500-image batch.
Honestly, if you only run local models this node is pointless - local img2img covers variations for free. It shines when you want the reference-image fidelity of a hosted frontier model without hosting it yourself, or when your whole pipeline is already on AWS.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| prompt | STRING | — | |
| negative_prompt | STRING | — | |
| similarity_strength | FLOAT | 0.90.2–1 | — |
| num_images | INT | 11–5 | — |
| cfg_scale | FLOAT | 8.01.1–10 | — |
| resolution | COMBO | 28 options: 1024 x 1024, 2048 x 2048, 1024 x 336, 1024 x 512, 1024 x 576, 1024 x 627, +22 | |
| seed | INT | 00–858993459 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |