ComfyUI lesson 5: Build image-to-image and master denoise
Encode a source image and use denoise to choose between a retouch and a rebuild.
Listen to this article
On-device voiceUses the voice built into your browser; no article text leaves this page.
Audio narration is not supported by this browser.
Image-to-image replaces the empty latent with a latent encoded from real pixels. Everything else becomes familiar, which is why denoise—not a mysterious new model— is the main control.
Rewire text-to-image
Add Load Image and VAE Encode. Feed the source pixels and the checkpoint VAE into VAE Encode, then connect its LATENT output to KSampler. Keep the text conditioning and decode/save tail.
The source image should use dimensions sensible for the checkpoint. Resize before encoding if you need predictable framing. A portrait forced into a square can be a bigger composition change than any sampler setting.
Denoise is distance from the source
| Denoise | Typical use |
|---|---|
| 0.15–0.30 | Texture cleanup, light retouch |
| 0.35–0.55 | Restyle while preserving layout |
| 0.60–0.80 | Strong reinterpretation |
| 0.90–1.00 | Source contributes little beyond broad structure |
These are starting bands, not laws. Run 0.30, 0.50, and 0.70 at the same seed. Choose the lowest value that accomplishes the edit: it preserves more intentional information and is usually easier to art-direct.
The lesson workflow maps source image, prompt, denoise, and seed. Hosted media inputs may be public URLs or app.nz artifact references; local ComfyUI expects a filename already present in its input directory.
If the output is nearly identical, increase denoise or strengthen the descriptive difference. If identity or geometry collapses, lower denoise or move to ControlNet, which is designed to preserve explicit structure.
Run the lesson, do not just read it
- Open the tested workflow in Comfy Studio
- Download the exact API-format JSON
- CLI:
app comfy download realvisxl-img2img
The gallery records model sources, minimum VRAM, custom-node requirements, and verification state beside the graph. That is the portable unit for this series.
Series progress: lesson 5 of 10. Previous: Build text-to-image from a blank canvas Next: Use LoRAs without losing the base model