Project | Hugging Face | ModelScope | Space Demo | Discord | Technical Report
- โจ Features
- ๐ฆ Installation
- ๐ฅ Model Download
- ๐ Usage
- ๐ Tutorial
- ๐จ Train
- ๐๏ธ Architecture
- ๐ฆ Model Zoo
๐ We present ACE-Step v1.5, a highly efficient open-source music foundation model that brings commercial-grade generation to consumer hardware. On commonly used evaluation metrics, ACE-Step v1.5 achieves quality beyond most commercial music models while remaining extremely fastโunder 2 seconds per full song on an A100 and under 10 seconds on an RTX 3090. The model runs locally with less than 4GB of VRAM, and supports lightweight personalization: users can train a LoRA from just a few songs to capture their own style.
๐ At its core lies a novel hybrid architecture where the Language Model (LM) functions as an omni-capable planner: it transforms simple user queries into comprehensive song blueprintsโscaling from short loops to 10-minute compositionsโwhile synthesizing metadata, lyrics, and captions via Chain-of-Thought to guide the Diffusion Transformer (DiT). โก Uniquely, this alignment is achieved through intrinsic reinforcement learning relying solely on the model's internal mechanisms, thereby eliminating the biases inherent in external reward models or human preferences. ๐๏ธ
๐ฎ Beyond standard synthesis, ACE-Step v1.5 unifies precise stylistic control with versatile editing capabilitiesโsuch as cover generation, repainting, and vocal-to-BGM conversionโwhile maintaining strict adherence to prompts across 50+ languages. This paves the way for powerful tools that seamlessly integrate into the creative workflows of music artists, producers, and content creators. ๐ธ
- โ Ultra-Fast Generation โ Under 2s per full song on A100, under 10s on RTX 3090 (0.5s to 10s on A100 depending on think mode & diffusion steps)
- โ Flexible Duration โ Supports 10 seconds to 10 minutes (600s) audio generation
- โ Batch Generation โ Generate up to 8 songs simultaneously
- โ Commercial-Grade Output โ Quality beyond most commercial music models (between Suno v4.5 and Suno v5)
- โ Rich Style Support โ 1000+ instruments and styles with fine-grained timbre description
- โ Multi-Language Lyrics โ Supports 50+ languages with lyrics prompt for structure & style control
| Feature | Description |
|---|---|
| โ Reference Audio Input | Use reference audio to guide generation style |
| โ Cover Generation | Create covers from existing audio |
| โ Repaint & Edit | Selective local audio editing and regeneration |
| โ Track Separation | Separate audio into individual stems |
| โ Multi-Track Generation | Add layers like Suno Studio's "Add Layer" feature |
| โ Vocal2BGM | Auto-generate accompaniment for vocal tracks |
| โ Metadata Control | Control duration, BPM, key/scale, time signature |
| โ Simple Mode | Generate full songs from simple descriptions |
| โ Query Rewriting | Auto LM expansion of tags and lyrics |
| โ Audio Understanding | Extract BPM, key/scale, time signature & caption from audio |
| โ LRC Generation | Auto-generate lyric timestamps for generated music |
| โ LoRA Training | One-click annotation & training in Gradio. 8 songs, 1 hour on 3090 (12GB VRAM) |
| โ Quality Scoring | Automatic quality assessment for generated audio |
Star ACE-Step on GitHub and be instantly notified of new releases

