Load Magic Clothing Model
Magic Clothing in ComfyUI's own format — no diffusers wrapper, IPAdapter works
- sourceModel
- sourceModel
- magicClothingModel
The node that keeps Magic Clothing in ComfyUI-land
Magic Clothing is the virtual try-on method from ShineChen1024/MagicClothing: you hand it a flat photo of a garment, it puts that garment on whatever person your prompt (or your reference image) describes. It blew up in mid-2024, and most ComfyUI ports of it were "black box" wrappers - they hid the whole diffusers pipeline behind one node, which defeats the point of a node graph.
This node is the other approach. The pack's README says it outright: this is the ComfyUI-supported version, "not the diffusers version," and that's the whole selling point. Load Magic Clothing Model takes the official Magic Clothing UNet checkpoint and merges it into a regular ComfyUI MODEL alongside your normal SD1.5 checkpoint. You keep real ComfyUI types on the wire, which means you can stack IPAdapter, ControlNet, or anything else on top of it. The community has recommended this pack specifically for that.
One thing to know up front: Magic Clothing is SD1.5-only. If your base model is SDXL or Flux, this whole family of nodes won't help you.
How it works
You give it two things: a sourceModel (any SD1.5 MODEL, usually from a CheckpointLoaderSimple or UNETLoader) and a magicClothingUnet file from your models/unet folder - that's the checkpoint you download from the ShineChen1024/MagicClothing HuggingFace repo, e.g. oms_diffusion_768_200000.safetensors.
The node then deep-copies the source model's config and builds a second model. It loads the Magic Clothing weights (stored in diffusers-style key names), and for each layer it prefers the Magic Clothing weight where one exists and falls back to your base model's weight where it doesn't. It also handles the weird bit of this model's lineage - the reference UNet starts with 9 input channels (the inpainting-style layout), and the node normalizes that back to 4. The result is your base model, but with Magic Clothing's attention behavior swapped in.
The inputs and outputs that matter
Only two inputs, and a beginner only really sets one:
- sourceModel (
MODEL) - your SD1.5 base, wired straight from a checkpoint loader. - magicClothingUnet - the dropdown of files in
models/unet. Pick the Magic Clothing.safetensorsyou downloaded.
Outputs are sourceModel (untouched, passes through) and magicClothingModel - the merged one. That second output is the important one: it feeds into Add Magic Clothing Attention, along with a CLIP, the garment image as a LATENT, and the feature-guidance strength. That node runs a reference pass over the garment, stores the attention maps, and patches the sampling model to replay them during generation. From there it's a plain KSampler.
How to install it
Via ComfyUI Manager (search "comfyui-magic-clothing" or the author longgui0318), or the manual way:
cd ComfyUI/custom_nodes
git clone https://github.com/longgui0318/comfyui-oms-diffusion
Restart ComfyUI. Then download the models from the HuggingFace repo above and drop them into ComfyUI/models/unet. The native path this node lives on needs no diffusers install - it works with stock ComfyUI. But the pack's own example workflow expects a couple of other packs for the garment-prep stage (BiRefNet to cut the background out, and Impact Pack's crop-with-mask), so budget for those.
Where people get burned
The README is refreshingly honest: the success rate is a lottery, and it works poorly on dense patterns. The author notes the sigma parameter on the attention node is a temporary patch for how ComfyUI handles the first UNet pass. Reddit threads from the era echo it - results look great on simple, geometric garments (a plain tee, a block-colored hoodie) and fall apart on busy prints, fine seams, and fussy cuts. Also feed it a clean flat-lay garment photo, not one being worn. If you get a mash of fabric instead of a shirt, that's the model, not you.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| sourceModel | MODEL | — | |
| magicClothingUnet | COMBO | 0 options: |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| sourceModel | MODEL | — |
| magicClothingModel | MODEL | — |