62 lines
1.6 KiB
Markdown
62 lines
1.6 KiB
Markdown
# Explicit Two-Pass Reference
|
|
|
|
Workflow file:
|
|
- [explicit_two_pass_reference.json](/mnt/d/ComfyUI/custom_nodes/ComfyUI-GigaHires/example_workflows/explicit_two_pass_reference.json)
|
|
|
|
This workflow is intentionally not fancy. It exists to show the structure of hires fix in plain Comfy terms.
|
|
|
|
## The three parts
|
|
|
|
### 1. Normal pass
|
|
|
|
This is just standard txt2img:
|
|
- checkpoint
|
|
- prompt / negative
|
|
- empty latent
|
|
- first `KSampler`
|
|
|
|
That gives you the base latent and base decoded image.
|
|
|
|
### 2. Upscale
|
|
|
|
There are two example branches in the workflow.
|
|
|
|
Latent branch:
|
|
- `LatentUpscaleBy`
|
|
|
|
Image-upscaler branch:
|
|
- `VAEDecode`
|
|
- `UpscaleModelLoader`
|
|
- `ImageUpscaleWithModel`
|
|
- `VAEEncode`
|
|
|
|
### 3. Second pass
|
|
|
|
This is the part people usually mean by "hires fix", not just the upscale itself.
|
|
|
|
The second pass is:
|
|
- take the upscaled latent
|
|
- run a second `KSampler`
|
|
- use lower `denoise` than the first pass
|
|
|
|
So the second pass is basically an img2img-style refinement pass on the bigger latent.
|
|
|
|
## Why this is useful
|
|
|
|
If the workflow is split out like this, you can see exactly where each knob belongs:
|
|
|
|
- first pass controls composition and broad look
|
|
- upscale controls size and pre-detail structure
|
|
- second pass controls how much new detail gets introduced
|
|
|
|
## Recommendation
|
|
|
|
I think your subgraph idea is the better direction.
|
|
|
|
Instead of one giant hires node, the cleaner UX is probably:
|
|
- a few small reusable nodes
|
|
- one example workflow / group / subgraph that wires them together
|
|
- only the important knobs exposed at the group level
|
|
|
|
That would keep the process understandable while still letting you break out of the box when needed.
|