---
title: ACE-Step-1.5-planner-1.7B-4bit
canonical_url: "https://www.modelscope.cn/models/mlx-community/ACE-Step-1.5-planner-1.7B-4bit"
md_url: "https://www.modelscope.cn/models/mlx-community/ACE-Step-1.5-planner-1.7B-4bit.md"
repository: mlx-community/ACE-Step-1.5-planner-1.7B-4bit
last_updated: 2026-10-28
license: mit
model_type:
  - qwen3
architectures:
  - Qwen3Model
base_model:
  - ACE-Step/Ace-Step1.5
base_model_relation: quantized
parameters: 665.2M
tensor_type:
  - BF16
  - U32
library_name:
  - mlx
  - safetensors
  - pytorch
frameworks:
  - pytorch
downloads: 6
stars: 0
tags:
  - mlx
  - audio
  - music
  - ace-step
  - qwen3
---

# ACE-Step-1.5-planner-1.7B-4bit

> ACE-Step-1.5-planner-1.7B-4bit - mlx-community 在 ModelScope 开源的模型。mlx-community/ACE-Step-1.5-planner-1.7B-4bit

mlx-community/ACE-Step-1.5-planner-1.7B-4bit 是 ModelScope 魔搭社区上的 665.2M 参数机器学习模型，采用 mit 许可，基于 ACE-Step/Ace-Step1.5 构建。

- **Repository**: mlx-community/ACE-Step-1.5-planner-1.7B-4bit
- **License**: mit
- **Parameters**: 665.2M
- **Base model**: ACE-Step/Ace-Step1.5
- **Tags**: mlx, audio, music, ace-step, qwen3
- **Downloads**: 6
- **Stars**: 0
- **Last updated**: 2026-10-28

Source: https://www.modelscope.cn/models/mlx-community/ACE-Step-1.5-planner-1.7B-4bit

---

# mlx-community/ACE-Step-1.5-planner-1.7B-4bit

ACE-Step 1.5 planner 1.7B (the 5 Hz language model) — MLX, 4-bit (affine, group 64). Converted from [ACE-Step/Ace-Step1.5](https://huggingface.co/ACE-Step/Ace-Step1.5) @ `19671f4` by the converter of
[xocialize/mlx-ace-step-swift](https://github.com/xocialize/mlx-ace-step-swift) (`Tools/convert/convert.py`, mlx 0.32.4), a full
port of [ace-step/ACE-Step-1.5](https://github.com/ace-step/ACE-Step-1.5) @ `ca1e85f` to Swift-MLX.

## What is in the bundle

The `ACE-Step-1.5-planner-1.7B-bf16` bundle with the 28 layers' 196 Linears quantised — affine, group size 64, **4 bits**,
`mx.quantize` (the same core op MLX Swift's `QuantizedLinear.quantize` calls, so every tensor is bit-equal to what the package
produces when it quantises the bf16 planner at load to 4 bits — verified tensor for tensor, 702 / 702) — stored as `weight` (packed
uint32) + `scales` + `biases` per Linear in mlx-lm's layout, with `"quantization": {"group_size": 64, "bits": 4, "mode": "affine"}`
in `config.json`; the 217 204 × 2048 tied embedding / head and the norms stay bf16. **1.68 GB on the Hub** (`model.safetensors`
1 682 718 701 bytes) against the 8-bit bundle's 2.39 GB and the bf16 bundle's 3.71 GB — the smallest download. **The package's
`.int4` tier (offered since v0.3.0; `.int8` stays the default):** on the port's 12-song gate the 4-bit planner read PER 0.212 against
the 8-bit planner's 0.108 and the bf16 planner's 0.120–0.197 across draws (its `MEASUREMENTS.md` §V2b), and the operator's listening
pass over the takes cleared it ("lyrics and quality were great with everything I checked"). The Qwen3 base is Apache-2.0 (Qwen); the
fine-tune is ACE-Step's (MIT).

## 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](https://github.com/ace-step/ACE-Step-1.5/blob/main/LICENSE) (Copyright (c) 2026 ACEStep) is the controlling text. The Qwen3 base model is Apache-2.0.

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](https://github.com/xocialize/mlx-ace-step-swift) is gated bit-equal against upstream's own
`dit_convert.py` / `vae_convert.py` (its `MEASUREMENTS.md` §V1).

## Use

Every tier of the Swift package loads four bundles — the turbo DiT, one planner, the text encoder and the VAE — and this bundle
is one of them. The planner choices: `ACE-Step-1.5-planner-1.7B-8bit` for `.int8` (the default), `-4bit` for `.int4`, `-bf16` for
`.bf16` / `.fp32`, and `ACE-Step-1.5-planner-0.6B-bf16` for the lite planner on any tier. The package,
[xocialize/mlx-ace-step-swift](https://github.com/xocialize/mlx-ace-step-swift), runs ACE-Step 1.5 on Apple Silicon through
[MLX Swift](https://github.com/ml-explore/mlx-swift) and plugs into [MLXEngine](https://github.com/xocialize/mlx-engine-swift) 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`.

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

The package loads this bundle as already quantised for its `.int4` tier: the loader builds the `QuantizedLinear`s from the
bundle's `quantization` config before the weights land (nothing is re-quantised at load).

Upstream: [ACE-Step/Ace-Step1.5](https://huggingface.co/ACE-Step/Ace-Step1.5) @ `19671f4` (weights),
[ace-step/ACE-Step-1.5](https://github.com/ace-step/ACE-Step-1.5) @ `ca1e85f` (code) — ACE Studio + StepFun,
[tech report](https://arxiv.org/abs/2602.00744).
