IF Load Stage III
A ComfyUI node in Zuellni/IF with 1 input and 1 output.
- MODEL
The final rung of the DeepFloyd IF ladder is a familiar face: Stability AI's classic Stable Diffusion x4 upscaler, the same model that powered 2023-era "SD Upscale" workflows. This node loads it as S3_MODEL so IF Stage III can take your 256×256 Stage II output up to 1024×1024.
What it loads
stabilityai/stable-diffusion-x4-upscaler. If you've been around since the SD 1.5 days you already know this model's personality: it's a small latent-diffusion upscaler that takes a low-res image plus a text prompt and hallucinates 4× worth of detail. It's old, it's comparatively cheap, and it's exactly the right weight for finishing an IF image because IF Stage III is the one place in the pipeline where DeepFloyd's own models can't go.
The weird part: it has its own text encoder
Here's the quirk that trips everyone up. Stage III is not a DeepFloyd model - it's a Stability SD model, so it can't use the T5 embeddings from IF Encode. It carries its own encoder and takes plain text strings for positive/negative instead. Look at the IF Stage III node and you'll see the prompt inputs are plain string fields, not POSITIVE/NEGATIVE sockets - that's why. Don't try to wire the T5 embeds in; the socket type won't even accept them.
What does that mean in practice? The prompt you used for Stages I–II (a sentence, T5-style) is now being read by an SD-class encoder (CLIP, tag-style). Your Stage III prompt can be much simpler - short descriptive tags work better here than your full T5 sentence. If your upscaled output drifts from the original image, it's usually the prompt mismatch, not the sampler.
The only input that matters
The node's input list is a single device string. Empty = offload (components swap between CPU and GPU via accelerate), or pin it to cuda:0 / cuda:1 / cpu explicitly. That's it. No quantization options, no scheduler - the SD x4 upscaler is small enough that the author didn't bother giving it knobs.
Install
Part of Zuellni/ComfyUI-Custom-Nodes, via Manager (search "Zuellni") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Zuellni/ComfyUI-Custom-Nodes
Needs diffusers and accelerate from the pack's requirements. On first load it downloads the x4 upscaler (~2GB). Unlike the DeepFloyd stages, this one is not gated - no HF token or license acceptance needed.
The gotchas
- First-load download is a few GB; it's not gated, but it's not instant either.
- The prompt mismatch trap (above) is the most common "why does Stage III look different" complaint. Feed it a short tag-style prompt.
- Archived pack. The author's disclaimer says IF "has a lot of issues" and the repo is unmaintained. The x4 upscaler is stable old code, so this is the least likely IF node to rot - but it's still running inside an unmaintained pack.
Output is an S3_MODEL socket for IF Stage III. Load it, wire your image, and your 256px thumbnail becomes a 1K image.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| device | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | S3_MODEL | — |