Nodes/DiffSynth-ComfyUI/DiffSynth: ACE-Step Loader
ComfyUI Node

DiffSynth: ACE-Step Loader

ACE-Step Loader — three weight files, one tokenizer directory, one music pipe

By modelscope·Created about a month ago·Updated a day ago· 8
DiffSynth: ACE-Step Loader
  • model_configs
  • text_tokenizer_config
  • silence_latent_config
  • vram_limit
  • pipe
◄torch_dtypebfloat16►
◄devicecuda►

ACE-Step is the closest thing open weights have to a local Suno: ACE Studio and StepFun's music model that went from a 3.5B curiosity in May 2025 to v1.5 in February 2026 with a sub-4GB VRAM floor and LoRA training, then an XL 4B decoder in April 2026. This node is the DiffSynth way to load it - as opposed to the ACE-Step nodes baked into ComfyUI core since May 2025, which the community has been grumbling about for a while ("Don't use it in comfy they did not implement most of the features. The gradio UI on their repo is way better").

Why reach for this one instead? Because it's the newer checkpoints. The pack's pipeline registry carries an acestep-v15 line, and its own templates pull acestep-v15-turbo/model.safetensors and, in the featured XL SFT workflow, ACE-Step/acestep-v15-xl-base with model-*.safetensors - the 4B decoder tier that wants 12GB+ rather than 4. Same four-stage VRAM offload machinery as every other DiffSynth pipeline, so you get CPU/disk offload and optional bitsandbytes quantization as levers.

What the Loader actually does

It's an assembly step, nothing more. Three sockets are required:

  • model_configs - the merged list from a DiffSynth: Merge ModelConfigs node. This is where the DiT, the text encoder weights and the VAE get declared.
  • torch_dtype - bfloat16 (default), float16, float32.
  • device - cuda or cpu.

Then two optional sockets that matter more than they look, plus the usual pairing:

  • text_tokenizer_config - a single ModelConfig pointing at the tokenizer directory (Qwen3-Embedding-0.6B/, trailing slash, not a file). Skip it and the text encoder has weights but no tokenizer.
  • silence_latent_config - a ModelConfig for a silence latent, if your checkpoint needs one.
  • vram_limit - the output of a DiffSynth: VRAM Limit node (the templates use cuda + 0.5GB buffer).

One output: pipe, which goes straight into DiffSynth: ACE-Step Inference.

The stock wiring, straight from the shipped template: three ModelConfigs for ACE-Step/Ace-Step1.5 → acestep-v15-turbo/model.safetensors, Qwen3-Embedding-0.6B/model.safetensors and vae/diffusion_pytorch_model.safetensors, merged, plus a fourth ModelConfig with the same repo id and pattern Qwen3-Embedding-0.6B/ wired into text_tokenizer_config.

Install

# ComfyUI Manager: search "DiffSynth-ComfyUI" → Install → restart

# or manual, in this order - the pack needs DiffSynth-Studio present:
pip install git+https://github.com/modelscope/DiffSynth-Studio.git
cd ComfyUI/custom_nodes
git clone https://github.com/modelscope/DiffSynth-ComfyUI.git
cd .. && python main.py

# only if you plan to quantize the XL tier:
pip install "diffsynth[quant] @ git+https://github.com/modelscope/DiffSynth-Studio.git"

Nothing downloads until you run the graph. ModelConfig nodes fetch their files on execute, from ModelScope by default, so your first queue can sit there pulling several GB before anything appears. If modelscope.cn is slow from where you are, switch the ModelConfig's download_source to huggingface, or point path at files you already have.

Where people get burned

No DiffSynth nodes in the menu at all means DiffSynth-Studio didn't install - the pack imports diffsynth at load time, so the whole module dies silently rather than half-registering. Pre-Ampere cards should switch torch_dtype to float16 (bfloat16 isn't native there). And the XL checkpoints are genuinely heavier: 12GB with offload, 20GB+ to be comfortable, so wire the VRAM Config node with CPU offload engaged before you blame the sampler.

CategoryDiffSynth/loader

Inputs (6)

NameTypeDefaultDescription
torch_dtypeCOMBObfloat163 options: bfloat16, float16, float32
deviceCOMBOcuda2 options: cuda, cpu
model_configsDIFFSYNTH_MODEL_CONFIG_LIST—
text_tokenizer_configoptDIFFSYNTH_MODEL_CONFIG—
silence_latent_configoptDIFFSYNTH_MODEL_CONFIG—
vram_limitoptDIFFSYNTH_VRAM_LIMIT—

Outputs (1)

NameTypeDescription
pipeDIFFSYNTH_PIPE—