RealRestorer Model Loader
The 42GB door into GPT-4o-class photo restoration
- RR_Model
RealRestorer Model Loader is the least glamorous node in this pack, and also the one that decides whether you'll ever see a result. It's a single dropdown plus two toggles, it does no restoring itself, and it gates the entire experience on one thing: a ~42GB HuggingFace download sitting in the right folder. Get that right and the whole thing just works. Get it wrong and you get a dropdown that says "(no model found)" and a dead end.
What you're actually loading is worth knowing, because it explains the size. RealRestorer is a 2026 paper model (arXiv 2603.25502) that treats restoration the way the GPT-4o-class editors do - you hand it a degraded image and a plain-English instruction, and it rebuilds the photo. Underneath it's Step1X-Edit, StepFun's big image-editing transformer, plus a Qwen2.5-VL-7B text encoder. So this "loader" is really standing up three models at once: the ~12B-parameter DiT transformer, a VAE, and a 7B vision-language model with its tokenizer. That's the whole 42GB.
What it does and how
The node scans ComfyUI/models/RealRestorer/ for valid model bundles - anything with a transformer/ subdirectory - and presents them in the dropdown. Pick one, and it builds the transformer on meta device, loads the safetensors shards, then pulls in the VAE and the Qwen2.5-VL text encoder plus processor. Everything is cached keyed on model + precision, so a second run is near-instant instead of re-loading 42GB.
The clever part is what it deliberately doesn't touch. The official RealRestorer repo ships a patched fork of diffusers that will break an existing ComfyUI environment. This pack reimplements the whole pipeline standalone - torch, transformers, einops, safetensors, no vendored diffusers - which is why there's no pip install step and why it's safe to drop into any ComfyUI venv.
The inputs that matter
Only three, and really only one of them will bite you:
- model - the auto-detected dropdown. It fills itself from whatever's in
models/RealRestorer/. You normally never touch it. - precision -
bfloat16is the paper default and the right choice.float16uses a little less VRAM at the cost of a small quality hit; the model is big enough that you should only switch if you're scraping by on memory. - keep_model_loaded -
truekeeps the whole stack in VRAM between runs. Set itfalseand every queue execution reloads a 7B LLM plus a 12B transformer. Fine if you run one job a day, miserable if you're iterating.
Its single output, RR_Model, is a bundle that exists only to wire into the RealRestorer Sampler node. There's nothing else you can do with it, which keeps the graph honest.
Installing it
Through ComfyUI Manager, search "ComfyUI-RealRestorer". Or the manual route:
cd ComfyUI/custom_nodes/
git clone https://github.com/yfyang007/ComfyUI-RealRestorer
Then restart ComfyUI and download the actual model - this is the part people skip:
cd ComfyUI/models/
mkdir -p RealRestorer && cd RealRestorer
huggingface-cli download RealRestorer/RealRestorer --local-dir .
Expected layout inside that folder:
ComfyUI/models/RealRestorer/
transformer/ (safetensors + config.json)
vae/ (safetensors + config.json)
text_encoder/ (Qwen2.5-VL-7B weights)
processor/ (tokenizer files)
Note where it goes: models/RealRestorer/, not models/checkpoints/. That's the single most common mistake. The node only looks in one place, and if you've dumped a checkpoint anywhere else it will sit there forever invisible.
Troubleshooting
- Dropdown says "(no model found)" - the download isn't in
ComfyUI/models/RealRestorer/, or the HF layout is incomplete (a folder withouttransformer/doesn't count as a bundle). Re-runhuggingface-cli downloadand let it finish; 42GB takes a while. - Out of memory on first load - the loader isn't the memory problem; the sampler is. If you're on a 24GB card, that's expected and the Sampler's
sequential_offloadstrategy handles it. - First run after enabling feels like a hang - that's a 7B language model plus a 12B transformer cold-loading from disk. The console prints progress; give it a minute.
The honest warning: this is a heavy, fresh, academic-model pack with 0 impressions on this page - the community evidence for it is basically nil so far, and the README credits the ComfyUI implementation to Claude. It works, it's genuinely impressive when it works, but you're early to the party.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | (no model found) | Select the RealRestorer model to load. Place the HuggingFace download in ComfyUI/models/RealRestorer/. The folder should contain transformer/, vae/, and text_encoder/ subdirectories. |
| precision | COMBO | bfloat16 | Model weight precision. bfloat16 is recommended (paper default). float16 uses slightly less VRAM but may reduce quality. |
| keep_model_loaded | BOOLEAN | true | Keep the model in memory between runs. Disable to free VRAM after each queue execution, at the cost of reloading on the next run. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| RR_Model | RR_MODEL | — |