# ACE-Step 1.5 Installation Guide **Language / 语言 / 言語:** [English](INSTALL.md) | [中文](../zh/INSTALL.md) | [日本語](../ja/INSTALL.md) --- ## Table of Contents - [Requirements](#requirements) - [Quick Start (All Platforms)](#quick-start-all-platforms) - [Launch Scripts](#-launch-scripts) - [Windows Portable Package](#-windows-portable-package) - [macOS Portable Package](#-macos-portable-package) - [AMD / ROCm GPUs](#amd--rocm-gpus) - [Intel GPUs](#intel-gpus) - [CPU-Only Mode](#cpu-only-mode) - [Linux Notes](#linux-notes) - [Environment Variables (.env)](#environment-variables-env) - [Command Line Options](#command-line-options) - [Model Download](#-model-download) - [Which Model Should I Choose?](#-which-model-should-i-choose) - [Development](#development) --- ## Requirements | Item | Requirement | |------|-------------| | Python | 3.11-3.12 (stable release, not pre-release)
**Note:** ROCm on Windows requires Python 3.12 | | GPU | CUDA GPU recommended; MPS / ROCm / Intel XPU / CPU also supported | | VRAM | ≥4GB for DiT-only mode; ≥6GB for LLM+DiT | | Disk | ~10GB for core models | --- ## Quick Start (All Platforms) ### 1. Install uv (Package Manager) ```bash # 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" ``` ### 2. Clone & Install ```bash git clone https://github.com/ACE-Step/ACE-Step-1.5.git cd ACE-Step-1.5 uv sync ``` ### 3. Launch **Gradio Web UI (Recommended):** ```bash uv run acestep ``` **REST API Server:** ```bash uv run acestep-api ``` **Using Python directly** (Conda / venv / system Python): ```bash # Activate your environment first, then: python acestep/acestep_v15_pipeline.py # Gradio UI python acestep/api_server.py # REST API ``` > Models are downloaded automatically on first run. Open http://localhost:7860 (Gradio) or http://localhost:8001 (API). --- ## 🚀 Launch Scripts Ready-to-use launch scripts for all platforms. These scripts handle environment detection, dependency installation, and application startup automatically. All scripts check for updates on startup by default (configurable). ### Available Scripts | Platform | Script | Description | |----------|--------|-------------| | **Windows** | `start_gradio_ui.bat` | Launch Gradio Web UI (CUDA) | | **Windows** | `start_api_server.bat` | Launch REST API Server (CUDA) | | **Windows** | `start_gradio_ui_rocm.bat` | Launch Gradio Web UI (AMD ROCm) | | **Windows** | `start_api_server_rocm.bat` | Launch REST API Server (AMD ROCm) | | **Linux** | `start_gradio_ui.sh` | Launch Gradio Web UI (CUDA) | | **Linux** | `start_api_server.sh` | Launch REST API Server (CUDA) | | **macOS** | `start_gradio_ui_macos.sh` | Launch Gradio Web UI (MLX) | | **macOS** | `start_api_server_macos.sh` | Launch REST API Server (MLX) | ### Windows ```bash # Launch Gradio Web UI (NVIDIA CUDA) start_gradio_ui.bat # Launch REST API Server (NVIDIA CUDA) start_api_server.bat # Launch Gradio Web UI (AMD ROCm) start_gradio_ui_rocm.bat # Launch REST API Server (AMD ROCm) start_api_server_rocm.bat ``` > **ROCm users:** The ROCm scripts (`start_gradio_ui_rocm.bat`, `start_api_server_rocm.bat`) auto-set `HSA_OVERRIDE_GFX_VERSION`, `ACESTEP_LM_BACKEND=pt`, `MIOPEN_FIND_MODE=FAST` and other ROCm-specific environment variables. They use a separate `venv_rocm` virtual environment to avoid CUDA/ROCm wheel conflicts. ### Linux ```bash # Make executable (first time only) chmod +x start_gradio_ui.sh start_api_server.sh # Launch Gradio Web UI ./start_gradio_ui.sh # Launch REST API Server ./start_api_server.sh ``` > **Note:** Git must be installed via your system package manager (`sudo apt install git`, `sudo yum install git`, `sudo pacman -S git`). ### macOS (Apple Silicon / MLX) macOS scripts use the **MLX backend** for native Apple Silicon acceleration (M1/M2/M3/M4). ```bash # Make executable (first time only) chmod +x start_gradio_ui_macos.sh start_api_server_macos.sh # Launch Gradio Web UI with MLX backend ./start_gradio_ui_macos.sh # Launch REST API Server with MLX backend ./start_api_server_macos.sh ``` The macOS scripts automatically set `ACESTEP_LM_BACKEND=mlx` and `--backend mlx` for native Apple Silicon acceleration, and fall back to PyTorch backend on non-arm64 machines. > **Note:** Install git via `xcode-select --install` or `brew install git`. ### Script Features - Startup update check (enabled by default, configurable) - Auto environment detection (portable Python or uv) - Auto install `uv` if needed - Configurable download source (HuggingFace/ModelScope) - Customizable models and parameters ### How to Modify Configuration All configurable options are defined as variables at the top of each script. To customize, open the script with a text editor and modify the variable values. **Example: Change UI language to Chinese and use the 1.7B LM model**
Windows (.bat)Linux / macOS (.sh)
Find these lines in `start_gradio_ui.bat`: ```batch set LANGUAGE=en set LM_MODEL_PATH=--lm_model_path acestep-5Hz-lm-0.6B ``` Change to: ```batch set LANGUAGE=zh set LM_MODEL_PATH=--lm_model_path acestep-5Hz-lm-1.7B ``` Find these lines in `start_gradio_ui.sh`: ```bash LANGUAGE="en" LM_MODEL_PATH="--lm_model_path acestep-5Hz-lm-0.6B" ``` Change to: ```bash LANGUAGE="zh" LM_MODEL_PATH="--lm_model_path acestep-5Hz-lm-1.7B" ```
**Example: Disable startup update check**
Windows (.bat)Linux / macOS (.sh)
```batch REM set CHECK_UPDATE=true set CHECK_UPDATE=false ``` ```bash # CHECK_UPDATE="true" CHECK_UPDATE="false" ```
**Example: Enable a commented-out option** — remove the comment prefix (`REM` for .bat, `#` for .sh):
Windows (.bat)Linux / macOS (.sh)
Before: ```batch REM set SHARE=--share ``` After: ```batch set SHARE=--share ``` Before: ```bash # SHARE="--share" ``` After: ```bash SHARE="--share" ```
**Common configurable options:** | Option | Gradio UI | API Server | Description | |--------|:---------:|:----------:|-------------| | `LANGUAGE` | ✅ | — | UI language: `en`, `zh`, `he`, `ja` | | `PORT` | ✅ | ✅ | Server port (default: 7860 / 8001) | | `SERVER_NAME` / `HOST` | ✅ | ✅ | Bind address (`127.0.0.1` or `0.0.0.0`) | | `CHECK_UPDATE` | ✅ | ✅ | Startup update check (`true` / `false`) | | `CONFIG_PATH` | ✅ | — | DiT model (`acestep-v15-turbo`, etc.) | | `LM_MODEL_PATH` | ✅ | ✅ | LM model (`acestep-5Hz-lm-0.6B` / `1.7B` / `4B`) | | `DOWNLOAD_SOURCE` | ✅ | ✅ | Download source (`huggingface` / `modelscope`) | | `SHARE` | ✅ | — | Create public Gradio link | | `INIT_LLM` | ✅ | — | Force LLM on/off (`true` / `false` / `auto`) | | `OFFLOAD_TO_CPU` | ✅ | — | CPU offload for low-VRAM GPUs | ### Update & Maintenance Tools | Script (Windows) | Script (Linux/macOS) | Purpose | |-------------------|----------------------|---------| | `check_update.bat` | `check_update.sh` | Check and update from GitHub | | `merge_config.bat` | `merge_config.sh` | Merge backed-up configurations after update | | `install_uv.bat` | `install_uv.sh` | Install uv package manager | | `quick_test.bat` | `quick_test.sh` | Test environment setup | **Update workflow:** ```bash # Windows # Linux / macOS check_update.bat ./check_update.sh merge_config.bat ./merge_config.sh ``` --- ## 🪟 Windows Portable Package For Windows users, we provide a portable package with pre-installed dependencies: 1. Download and extract: [ACE-Step-1.5.7z](https://files.acemusic.ai/acemusic/win/ACE-Step-1.5.7z) 2. The package includes `python_embedded` with all dependencies pre-installed 3. **Requirements:** CUDA 12.8 ### Quick Start Scripts | Script | Description | |--------|-------------| | `start_gradio_ui.bat` | Launch Gradio Web UI | | `start_api_server.bat` | Launch REST API Server | Both scripts support auto environment detection, auto `uv` install, configurable download source, optional Git update check, and customizable models/parameters. ### Configuration **`start_gradio_ui.bat`:** ```batch REM UI language (en, zh, he, ja) set LANGUAGE=zh REM Download source (auto, huggingface, modelscope) set DOWNLOAD_SOURCE=--download-source modelscope REM Git update check (true/false) 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 ``` **`start_api_server.bat`:** ```batch REM LLM initialization via environment variable REM set ACESTEP_INIT_LLM=true # Force enable LLM REM set ACESTEP_INIT_LLM=false # Force disable LLM (DiT-only mode) ``` ### Update & Maintenance | Script | Purpose | |--------|---------| | `check_update.bat` | Check and update from GitHub | | `merge_config.bat` | Merge backed-up configurations after update | | `install_uv.bat` | Install uv package manager | | `quick_test.bat` | Test environment setup | | `test_git_update.bat` | Test Git update functionality | **Update workflow:** ```bash check_update.bat # 1. Check for updates (requires PortableGit/) merge_config.bat # 2. Merge settings back if conflicts occur ``` ### Portable Git Support Place a `PortableGit/` folder in your package to enable auto-updates: ```batch set CHECK_UPDATE=true # in start_gradio_ui.bat or start_api_server.bat ``` Features: 10s timeout protection, smart conflict detection & backup, automatic rollback on failure, directory structure preserved in backups. ### Environment Detection Priority 1. `python_embedded\python.exe` (if exists) 2. `uv run acestep` (if uv is installed) 3. Auto-install uv via winget or PowerShell --- ## 🍎 macOS Portable Package For macOS users (Apple Silicon), we provide a portable package with pre-installed dependencies: 1. Download and extract: [ACE-Step-1.5.zip](https://files.acemusic.ai/acemusic/mac/ACE-Step-1.5.zip) 2. The package includes all dependencies pre-installed with MLX backend support 3. **Requirements:** Apple Silicon (M1/M2/M3/M4) with macOS ### Quick Start Scripts | Script | Description | |--------|-------------| | `start_gradio_ui_macos.sh` | Launch Gradio Web UI (MLX) | | `start_api_server_macos.sh` | Launch REST API Server (MLX) | ```bash # Make executable (first time only) chmod +x start_gradio_ui_macos.sh start_api_server_macos.sh # Launch Gradio Web UI with MLX backend ./start_gradio_ui_macos.sh # Launch REST API Server with MLX backend ./start_api_server_macos.sh ``` The macOS scripts automatically set `ACESTEP_LM_BACKEND=mlx` and `--backend mlx` for native Apple Silicon acceleration. ### Configuration Configurable options are defined as variables at the top of each script. Open the script with a text editor to customize: ```bash # UI language (en, zh, he, ja) LANGUAGE="en" # Download source (auto, huggingface, modelscope) DOWNLOAD_SOURCE="--download-source auto" # Git update check (true/false) CHECK_UPDATE="true" # Model configuration CONFIG_PATH="--config_path acestep-v15-turbo" LM_MODEL_PATH="--lm_model_path acestep-5Hz-lm-1.7B" ``` --- ## AMD / ROCm GPUs > ⚠️ `uv run acestep` installs CUDA PyTorch wheels and may overwrite an existing ROCm setup. ### Windows - ROCm 7.2 (Python 3.12 Required) **Important:** AMD ROCm 7.2 on Windows requires **Python 3.12** (AMD officially provides Python 3.12 wheels only). ```bash # 1. Ensure you have Python 3.12 installed python --version # Should show Python 3.12.x # 2. Create and activate a virtual environment python -m venv venv_rocm venv_rocm\Scripts\activate # 3. Follow the installation steps in requirements-rocm.txt # This installs ROCm SDK and PyTorch wheels from AMD's repository # 4. Install dependencies pip install -r requirements-rocm.txt # 5. Launch with the ROCm-specific launcher start_gradio_ui_rocm.bat # OR start_api_server_rocm.bat ``` See [`requirements-rocm.txt`](../../requirements-rocm.txt) for detailed ROCm 7.2 installation steps. ### Linux - ROCm 6.0+ (Python 3.11 or 3.12) ```bash # 1. Create and activate a virtual environment python -m venv .venv source .venv/bin/activate # 2. Install ROCm-compatible PyTorch pip install torch --index-url https://download.pytorch.org/whl/rocm6.0 # 3. Install ACE-Step pip install -e . # 4. Start the service python -m acestep.acestep_v15_pipeline --port 7680 ``` > **Note:** `torchcodec` is not available for AMD ROCm GPUs due to CUDA-specific dependencies. ACE-Step automatically uses `soundfile` as a fallback for audio I/O, which provides full functionality on ROCm platforms. ### GPU Detection Troubleshooting If you see "No GPU detected, running on CPU" with an AMD GPU: 1. Run the diagnostic tool: `python scripts/check_gpu.py` 2. For RDNA3 GPUs, set `HSA_OVERRIDE_GFX_VERSION`: | GPU | Value | |-----|-------| | RX 7900 XT/XTX, RX 9070 XT | `export HSA_OVERRIDE_GFX_VERSION=11.0.0` | | RX 7800 XT, RX 7700 XT | `export HSA_OVERRIDE_GFX_VERSION=11.0.1` | | RX 7600 | `export HSA_OVERRIDE_GFX_VERSION=11.0.2` | 3. On Windows, use `start_gradio_ui_rocm.bat` / `start_api_server_rocm.bat` which set required environment variables automatically. 4. Verify ROCm installation: `rocm-smi` should list your GPU. ### Linux (cachy-os / RDNA4) See [ACE-Step1.5-Rocm-Manual-Linux.md](ACE-Step1.5-Rocm-Manual-Linux.md) for a detailed ROCm manual tested with RDNA4 on cachy-os. --- ## Intel GPUs | Item | Detail | |------|--------| | Tested Device | Windows laptop with Ultra 9 285H integrated graphics | | Offload | Disabled by default | | Compile & Quantization | Enabled by default | | LLM Inference | Supported (tested with `acestep-5Hz-lm-0.6B`) | | nanovllm acceleration | NOT supported on Intel GPUs | | Test Environment | PyTorch 2.8.0 from [Intel Extension for PyTorch](https://pytorch-extension.intel.com/?request=platform) | > **Note:** LLM inference speed may decrease when generating audio longer than 2 minutes. Intel discrete GPUs are expected to work but not yet tested. > > **Audio I/O:** `torchcodec` is not available for Intel XPU GPUs. ACE-Step automatically uses `soundfile` as a fallback for audio I/O, which provides full functionality on Intel platforms. --- ## CPU-Only Mode ACE-Step can run on CPU for **inference only**, but performance will be significantly slower. - Training (including LoRA) on CPU is **not recommended**. - For low-VRAM systems, DiT-only mode (LLM disabled) is supported. If you do not have a GPU, consider: - Using cloud GPU providers - Running inference-only workflows - Using DiT-only mode with `ACESTEP_INIT_LLM=false` --- ## Linux Notes ### Python 3.11 Pre-Release Issue Some Linux distributions (including Ubuntu) ship Python 3.11.0rc1, which is a **pre-release** build. This can cause segmentation faults with the vLLM backend. **Recommendation:** Use a stable Python release (≥ 3.11.12). On Ubuntu, install via the deadsnakes PPA. If upgrading Python is not possible, use the PyTorch backend: ```bash uv run acestep --backend pt ``` --- ## Environment Variables (.env) The `.env` file provides a centralized way to configure ACE-Step. Settings in `.env` are: - Used by Python scripts (CLI, API server, Gradio UI) - **Now also used by launcher scripts** (`start_gradio_ui.bat`, `start_gradio_ui.sh`, etc.) - **Preserved across repository updates** (unlike hardcoded values in launcher scripts) ```bash cp .env.example .env # Copy and edit ``` ### Benefits of Using .env ✅ **Survives Updates**: Your custom model paths and settings won't be overwritten when you update ACE-Step ✅ **Cross-Platform**: Same configuration works on Windows, Linux, and macOS ✅ **Version Control Safe**: `.env` is in `.gitignore`, so your personal settings stay private ### Key Variables | Variable | Values | Description | |----------|--------|-------------| | `ACESTEP_INIT_LLM` | `auto` / `true` / `false` | LLM initialization mode | | `ACESTEP_CONFIG_PATH` | model name | DiT model path | | `ACESTEP_LM_MODEL_PATH` | model name | LM model path | | `ACESTEP_DOWNLOAD_SOURCE` | `auto` / `huggingface` / `modelscope` | Download source | | `ACESTEP_API_KEY` | string | API authentication key | | `PORT` | number | Server port (default: 7860) | | `SERVER_NAME` | IP address | Server host (default: 127.0.0.1) | | `LANGUAGE` | `en` / `zh` / `he` / `ja` | UI language (default: en) | ### LLM Initialization (`ACESTEP_INIT_LLM`) Processing flow: `GPU Detection → ACESTEP_INIT_LLM Override → Model Loading` | Value | Behavior | |-------|----------| | `auto` (or empty) | Use GPU auto-detection result (recommended) | | `true` / `1` / `yes` | Force enable LLM after GPU detection (may cause OOM) | | `false` / `0` / `no` | Force disable for pure DiT mode | **Example `.env` for different scenarios:** ```bash # Auto mode (recommended) ACESTEP_INIT_LLM=auto # Force enable on low VRAM GPU ACESTEP_INIT_LLM=true ACESTEP_LM_MODEL_PATH=acestep-5Hz-lm-0.6B # Force disable LLM for faster generation ACESTEP_INIT_LLM=false ``` --- ## Command Line Options ### 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`, `he`, `ja` | | `--batch_size` | None | Default batch size for generation (1 to GPU-dependent max). When not specified, defaults to `min(2, GPU_max)` | | `--init_service` | false | Auto-initialize models on startup | | `--init_llm` | auto | LLM init: `true` / `false` / omit for auto | | `--config_path` | auto | DiT model (e.g., `acestep-v15-turbo`) | | `--lm_model_path` | auto | LM model (e.g., `acestep-5Hz-lm-1.7B`) | | `--offload_to_cpu` | auto | CPU offload (auto-enabled if VRAM < 20GB) | | `--download-source` | auto | Model source: `auto` / `huggingface` / `modelscope` | | `--enable-api` | false | Enable REST API alongside Gradio UI | | `--api-key` | none | API key for authentication | | `--auth-username` | none | Gradio authentication username | | `--auth-password` | none | Gradio authentication password | **Examples:** ```bash # Public access with Chinese UI uv run acestep --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 # Set default batch size to 4 uv run acestep --batch_size 4 # Enable API endpoints with authentication uv run acestep --enable-api --api-key sk-your-secret-key --port 8001 # Use ModelScope as download source uv run acestep --download-source modelscope ``` --- ## 📥 Model Download Models are automatically downloaded from [HuggingFace](https://huggingface.co/ACE-Step/Ace-Step1.5) or [ModelScope](https://modelscope.cn/organization/ACE-Step) on first run. ### CLI Download ```bash uv run acestep-download # Download main model uv run acestep-download --all # Download all models uv run acestep-download --download-source modelscope # From ModelScope uv run acestep-download --model acestep-v15-sft # Specific model uv run acestep-download --list # List all available ``` Or with Python directly: ```bash python -m acestep.model_downloader # Download main model python -m acestep.model_downloader --all # Download all models ``` ### Manual Download (huggingface-cli) ```bash # Main model (vae, Qwen3-Embedding-0.6B, acestep-v15-turbo, acestep-5Hz-lm-1.7B) huggingface-cli download ACE-Step/Ace-Step1.5 --local-dir ./checkpoints # 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 # XL (4B) DiT models - requires ≥12GB VRAM (with offload) huggingface-cli download ACE-Step/acestep-v15-xl-base --local-dir ./checkpoints/acestep-v15-xl-base huggingface-cli download ACE-Step/acestep-v15-xl-sft --local-dir ./checkpoints/acestep-v15-xl-sft huggingface-cli download ACE-Step/acestep-v15-xl-turbo --local-dir ./checkpoints/acestep-v15-xl-turbo ``` ### Shared Model Directory If you have multiple ACE-Step installations (e.g., trainers, different versions), you can share a single model directory to avoid duplicate downloads and save disk space: ```bash # Add to your shell profile (~/.bashrc, ~/.zshrc, etc.) export ACESTEP_CHECKPOINTS_DIR=~/ace-step-models ``` All installations will then use the same model files. You can also set this in your `.env` file. ### Available Models | Model | Description | HuggingFace | |-------|-------------|-------------| | **Ace-Step1.5** (Main) | Core: vae, Qwen3-Embedding-0.6B, acestep-v15-turbo, acestep-5Hz-lm-1.7B | [Link](https://huggingface.co/ACE-Step/Ace-Step1.5) | | acestep-5Hz-lm-0.6B | Lightweight LM (0.6B params) | [Link](https://huggingface.co/ACE-Step/acestep-5Hz-lm-0.6B) | | acestep-5Hz-lm-4B | Large LM (4B params) | [Link](https://huggingface.co/ACE-Step/acestep-5Hz-lm-4B) | | acestep-v15-base | Base DiT model | [Link](https://huggingface.co/ACE-Step/acestep-v15-base) | | acestep-v15-sft | SFT DiT model | [Link](https://huggingface.co/ACE-Step/acestep-v15-sft) | | acestep-v15-turbo-shift1 | Turbo DiT with shift1 | [Link](https://huggingface.co/ACE-Step/acestep-v15-turbo-shift1) | | acestep-v15-turbo-shift3 | Turbo DiT with shift3 | [Link](https://huggingface.co/ACE-Step/acestep-v15-turbo-shift3) | | acestep-v15-turbo-continuous | Turbo DiT with continuous shift (1-5) | [Link](https://huggingface.co/ACE-Step/acestep-v15-turbo-continuous) | | **acestep-v15-xl-base** | XL (4B) Base DiT — higher quality, ≥12GB VRAM | [Link](https://huggingface.co/ACE-Step/acestep-v15-xl-base) | | **acestep-v15-xl-sft** | XL (4B) SFT DiT — higher quality, ≥12GB VRAM | [Link](https://huggingface.co/ACE-Step/acestep-v15-xl-sft) | | **acestep-v15-xl-turbo** | XL (4B) Turbo DiT — higher quality, ≥12GB VRAM | [Link](https://huggingface.co/ACE-Step/acestep-v15-xl-turbo) | --- ## 💡 Which Model Should I Choose? ACE-Step automatically adapts to your GPU's VRAM. The UI pre-configures all settings (LM model, backend, offloading, quantization) based on your detected GPU tier: | Your GPU VRAM | Recommended DiT | Recommended LM Model | Backend | Notes | |---------------|----------------|---------------------|---------|-------| | **≤6GB** | 2B turbo | None (DiT only) | — | LM disabled; INT8 quantization + full CPU offload | | **6-8GB** | 2B turbo | `acestep-5Hz-lm-0.6B` | `pt` | Lightweight LM with PyTorch backend | | **8-16GB** | 2B turbo/sft | `0.6B` / `1.7B` | `vllm` | 0.6B for 8-12GB, 1.7B for 12-16GB | | **16-20GB** | 2B sft or XL turbo | `acestep-5Hz-lm-1.7B` | `vllm` | XL requires CPU offload below 20GB | | **20-24GB** | XL turbo/sft | `acestep-5Hz-lm-1.7B` | `vllm` | XL fits without offload; 4B LM available | | **≥24GB** | XL sft (or xl-base for extract/lego/complete) | `acestep-5Hz-lm-4B` | `vllm` | Best quality, all models fit without offload | > 📖 For detailed GPU compatibility information (tier table, duration limits, batch sizes, adaptive UI defaults, memory optimization), see [GPU Compatibility Guide](GPU_COMPATIBILITY.md). --- ## Development ```bash # Add dependencies uv add package-name uv add --dev package-name # Update all dependencies uv sync --upgrade ```