Nodes/ComfyUI-AceStep_SFT/AceStep 1.5 SFT Lora Loader
ComfyUI Node

AceStep 1.5 SFT Lora Loader

LoRA support for a music model — and it swallows PEFT, DoRA, LyCORIS and Kohya files without complaint

By jeankassio·Created 6 months ago·Updated 4 months ago· 56
AceStep 1.5 SFT Lora Loader
  • model
  • clip
  • model
  • clip
lora_name
strength_model1.00
strength_clip1.00

LoRAs for music models are a young thing, so this node quietly does more than the name suggests. AceStepSFTLoraLoader applies an adapter to both the diffusion model and the CLIP stack, and it's built to eat adapters from just about any training pipeline - PEFT, Kohya, LyCORIS (LoKr/LoHa), Diffusers, OneTrainer, DoRA - by remapping the keys and printing a load report so you can see what actually patched. People asked the author for a LoRA loader within days of the pack launching, and he shipped it fast. This is that.

How it works

Inputs are model and clip (from the Model Loader or a previous Lora Loader), lora_name (picked from your loras folder), and two strengths: strength_model for the diffusion model, strength_clip for the text encoders. It applies the adapter via ComfyUI's standard load_lora_for_models() path, so it composes with the rest of ComfyUI's LoRA machinery, then outputs the patched model and clip. Chain several of these in a row - each one feeds the next - and you've got a LoRA stack.

Where it gets interesting is the file handling. The pack registers its own local Loras/ folder inside the custom node directory, and on startup it scans it:

  • A single .safetensors (ComfyUI format) is used as-is.
  • A PEFT/DoRA folder (adapter_config.json + adapter_model.safetensors) is auto-converted to a *_comfyui.safetensors file - remapping lora_A/lora_B to lora_down/lora_up, lora_magnitude_vector to dora_scale, and injecting per-layer alphas from the config.
  • Nested zip artifacts (a folder inside the downloaded zip) get flattened automatically.

The DoRA fix is the one that'll save you a headache: ComfyUI's weight_decompose expects dora_scale in [N,1] shape, and DoRA checkpoints often ship it as 1D [N], which triggers the infamous "size of tensor a must match" error. The loader unsqueezes it at load time. If you've hit that error in another pack, you know why this matters.

The two settings you'll actually touch

  • strength_model - how hard the adapter pushes on the diffusion model. Start low.
  • strength_clip - how hard it pushes on the text encoders. Leave it at 0.0 unless the LoRA was trained specifically to target them.

AceStep LoRAs behave differently from SD ones, and the README's advice is blunt: overcooked or deformed audio means lower strength_model (0.2–0.6 is the sweet spot), keep strength_clip at 0.0, compare apg vs standard_cfg guidance for the specific LoRA, and don't stack several strong LoRAs at full strength. Stacking at low strength (say 0.35–0.7) is where chaining pays off; stacking at 1.0 is how you get musical salad.

Troubleshooting

  • PEFT/DoRA file not in the dropdown → place the folder inside ComfyUI-AceStep_SFT/Loras/, restart, and watch the console for [AceStep SFT] Converted PEFT/DoRA → ComfyUI: .... The converted *_comfyui.safetensors appears on the next restart.
  • Load report is silent → every load prints a patch report; if you don't see it, the file wasn't found (wrong folder) or is empty.
  • Dimension mismatch error persists → make sure you're on the latest version of the pack; the dora_scale fix landed after the initial release.

Install the pack via ComfyUI Manager (search "AceStep") or git clone https://github.com/jeankassio/ComfyUI-AceStep_SFT.git into custom_nodes/. LoRAs can also live in the standard ComfyUI/models/loras folder - the dropdown scans both.

Categoryaudio/AceStep SFT

Inputs (5)

NameTypeDefaultDescription
modelMODELMODEL from Model Loader or previous Lora Loader.
clipCLIPCLIP from Model Loader or previous Lora Loader.
lora_nameCOMBOAdapter file to apply: LoRA, DoRA, LoKr, LoHa, OFT. PEFT/Kohya/LyCORIS/Diffusers/OneTrainer naming is auto-remapped.
strength_modelFLOAT1.00-100–100How strongly to modify the diffusion model.
strength_clipFLOAT1.00-100–100How strongly to modify the CLIP/text encoder model.

Outputs (2)

NameTypeDescription
modelMODEL
clipCLIP