AUTO PASS 4 · LOAD
The pre-detail upscale starts from the refiner's finished image
- image
- manifest_json
- checkpoint_path
- seed
- positive_prompt
- negative_prompt
Pass 4 is the PRE-DETAIL UPSCALE stage - the phase that takes the refined image and bumps its resolution before the detailers get to work, because detailers perform best on crops that already have pixels to spare. SayaImagePhase4Load is the doorway into that phase: like every AUTO PASS N · LOAD node, it has no inputs and simply restores the previous phase's validated checkpoint from disk.
Nothing about this node is phase-specific in code - the "4" is pinned in, the behavior is shared with its siblings. It reads phase_3_refiner.png and its manifest from ComfyUI/output/image/checkpoints/ (relative to the output folder) and hands you six outputs: image (the validated refined image as a tensor), manifest_json (phase 3's record), checkpoint_path, seed, positive_prompt, and negative_prompt.
Why pass 4 exists at all
The seed and prompt outputs matter more here than anywhere. A pre-detail upscale is where a workflow typically increases resolution, and doing that well usually means re-running a diffusion pass at the higher size with a denoise tuned to the upscale - you want the model to add plausible detail without redrawing the scene. Re-exposing phase 3's exact seed and prompt lets the upscale pass stay anchored to what the refiner decided, instead of wandering. That's the continuity contract these LOAD nodes exist to preserve.
If you're following the author's pipeline, phase 5's detailers are about to crop and re-render regions of this image - faces, hands, eyes - so the resolution you set up here is what those detailer crops inherit. Garbage in, garbage out: this is the phase where under-upscaling quietly limits every detailer that follows.
The usual failure
The standard error is dependency-shaped: phase 3 must have validated. If phase_3_refiner.json doesn't exist or isn't marked validated (candidate discarded, pass skipped, or you jumped straight to pass 4), the node refuses with a "not validated" error. Run in order, let each STOP promote its candidate, and you'll rarely see it. Its mtime-based cache invalidation also means that when you redo phase 3, the phase-4 graph re-picks the fresh image on its next execution automatically.
Be honest about whether you need this architecture at all: if your whole workflow is "generate, upscale, save," a LoadImage and an upscale model loader give you the same result with less moving machinery. The fixed LOAD nodes exist to make the automated six-pass queue reproducible - each phase independently queueable, each starting from a verified on-disk checkpoint. WIP pack, so expect occasional changes; back up before updating.
Install: ComfyUI Manager search saya-comfy-couple-plus, or git clone https://github.com/alphaziod/saya-comfy-couple-plus into custom_nodes and restart. Deps: numpy, Pillow; no model downloads.
Inputs (0)
No inputs
Outputs (6)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| manifest_json | STRING | — |
| checkpoint_path | STRING | — |
| seed | INT | — |
| positive_prompt | STRING | — |
| negative_prompt | STRING | — |