mlx-community/ACE-Step-1.5-vae-fp32

ACE-Step 1.5 Oobleck VAE (48 kHz stereo ↔ 64-d latents at 25 Hz) — MLX, fp32. Converted from ACE-Step/Ace-Step1.5 @ 19671f4 by the converter of xocialize/mlx-ace-step-swift (Tools/convert/convert.py, mlx 0.32.4), a full port of ace-step/ACE-Step-1.5 @ ca1e85f to Swift-MLX.

What is in the bundle

vae of ACE-Step 1.5 (diffusers AutoencoderOobleck, downsampling ratios [2, 4, 4, 6, 10] → hop 1920, encoder and decoder) with weight normalisation folded in fp32 numpy as upstream's vae_convert.py does, convolutions in MLX's [out, k, in] layout, Snake parameters as [C] — 291 tensors, bit-equal to upstream's own conversion. The encoder is included (reference-audio timbre, cover / repaint / extend). The checkpoint ships bf16; this bundle is fp32 and the package keeps the VAE fp32 on every tier (the port decodes at 118–121 dB against upstream's MLX VAE at fp32).

Licence

MIT. The Hugging Face repository ACE-Step/Ace-Step1.5 ships no LICENSE file; its model-card tag and README state MIT and the GitHub LICENSE (Copyright (c) 2026 ACEStep) is the controlling text. Footnote: the Oobleck VAE (ACE-Step/ace-step-v1.5-1d-vae-stable-audio-format, MIT) is Stable Audio Open's architecture retargeted to 48 kHz; whether its weights were initialised from Stability's community-licensed VAE is stated nowhere upstream — ACE-Step asserts MIT and ships it.

The full notice travels with the bundle as NOTICE; LICENSE is the MIT text. Nothing in the weights is modified beyond the layout conversion (key prefix / conv layout / weight-norm folding) — the converter Tools/convert/convert.py in xocialize/mlx-ace-step-swift is gated bit-equal against upstream's own dit_convert.py / vae_convert.py (its MEASUREMENTS.md §V1).

Use

This bundle is one of the four (five, with the lite planner) weight sources of the Swift package xocialize/mlx-ace-step-swift, which runs ACE-Step 1.5 on Apple Silicon through MLX Swift and plugs into MLXEngine on the music capability (caption + lyrics → a 48 kHz stereo song; reference-audio timbre; cover / repaint / extend of a source clip; LRC timestamps). The package's ACEStepConfiguration names these repos and the engine materialises them; the parity gates against the upstream oracle (fp32, TF32 off) are recorded in the package's MEASUREMENTS.md.

let engine = MLXServeEngine()
let id = try await engine.register(ACEStepPackage.registration, configuration: ACEStepConfiguration(quant: .bf16))
try await engine.prepare(.music, package: id)
let song = try await engine.run(MusicRequest(caption: "…", lyrics: "[Verse]\n…", durationSeconds: 120, seed: 7), package: id)

Upstream: ACE-Step/Ace-Step1.5 @ 19671f4 (weights), ace-step/ACE-Step-1.5 @ ca1e85f (code) — ACE Studio + StepFun, tech report.

Downloads last month
19
Safetensors
Model size
0.2B params
Tensor type
F32
·
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for mlx-community/ACE-Step-1.5-vae-fp32

Finetuned
(26)
this model

Collection including mlx-community/ACE-Step-1.5-vae-fp32

Paper for mlx-community/ACE-Step-1.5-vae-fp32