---
title: ACE-Step-1.5-planner-1.7B-8bit
canonical_url: "https://www.modelscope.cn/models/mlx-community/ACE-Step-1.5-planner-1.7B-8bit"
md_url: "https://www.modelscope.cn/models/mlx-community/ACE-Step-1.5-planner-1.7B-8bit.md"
repository: mlx-community/ACE-Step-1.5-planner-1.7B-8bit
last_updated: 2026-10-28
license: mit
model_type:
  - qwen3
architectures:
  - Qwen3Model
base_model:
  - ACE-Step/Ace-Step1.5
base_model_relation: quantized
parameters: 841.3M
tensor_type:
  - U32
  - BF16
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-8bit

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

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

- **Repository**: mlx-community/ACE-Step-1.5-planner-1.7B-8bit
- **License**: mit
- **Parameters**: 841.3M
- **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-8bit

---

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

ACE-Step 1.5 planner 1.7B (the 5 Hz language model) — MLX, 8-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, 8 bits, `mx.quantize`
(the same core op MLX Swift's `QuantizedLinear.quantize` calls, so every tensor is bit-equal to what the package produced when it
quantised the bf16 planner at load for its `.int8` tier — 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": 8, "mode": "affine"}`
in `config.json`; the 217 204 × 2048 tied embedding / head and the norms stay bf16. **2.39 GB on the Hub** (`model.safetensors`
2 387 361 891 bytes; the 0.9 GB embedding ships unquantised) against the bf16 bundle's 3.71 GB and the 4-bit bundle's 1.68 GB.
**The package's default planner since v0.2.0**: on the port's 12-song gate the 8-bit planner read PER 0.108 against the bf16
planner's 0.120–0.197 across draws (its `MEASUREMENTS.md` §V2b), and its teacher-forced logits and sampled plans are identical to
the quantise-at-load path's (§V4b). 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())   // the .int8 default
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 `.int8` 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).
