Instructions to use Audante/ACE-Step-1.5-mlx-8bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Audante/ACE-Step-1.5-mlx-8bit with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download Audante/ACE-Step-1.5-mlx-8bit --local-dir ACE-Step-1.5-mlx-8bit
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
ACE-Step 1.5, MLX 8-bit (language model and DiT)
8-bit MLX versions of the three large parts of ACE-Step 1.5 by ACE Studio
and StepFun, for Apple Silicon: the 5 Hz language model (1.7B) and the DiT decoders of acestep-v15-turbo and
acestep-v15-base. They are used by Audante Link, the desktop helper of the music app Audante, so that ACE-Step 1.5
runs on Macs with 24 to 32 GB of memory. This is not an official ACE-Step release.
The files need ACE-Step 1.5's own code (commit ca1e85fe9430179831e6bc6be790c332190a3866) with Audante's patch
ace-step-mlx-quant.patch: upstream converts the DiT from PyTorch at start-up and has no
way to load a pre-quantized one.
Contents
| Folder | File | What it is |
|---|---|---|
acestep-5Hz-lm-1.7B/ |
model.safetensors (1.97 GB) |
the language model, 8-bit |
config.json |
the original plus a quantization entry |
|
tokenizer files, chat_template.jinja |
unchanged | |
acestep-v15-turbo/ |
mlx_dit.safetensors (1.78 GB), mlx_dit.json |
the DiT decoder in MLX, 8-bit |
model.safetensors (1.64 GB) |
the original without the decoder: lyric and timbre encoders, audio tokenizer and detokenizer, bf16 | |
config.json, silence_latent.pt, model code |
unchanged | |
acestep-v15-base/ |
the same files for the base DiT (add a track, accompaniment) |
Not included, unchanged in ACE-Step/Ace-Step1.5: the VAE (vae/), the
text encoder (Qwen3-Embedding-0.6B/) and the top-level config.json. To use the files, put these three folders
over a download of the original (base goes into acestep-v15-base/) and apply the patch to ACE-Step 1.5.
Changes made by Audante (19.10.2026)
Source: ACE-Step/Ace-Step1.5 at revision
19671f406d603126926c1b7e2adc169acbcade22 and ACE-Step/acestep-v15-base
at revision e432212fec32b8965a14ffa57ae653438d6abd14. No retraining, no fine-tuning.
- Language model: loaded with mlx-lm 0.29.1 (
model.prefix added to the key names, as ACE-Step does when it loads the original) and quantized with mlx-lm'squantize_model: every linear layer and the tied embedding (which is also the output layer) at 8 bits, affine, group size 64 (8.5 bits per weight on average).config.jsongets"quantization": {"group_size": 64, "bits": 8, "mode": "affine"}. - DiT decoders (turbo and base): the
decoder.*tensors ofmodel.safetensors(bf16) are rearranged the way ACE-Step's ownacestep/models/mlx/dit_convert.pydoes it at start-up, cast to float32 and loaded into ACE-Step'sMLXDiTDecoder. Every linear layer is quantized to 8 bits, affine, group size 64 (the timestep embeddings as well); convolutions, norms and the AdaLN tables stay float32, as ACE-Step runs them. The result ismlx_dit.safetensors;mlx_dit.jsonrecords bits, group size and the 8-bit layers.model.safetensorskeeps all other tensors unchanged. - The model code (
*.py),config.jsonof the DiTs,silence_latent.ptand the tokenizer files are byte-identical to the originals.SHA256SUMSlists every file.
The patch makes ACE-Step load mlx_dit.safetensors when it is there and leave its PyTorch copy of the decoder
empty, and it loads the 8-bit language model with mlx-lm's load_model. It also adds settings Audante uses with the
original files: a cap on MLX's buffer cache (ACESTEP_MLX_CACHE_GB), freeing the unused PyTorch decoder
(ACESTEP_FREE_TORCH_DIT=1, the audio stays byte-identical), a seed for the language model of a single song
(ACESTEP_MLX_LM_SEED=1; upstream seeds it only in batches) and no model downloads at run time
(ACESTEP_NO_DOWNLOAD=1).
Measured
On a Mac Studio (M3 Ultra) with ACE-Step's API server at commit ca1e85f and the patch, ACE-Step set up as on a
32-GB Mac (MAX_MPS_VRAM=21.3), MLX cache 0.5 GB, a fixed seed, one song at 30 and 180 seconds. Peak = lifetime
maximum of the server's physical footprint, GPU memory included.
| Disk (without base) | Peak 30 s 路 180 s | |
|---|---|---|
| Original files, as upstream loads them | 10.1 GB | 55.8 路 60.7 GB |
| Original files, MLX cache capped | 10.1 GB | 31.7 路 32.8 GB |
| Original files, unused PyTorch decoder freed | 10.1 GB | 26.3 路 26.6 GB |
| These files | 7.0 GB | 20.2 路 20.3 GB |
As on a 24-GB Mac (MAX_MPS_VRAM=16, CPU offload off), these files peak at 17.3 GB (30 s) and 17.5 GB (180 s).
With the base DiT loaded as a second model for add-track, the server peaked at 29.7 GB instead of 42.8 GB with the
original files (decoder freed).
Sound and fidelity, against the original files with the same seed:
- DiT (turbo), 8-bit: with identical language-model codes, mean log-mel distance 0.31 dB (30 s) and 0.46 dB (180 s), waveform SNR 17 and 21 dB.
- Language model, 8-bit: against bf16 on the same 901 audio codes and 166 metadata tokens (teacher forcing): mean KL divergence 0.052 on the codes (0.18 with classifier-free guidance), 0.012 on the metadata; negative log likelihood 6.57 instead of 6.52. Because ACE-Step samples the codes at temperature 0.85, any change of the language model makes a different song from the same seed.
- DiT (base), 8-bit: adding a drum track to the same 30-s song with the same seed: 1.03 dB log-mel distance and 17.5 dB SNR for the new track alone, 0.47 dB for the mix (two runs of the original differ by 0.05 dB). This is more than the turbo DiT; the base DiT runs 32 steps with guidance.
- Speed: the 8-bit language model writes the codes of a 3-minute song in 9.1 instead of 13.0 seconds; the DiT is as fast as before.
Licence and origin
ACE-Step 1.5 is developed by ACE Studio and StepFun and licensed under the MIT licence. Its Hugging Face
repositories state the licence in their metadata and model cards but carry no licence file; LICENSE is
the MIT text with its copyright line ("Copyright (c) 2026 ACEStep"), unchanged from
github.com/ace-step/ACE-Step-1.5 at commit ca1e85f. The patch is a
modification of that MIT-licensed code and is offered under the same licence.
The 5 Hz language model is pretrained from Qwen3-1.7B, 漏 2024 Alibaba Cloud, licensed under the Apache License 2.0.
Its licence text is in LICENSE-Qwen, unchanged from
Qwen/Qwen3-1.7B at revision 70d244cc86ccca08cf5af4e1e306ecf908b1ad5e.
Audante changed it only as described above (quantized to 8 bits).
From ACE-Step's licence and disclaimer: "To ensure responsible use, we encourage users to verify the originality of generated works, clearly disclose AI involvement, and obtain appropriate permissions when adapting protected styles or materials."
Please cite the authors:
@misc{gong2026acestep,
title={ACE-Step 1.5: Pushing the Boundaries of Open-Source Music Generation},
author={Junmin Gong, Yulin Song, Wenxiao Zhao, Sen Wang, Shengyuan Xu, Jing Guo},
howpublished={\url{https://github.com/ace-step/ACE-Step-1.5}},
year={2026},
note={GitHub repository}
}
8-bit
Model tree for Audante/ACE-Step-1.5-mlx-8bit
Base model
ACE-Step/Ace-Step1.5