Load Original Model
The loader that remembers what your model looked like before you edited it
- original_model
- model
If you've ever edited a model in ComfyUI, saved it, and gotten back a file that ComfyUI won't load cleanly, you've hit the two problems this node exists to solve. ComfyUI's save path is lossy in sneaky ways: it prepends an internal prefix like diffusion_model. to key names so they no longer match the original file's keys, and it only carries the tensors the workflow actually touched, silently dropping the rest. Load Original Model sidesteps both by reading the safetensors file raw - preserving the original keys, every tensor, and the file's metadata - while also loading the same file normally as a usable MODEL.
How it works
For a given file, it does two independent things at once:
- Raw read. It loads the full state dict off disk with
safetensors.torch.load_file, keeping every key exactly as authored, plus the file's metadata. That complete, untouched tensor set - wrapped with its source path and metadata - is emitted as the customoriginal_modeloutput. - Normal load. It also runs the same file through ComfyUI's standard diffusion-model loader, producing the ordinary model output you can actually run.
The weight_dtype input (default / fp32 / fp16 / bf16) applies to both paths. It searches models/diffusion_models first, then models/checkpoints, so a single dropdown covers both folders.
Why you'd use it
This node never does anything alone - it's the front half of the save-with-original loop. The flow is:
- Load Original Model → raw
original_model+ editablemodel. - Run the
modelthrough the pack's scale or merge nodes (or any model-editing node). - Feed both the edited model and the untouched
original_modelinto Model Save with Original, which merges them back and writes a file that keeps the original key layout and restores any tensors ComfyUI dropped.
Without the raw read, the save node would have nothing to restore from - you'd get back the same lossy, prefix-mangled file you started with. This loader is what makes re-saving an edited model actually round-trip.
Install
Search Easygoing in the ComfyUI Manager, or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/easygoing0114/ComfyUI-easygoing-nodes.git
Restart ComfyUI. No pip extras; needs a current ComfyUI with the V3 node API or the pack won't register.
The honest caveats
The raw read happens on CPU and keeps a full copy of the model in RAM, so on a big model (a 20B diffusion transformer, say) that's a real memory cost - a few GB on top of everything else. That's the price of being able to restore missing tensors later, and it's why you only keep this node in the graph while you're doing save work, not in your daily generation workflow. Also note the raw side of this node is not something you can run - original_model is a custom type that only plugs into Model Save with Original, not into a sampler. If all you want is a loader, the pack's plain Load Diffusion Model (with Name Clean) is the one for daily use; this one's for the edit-and-resave job specifically.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | 0 options: | |
| weight_dtype | COMBO | default | 4 options: default, fp32, fp16, bf16 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| original_model | ORIGINAL_MODEL | — |
| model | MODEL | — |