MD: ACE-Step XL Loader π΅
Loads the 1.5 XL music model with the AuraFlow shift baked in
- model
- sigma_plot
- analytics
ACE-Step is the open-source music generation model from ACE Studio and StepFun - Apache-2.0, commercially usable, and native in ComfyUI since May 2025, when the community called it "the Stable Diffusion moment of audio." This node is the pack's loader for the XL variants of ACE-Step 1.5: the bigger UNet with hidden_size=2560 instead of the original 2.6B's 2048. Stock ComfyUI loaders get confused by that architecture difference, which is the gap this node fills.
The headline feature, though, is the AuraFlow shift. ACE-Step needs a timestep shift to schedule its denoising correctly, and instead of telling you to wire up a separate ModelSamplingAuraFlow node, this loader patches it in directly. One node, shift included.
What it loads
The model_path input wants a full path to a directory containing the XL model - config.json, the modeling_*.py files, silence_latent.pt, and the .safetensors weights. That's the ACE-Step repo layout, so point it at wherever you've downloaded the model folder.
Then pick a variant:
xl-turbo- DMD2-distilled, 4β8 steps, fastest. Validated AuraFlow shift 3.0.xl-sft- 50-step undistilled, broader manifold, best quality. Start at shift 2.5 and tune down if you lose coherence.xl-base- unaligned research weights, AuraFlow default 1.73 as baseline.
The aura_shift slider is the interesting one. The formula is Ο(t) = t / (t + shiftΒ·(1βt)) with multiplier 1.0 - shift 1.0 is linear, 1.73 (β3) is the AuraFlow default, 3.0 is what ByteDance validated for ACE-Step XL. Higher shift front-loads denoising. If you've ever fought a flow-matching model's shift knob, this is that concept given a slider and a per-variant recommendation table.
device just picks cuda or cpu.
Outputs
model- the patched MODEL, wired into your KSampler.sigma_plot- a rendered image of the sigma trajectory for your chosen shift (linear reference, β3, and your value overlaid). Great for actually seeing what the shift does.analytics- a string of architecture/session info.
There's also a session cache: re-queueing with the same path + variant skips the ~90-second reload. That's a real quality-of-life win when you're iterating on a track.
The gotchas
The silent-latent detail is worth knowing. ACE-Step's silence_latent has a non-zero mean, and after denoising the latent needs correction or you get artifacts - the loader handles this internally, but it's exactly the kind of thing that bites people using the raw model elsewhere. And "XL" here is not SDXL - it's the ACE-Step 1.5 XL UNet. Don't confuse the names.
It's also worth saying plainly: this is a niche loader for a niche model. If you're not doing ACE-Step music generation, you don't need it. But if you are, it removes the two fiddliest parts of the setup (architecture detection and the shift) into one node, which is more than most loaders in this ecosystem do.
Installing
It's part of MD Nodes:
cd path/to/ComfyUI/custom_nodes
git clone https://github.com/MDMAchine/ComfyUI_MD_Nodes.git
cd ComfyUI_MD_Nodes && pip install -r requirements.txt
Or via ComfyUI Manager (search MD Nodes), then restart. The pack's requirements are heavy (librosa, soundfile, pyloudnorm, pedalboard, matplotlib, and more) - but for audio work you'd want most of that stack anyway.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model_path | STRING | [place XL model folder path here] | Full path to the XL model directory. Must contain: config.json, modeling_*.py, silence_latent.pt, and weights (.safetensors). Session cache: same path+variant skips the 90s reload on re-queue. |
| variant | COMBO | xl-turbo | xl-turbo : DMD2 distilled, 4β8 steps (fastest) xl-sft : 50-step undistilled, broader manifold (best quality) xl-base : Unaligned research weights |
| aura_shift | FLOAT | 3.000.1β10 | AuraFlow sigma shift β controls denoising schedule curvature. Formula: Ο(t) = t / (t + shift*(1βt)), multiplier=1.0 shift = 1.0 β linear schedule shift = 1.73 β AuraFlow default (β3) shift = 3.0 β ACE-Step XL validated (ByteDance default) shift > 1.0 β front-loads denoising (more aggressive early) Per-variant recommendations: xl-turbo : 3.0 (validated) xl-sft : 2.5 (start here, tune down for coherence) xl-base : 1.73 (AuraFlow default as baseline) No external ModelSamplingAuraFlow node needed β this loader bakes the shift in directly. |
| device | COMBO | cuda | 2 options: cuda, cpu |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | β |
| sigma_plot | IMAGE | β |
| analytics | STRING | β |