Nodes/ComfyUI Prepack/đź’€Prepack Loras and MSSD3
ComfyUI Node

đź’€Prepack Loras and MSSD3

LoRAs plus the SD3 sampling shift, in one node — and in the right order

By S4MUEL-404·Created 12 months ago·Updated 10 months ago· 2
đź’€Prepack Loras and MSSD3
  • model
  • model
â—„lora_name_1â–ľâ–ş
â—„strength_model_11.00â–ş
â—„lora_name_2Noneâ–ş
â—„strength_model_20.00â–ş
â—„lora_name_3Noneâ–ş
â—„strength_model_30.00â–ş
â—„shift3.00â–ş

Every SD3-family workflow - and a chunk of the newer video and image models that inherited its sampling - has the same two requirements sitting awkwardly in the middle of the graph: stack your LoRAs, then apply the ModelSamplingSD3 shift so the noise schedule matches what the model was trained on. Vanilla ComfyUI needs a LoraLoaderModelOnly followed by a ModelSamplingSD3 node, each with its own inputs and wires. The đź’€Prepack Loras and MSSD3 fuses them: up to three LoRAs and the shift, all on one node, with a single model output.

The name "MSSD3" is just shorthand for ModelSamplingSD3, and if you're not on an SD3-architecture model you can mostly ignore that half of the node - the LoRA side works regardless.

How it works

The node takes one model input and up to three LoRA slots (lora_name_1–lora_name_3), each with a single strength_model. Note what's not here: no CLIP input and no per-LoRA CLIP strength. This is a model-only loader - it patches the diffusion model and leaves the text encoder alone, which is why you don't feed it a CLIP at all. If your LoRA needs CLIP-side strength (most style LoRAs don't), use the sibling 💀Prepack Loras node instead.

After the LoRAs are applied, the node applies ModelSamplingSD3 with the shift parameter (default 3.0, range 0–100). That shift controls how the model's noise schedule is warped; the default of 3.0 is the value you'll see in most SD3 workflows, and the official guidance is to leave it alone unless you know why you're changing it.

The order matters and it's baked in correctly: LoRAs first, then the shift. That's the ordering the community recommends - you patch the base model with LoRAs before you apply the sampling shift, so the shift sees the final model. (In the Wan 2.x world, where ModelSamplingSD3 also shows up, the same advice holds: LoRA → shift → sampler.) Getting this wrong in a hand-built graph is a real, silent source of weird results, and this node simply removes the possibility.

The single output is model - a MODEL wire that goes straight into a KSampler or this pack's Ksampler.

Where people get burned

If you apply this node to a model that isn't SD3-family, the shift is mostly a no-op - harmless, but pointless. And because a 0.0 strength_model means "skip this LoRA" (checked before loading), a slot you set to 0 is quietly dropped rather than applied at zero strength. That's the behavior you want, but it means you can't use strength 0 as a "disable during testing" that still shows in the list - the node just won't mention it.

Installing it

It ships in the Prepack pack:

cd ComfyUI/custom_nodes
git clone https://github.com/S4MUEL-404/ComfyUI-Prepack.git
pip install -r ComfyUI-Prepack/requirements.txt

Or search "Prepack" in ComfyUI Manager. Dependencies: PyTorch, NumPy, Pillow. Restart, find it under đź’€Prepack. No model downloads; your LoRAs live in ComfyUI/models/loras/.

If a LoRA isn't taking effect, check the console for a [Prepack] Warning: Failed to load LoRA line - failed loads are skipped, and a skipped LoRA is indistinguishable from a strength-0 one at a glance.

Categoryđź’€Prepack

Inputs (8)

NameTypeDefaultDescription
modelMODELThe diffusion model to apply LoRA adapters and SD3 sampling to.
lora_name_1COMBOSelect the first LoRA file to apply (choose 'None' to skip).
strength_model_1FLOAT1.00-100–100Strength for the diffusion model. Typical range [-2.0, 2.0]; 0 disables.
lora_name_2optCOMBONoneSelect the second LoRA file to apply (optional, choose 'None' to skip).
strength_model_2optFLOAT0.00-100–100Strength for the diffusion model. Typical range [-2.0, 2.0]; 0 disables.
lora_name_3optCOMBONoneSelect the third LoRA file to apply (optional, choose 'None' to skip).
strength_model_3optFLOAT0.00-100–100Strength for the diffusion model. Typical range [-2.0, 2.0]; 0 disables.
shiftoptFLOAT3.000–100Shift parameter for SD3 model sampling.

Outputs (1)

NameTypeDescription
modelMODELThe diffusion model with up to 3 LoRAs applied and SD3 model sampling configured.