Requirements: Python 3.11, CUDA GPU recommended (works on CPU/MPS but slower)
For Windows users, we provide a portable package with pre-installed dependencies:
- Download and extract: ACE-Step-1.5.7z
- The package includes
python_embededwith all dependencies pre-installed - Requirements: CUDA 12.8
The portable package includes convenient batch scripts for easy operation:
| Script | Description | Usage |
|---|---|---|
| start_gradio_ui.bat | Launch Gradio Web UI | Double-click or run from terminal |
| start_api_server.bat | Launch REST API Server | Double-click or run from terminal |
Basic Usage:
# Launch Gradio Web UI (Recommended)
start_gradio_ui.bat
# Launch REST API Server
start_api_server.batBoth scripts support:
- โ
Auto environment detection (
python_embededoruv) - โ
Auto install
uvif needed (via winget or PowerShell) - โ Configurable download source (HuggingFace/ModelScope)
- โ Optional Git update check before startup
- โ Customizable language, models, and parameters
Edit the scripts to customize settings:
start_gradio_ui.bat:
REM UI language (en, zh, ja)
set LANGUAGE=zh
REM Download source (auto, huggingface, modelscope)
set DOWNLOAD_SOURCE=--download-source modelscope
REM Git update check (true/false) - requires PortableGit
set CHECK_UPDATE=true
REM Model configuration
set CONFIG_PATH=--config_path acestep-v15-turbo
set LM_MODEL_PATH=--lm_model_path acestep-5Hz-lm-1.7B| Script | Purpose | When to Use |
|---|---|---|
| check_update.bat | Check and update from GitHub | When you want to update to the latest version |
| merge_config.bat | Merge backed-up configurations | After updating when config conflicts occur |
| install_uv.bat | Install uv package manager | If uv installation failed during startup |
| quick_test.bat | Test environment setup | To verify your environment is working |
| test_git_update.bat | Test Git update functionality | To verify PortableGit is working correctly |
Update Workflow:
# 1. Check for updates (requires PortableGit/)
check_update.bat
# 2. If conflicts occur, your changes are backed up automatically
# 3. After update, merge your settings back
merge_config.bat
# Options:
# - Compare backup with current files (side-by-side in Notepad)
# - Restore files from backup
# - List all backed-up files
# - Delete old backupsEnvironment Testing:
# Test your setup
quick_test.bat
# This checks:
# - Python installation (python_embeded or system Python)
# - uv installation and PATH
# - GPU availability (CUDA/ROCm)
# - Basic importsIf you have PortableGit/ folder in your package, you can:
-
Enable Auto-Updates: Edit
start_gradio_ui.batorstart_api_server.batset CHECK_UPDATE=true
-
Manual Update Check:
check_update.bat
-
Conflict Handling: When your modified files conflict with GitHub updates:
- Files are automatically backed up to
.update_backup_YYYYMMDD_HHMMSS/ - Use
merge_config.batto compare and merge changes - Supports all file types:
.bat,.py,.yaml,.json, etc.
- Files are automatically backed up to
Update Features:
- โฑ๏ธ 10-second timeout protection (won't block startup if GitHub is unreachable)
- ๐พ Smart conflict detection and backup
- ๐ Automatic rollback on failure
- ๐ Preserves directory structure in backups
Environment Detection Priority:
python_embeded\python.exe(if exists)uv run acestep(if uv is installed)- Auto-install uv via winget or PowerShell
Download Source:
auto: Auto-detect best source (checks Google accessibility)huggingface: Use HuggingFace Hubmodelscope: Use ModelScope
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"git clone https://github.com/ACE-Step/ACE-Step-1.5.git
cd ACE-Step-1.5
uv syncUsing uv:
uv run acestepUsing Python directly:
Note: Make sure to activate your Python environment first:
- Windows portable package: Use
python_embeded\python.exeinstead ofpython- Conda environment: Run
conda activate your_env_namefirst- venv: Run
source venv/bin/activate(Linux/Mac) orvenv\Scripts\activate(Windows) first- System Python: Use
pythonorpython3directly
# Windows portable package
python_embeded\python.exe acestep\acestep_v15_pipeline.py
# Conda/venv/system Python
python acestep/acestep_v15_pipeline.pyOpen http://localhost:7860 in your browser. Models will be downloaded automatically on first run.
Using uv:
uv run acestep-apiUsing Python directly:
Note: Make sure to activate your Python environment first (see note above).
# Windows portable package
python_embeded\python.exe acestep\api_server.py
# Conda/venv/system Python
python acestep/api_server.pyAPI runs at http://localhost:8001. See API Documentation for endpoints.
Gradio UI (acestep):
| Option | Default | Description |
|---|---|---|
--port |
7860 | Server port |
--server-name |
127.0.0.1 | Server address (use 0.0.0.0 for network access) |
--share |
false | Create public Gradio link |
--language |
en | UI language: en, zh, ja |
--init_service |
false | Auto-initialize models on startup |
--config_path |
auto | DiT model (e.g., acestep-v15-turbo, acestep-v15-turbo-shift3) |
--lm_model_path |
auto | LM model (e.g., acestep-5Hz-lm-0.6B, acestep-5Hz-lm-1.7B) |
--offload_to_cpu |
auto | CPU offload (auto-enabled if VRAM < 16GB) |
--download-source |
auto | Model download source: auto, huggingface, or modelscope |
--enable-api |
false | Enable REST API endpoints alongside Gradio UI |
--api-key |
none | API key for API endpoints authentication |
--auth-username |
none | Username for Gradio authentication |
--auth-password |
none | Password for Gradio authentication |
Examples:
Note for Python users: Replace
pythonwith your environment's Python executable:
- Windows portable package:
python_embeded\python.exe- Conda: Activate environment first, then use
python- venv: Activate environment first, then use
python- System: Use
pythonorpython3
# Public access with Chinese UI
uv run acestep --server-name 0.0.0.0 --share --language zh
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --server-name 0.0.0.0 --share --language zh
# Pre-initialize models on startup
uv run acestep --init_service true --config_path acestep-v15-turbo
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --init_service true --config_path acestep-v15-turbo
# Enable API endpoints with authentication
uv run acestep --enable-api --api-key sk-your-secret-key --port 8001
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --enable-api --api-key sk-your-secret-key --port 8001
# Enable both Gradio auth and API auth
uv run acestep --enable-api --api-key sk-123456 --auth-username admin --auth-password password
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --enable-api --api-key sk-123456 --auth-username admin --auth-password password
# Use ModelScope as download source
uv run acestep --download-source modelscope
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --download-source modelscope
# Use HuggingFace Hub as download source
uv run acestep --download-source huggingface
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --download-source huggingface# Add dependencies
uv add package-name
uv add --dev package-name
# Update all dependencies
uv sync --upgradeCurrently, we support Intel GPUs.
- Tested Device: Windows laptop with Ultra 9 285H integrated graphics.
- Settings:
offloadis disabled by default.compileandquantizationare enabled by default.
- Capabilities: LLM inference is supported (tested with
acestep-5Hz-lm-0.6B).- Note: LLM inference speed might decrease when generating audio longer than 2 minutes.
- Note:
nanovllmacceleration for LLM inference is currently NOT supported on Intel GPUs.
- Test Environment: PyTorch 2.8.0 from Intel Extension for PyTorch.
- Intel Discrete GPUs: Expected to work, but not tested yet as the developer does not have available devices. Waiting for community feedback.
Models are automatically downloaded from HuggingFace or ModelScope on first run. You can also manually download models using the CLI or huggingface-cli.
ACE-Step supports multiple download sources with automatic fallback:
| Source | Description | Configuration |
|---|---|---|
| auto (default) | Automatic detection based on network, selects best source | --download-source auto or omit |
| modelscope | Use ModelScope as download source | --download-source modelscope |
| huggingface | Use HuggingFace Hub as download source | --download-source huggingface |
How it works:
- Auto mode (default): Tests Google connectivity. If accessible โ HuggingFace Hub; if not โ ModelScope
- Manual mode: Uses your specified source, with automatic fallback to alternate source on failure
- Fallback protection: If primary source fails, automatically tries the other source
Examples:
Note for Python users: Replace
pythonwith your environment's Python executable (see note in Launch section above).
# Use ModelScope
uv run acestep --download-source modelscope
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --download-source modelscope
# Use HuggingFace Hub
uv run acestep --download-source huggingface
# Or using Python directly:
python acestep/acestep_v15_pipeline.py --download-source huggingface
# Auto-detect (default, no configuration needed)
uv run acestep
# Or using Python directly:
python acestep/acestep_v15_pipeline.pyFor Windows portable package users, edit start_gradio_ui.bat or start_api_server.bat:
REM Use ModelScope
set DOWNLOAD_SOURCE=--download-source modelscope
REM Use HuggingFace Hub
set DOWNLOAD_SOURCE=--download-source huggingface
REM Auto-detect (default)
set DOWNLOAD_SOURCE=For command line users:
Note for Python users: Replace
pythonwith your environment's Python executable (see note in Launch section above).
# Using uv
uv run acestep --download-source modelscope
# Using Python directly
python acestep/acestep_v15_pipeline.py --download-source modelscopeWhen you run acestep or acestep-api, the system will:
- Check if the required models exist in
./checkpoints - If not found, automatically download them using the configured source (or auto-detect)
Note for Python users: Replace
pythonwith your environment's Python executable (see note in Launch section above).
Using uv:
# Download main model (includes everything needed to run)
uv run acestep-download
# Download all available models (including optional variants)
uv run acestep-download --all
# Download from ModelScope
uv run acestep-download --download-source modelscope
# Download from HuggingFace Hub
uv run acestep-download --download-source huggingface
# Download a specific model
uv run acestep-download --model acestep-v15-sft
# List all available models
uv run acestep-download --list
# Download to a custom directory
uv run acestep-download --dir /path/to/checkpointsUsing Python directly:
# Download main model (includes everything needed to run)
python -m acestep.model_downloader
# Download all available models (including optional variants)
python -m acestep.model_downloader --all
# Download from ModelScope
python -m acestep.model_downloader --download-source modelscope
# Download from HuggingFace Hub
python -m acestep.model_downloader --download-source huggingface
# Download a specific model
python -m acestep.model_downloader --model acestep-v15-sft
# List all available models
python -m acestep.model_downloader --list
# Download to a custom directory
python -m acestep.model_downloader --dir /path/to/checkpointsYou can also use huggingface-cli directly:
# Download main model (includes vae, Qwen3-Embedding-0.6B, acestep-v15-turbo, acestep-5Hz-lm-1.7B)
huggingface-cli download ACE-Step/Ace-Step1.5 --local-dir ./checkpoints
# Download optional LM models
huggingface-cli download ACE-Step/acestep-5Hz-lm-0.6B --local-dir ./checkpoints/acestep-5Hz-lm-0.6B
huggingface-cli download ACE-Step/acestep-5Hz-lm-4B --local-dir ./checkpoints/acestep-5Hz-lm-4B
# Download optional DiT models
huggingface-cli download ACE-Step/acestep-v15-base --local-dir ./checkpoints/acestep-v15-base
huggingface-cli download ACE-Step/acestep-v15-sft --local-dir ./checkpoints/acestep-v15-sft
huggingface-cli download ACE-Step/acestep-v15-turbo-shift1 --local-dir ./checkpoints/acestep-v15-turbo-shift1
huggingface-cli download ACE-Step/acestep-v15-turbo-shift3 --local-dir ./checkpoints/acestep-v15-turbo-shift3
huggingface-cli download ACE-Step/acestep-v15-turbo-continuous --local-dir ./checkpoints/acestep-v15-turbo-continuous| Model | HuggingFace Repo | Description |
|---|---|---|
| Main | ACE-Step/Ace-Step1.5 | Core components: vae, Qwen3-Embedding-0.6B, acestep-v15-turbo, acestep-5Hz-lm-1.7B |
| acestep-5Hz-lm-0.6B | ACE-Step/acestep-5Hz-lm-0.6B | Lightweight LM model (0.6B params) |
| acestep-5Hz-lm-4B | ACE-Step/acestep-5Hz-lm-4B | Large LM model (4B params) |
| acestep-v15-base | ACE-Step/acestep-v15-base | Base DiT model |
| acestep-v15-sft | ACE-Step/acestep-v15-sft | SFT DiT model |
| acestep-v15-turbo-shift1 | ACE-Step/acestep-v15-turbo-shift1 | Turbo DiT with shift1 |
| acestep-v15-turbo-shift3 | ACE-Step/acestep-v15-turbo-shift3 | Turbo DiT with shift3 |
| acestep-v15-turbo-continuous | ACE-Step/acestep-v15-turbo-continuous | Turbo DiT with continuous shift (1-5) |
ACE-Step automatically adapts to your GPU's VRAM. Here's a quick guide:
| Your GPU VRAM | Recommended LM Model | Notes |
|---|---|---|
| โค6GB | None (DiT only) | LM disabled by default to save memory |
| 6-12GB | acestep-5Hz-lm-0.6B |
Lightweight, good balance |
| 12-16GB | acestep-5Hz-lm-1.7B |
Better quality |
| โฅ16GB | acestep-5Hz-lm-4B |
Best quality and audio understanding |
๐ For detailed GPU compatibility information (duration limits, batch sizes, memory optimization), see GPU Compatibility Guide: English | ไธญๆ | ๆฅๆฌ่ช
We provide multiple ways to use ACE-Step:
| Method | Description | Documentation |
|---|---|---|
| ๐ฅ๏ธ Gradio Web UI | Interactive web interface for music generation | Gradio Guide |
| ๐ Python API | Programmatic access for integration | Inference API |
| ๐ REST API | HTTP-based async API for services | REST API |
๐ Documentation available in: English | ไธญๆ | ๆฅๆฌ่ช
๐ฏ Must Read: Comprehensive guide to ACE-Step 1.5's design philosophy and usage methods.
| Language | Link |
|---|---|
| ๐บ๐ธ English | English Tutorial |
| ๐จ๐ณ ไธญๆ | ไธญๆๆ็จ |
| ๐ฏ๐ต ๆฅๆฌ่ช | ๆฅๆฌ่ชใใฅใผใใชใขใซ |
This tutorial covers:
- Mental models and design philosophy
- Model architecture and selection
- Input control (text and audio)
- Inference hyperparameters
- Random factors and optimization strategies
See the LoRA Training tab in Gradio UI for one-click training, or check Gradio Guide - LoRA Training for details.
| DiT Model | Pre-Training | SFT | RL | CFG | Step | Refer audio | Text2Music | Cover | Repaint | Extract | Lego | Complete | Quality | Diversity | Fine-Tunability | Hugging Face |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
acestep-v15-base |
โ | โ | โ | โ | 50 | โ | โ | โ | โ | โ | โ | โ | Medium | High | Easy | Link |
acestep-v15-sft |
โ | โ | โ | โ | 50 | โ | โ | โ | โ | โ | โ | โ | High | Medium | Easy | Link |
acestep-v15-turbo |
โ | โ | โ | โ | 8 | โ | โ | โ | โ | โ | โ | โ | Very High | Medium | Medium | Link |
acestep-v15-turbo-rl |
โ | โ | โ | โ | 8 | โ | โ | โ | โ | โ | โ | โ | Very High | Medium | Medium | To be released |
| LM Model | Pretrain from | Pre-Training | SFT | RL | CoT metas | Query rewrite | Audio Understanding | Composition Capability | Copy Melody | Hugging Face |
|---|---|---|---|---|---|---|---|---|---|---|
acestep-5Hz-lm-0.6B |
Qwen3-0.6B | โ | โ | โ | โ | โ | Medium | Medium | Weak | โ |
acestep-5Hz-lm-1.7B |
Qwen3-1.7B | โ | โ | โ | โ | โ | Medium | Medium | Medium | โ |
acestep-5Hz-lm-4B |
Qwen3-4B | โ | โ | โ | โ | โ | Strong | Strong | Strong | โ |
This project is licensed under MIT
ACE-Step enables original music generation across diverse genres, with applications in creative production, education, and entertainment. While designed to support positive and artistic use cases, we acknowledge potential risks such as unintentional copyright infringement due to stylistic similarity, inappropriate blending of cultural elements, and misuse for generating harmful content. 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. By using ACE-Step, you agree to uphold these principles and respect artistic integrity, cultural diversity, and legal compliance. The authors are not responsible for any misuse of the model, including but not limited to copyright violations, cultural insensitivity, or the generation of harmful content.
๐ Important Notice
The only official website for the ACE-Step project is our GitHub Pages site.
We do not operate any other websites.
๐ซ Fake domains include but are not limited to:
ac**p.com, a**p.org, a***c.org
This project is co-led by ACE Studio and StepFun.
If you find this project useful for your research, please consider citing:
@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}
}


