ComfyUI custom nodes for ACE-Step 1.5 - Commercial-grade music generation.
git clone https://github.com/ACE-Step/ACE-Step-1.5.git
cd ACE-Step-1.5
pip install -e .
Standard Installation:
cd ComfyUI/custom_nodes
git clone https://github.com/kana112233/ComfyUI-kaola-ace-step.git
cd ComfyUI-kaola-ace-step
pip install -r requirements.txt
For ComfyUI Portable:
# Navigate to your ComfyUI portable folder
cd ComfyUI_windows_portable/ComfyUI/custom_nodes
git clone https://github.com/kana112233/ComfyUI-kaola-ace-step.git
# Use the embedded Python to install requirements
cd ComfyUI-kaola-ace-step
../../python_embeded/python.exe -m pip install -r requirements.txt
# You must also install ACE-Step in the embedded Python:
cd ../../../
git clone https://github.com/ACE-Step/ACE-Step-1.5.git
python_embeded/python.exe -m pip install -e ACE-Step-1.5
# Using huggingface-cli
huggingface-cli download ACE-Step/Ace-Step1.5 --local-dir ComfyUI/models/Ace-Step1.5
# Or using hfd (faster)
pip install hfd
hfd ACE-Step/Ace-Step1.5 --local-dir ComfyUI/models/Ace-Step1.5
| Parameter | Value | Description |
|---|---|---|
checkpoint_dir | Leave empty | Uses ComfyUI/models/Ace-Step1.5/ by default |
config_path | acestep-v15-turbo | Recommended for speed |
lm_model_path | acestep-5Hz-lm-1.7B | Recommended language model |
device | auto | Auto-detects device |
The checkpoint_dir dropdown scans all folders directly under ComfyUI/models/. You can choose any folder from the root models directory as your ACE-Step base folder.
Example layout:
ComfyUI/models/
βββ Ace-Step1.5/ # Select "Ace-Step1.5" in the node
β βββ acestep-v15-turbo/
β βββ vae/
β βββ ...
βββ My-Custom-Folder/ # Select "My-Custom-Folder" in the node
βββ acestep-v15-turbo/
βββ vae/
βββ ...
See examples/ directory for ready-to-use workflows.
| Node | Description |
|---|---|
| ACE_STEP_TextToMusic | Generate music from text |
| ACE_STEP_Cover | Style transfer |
| ACE_STEP_Repaint | Local audio editing |
| ACE_STEP_SimpleMode | Natural language generation |
| ACE_STEP_FormatSample | Format and enhance input |
| ACE_STEP_Understand | Analyze audio codes |
| ACE_STEP_Transcriber | Transcribe lyrics from audio (50+ languages) |
| ACE_STEP_Captioner | Generate detailed music descriptions |
| ACE_STEP_Extract | Extract instrument/vocal tracks (Base model) |
| ACE_STEP_Lego | Add/modify instrument tracks (Base model) |
| ACE_STEP_Complete | Complete missing tracks (Base model) |
| ACE_STEP_ClearVRAM | Free GPU memory |
π Detailed usage guide: See USAGE.md for comprehensive documentation.
Audio transcription node powered by ACE-Step Transcriber (Qwen2.5-Omni-7B).
Download the model to your models folder:
# Using huggingface-cli
huggingface-cli download ACE-Step/acestep-transcriber --local-dir ComfyUI/models/acestep-transcriber
# Or place inside Ace-Step1.5 folder
huggingface-cli download ACE-Step/acestep-transcriber --local-dir ComfyUI/models/Ace-Step1.5/acestep-transcriber
| Parameter | Default | Description |
|---|---|---|
language | auto | Target language (auto/zh/en/ja/ko/etc.) |
chunk_length_s | 30 | Audio chunk length in seconds |
max_new_tokens | 4096 | Max output length |
temperature | 0.2 | Sampling temperature |
top_p | 0.95 | Nucleus sampling threshold |
repetition_penalty | 1.1 | Penalty for repeating tokens |
num_beams | 1 | Beam search (higher = slower but better) |
seed | 0 | Random seed (0 = random) |
custom_prompt | "" | Override default prompt |
Audio captioning node powered by ACE-Step Captioner (Qwen2.5-Omni-7B).
Accuracy surpasses Gemini Pro 2.5 in music description tasks.
Download the model to your models folder:
# Using huggingface-cli
huggingface-cli download ACE-Step/acestep-captioner --local-dir ComfyUI/models/Ace-Step1.5/acestep-captioner
# Or using hfd (faster)
pip install hfd
hfd ACE-Step/acestep-captioner --local-dir ComfyUI/models/Ace-Step1.5/acestep-captioner
| Parameter | Default | Description |
|---|---|---|
model_id | Ace-Step1.5/acestep-captioner | Model path (local or HuggingFace ID) |
device | auto | Device (auto/cuda/cpu/mps) |
dtype | auto | Precision (auto/float16/float32) |
custom_prompt | Task Describe this audio in detail | Prompt for captioning |
max_new_tokens | 1024 | Max output length |
temperature | 0.3 | Sampling temperature |
top_p | 0.9 | Nucleus sampling threshold |
top_k | 50 | Top-K sampling |
repetition_penalty | 1.1 | Penalty for repeating tokens |
seed | 0 | Random seed (0 = random) |
chunk_length_s | 30 | Audio chunk length for long audio |
| Output | Description |
|---|---|
caption | Concise one-sentence summary |
style_tags | Comma-separated style/instrument tags |
full_description | Complete detailed description |
Use the ACE-Step LoRA Loader node to apply LoRA adaptations.
adapter_config.json) in ComfyUI/models/loras/ or ComfyUI/models/Ace-Step1.5/loras/.lora_info output to any ACE-Step generation node (TextToMusic, etc.).strength as needed (default 1.0).Ensure models are in ComfyUI/models/Ace-Step1.5/ with the correct subdirectory structure (see above).
graph TD
Start[π Start: Select Audio Transcription Solution] --> Domain{Core Use Case?}
%% Branch 1: Music & Lyrics
Domain -- Music / Lyrics / Structure --> Music[Music Domain]
Music --> Hardware1{VRAM > 30GB?}
Hardware1 -- Yes --> ACE[<b>ACE-Step Transcriber</b><br>Base: Qwen2.5-Omni-7B]
ACE --> ACEDep[<u>Features</u>:<br>β
50+ Languages Support<br>β
Lyrics + Structure Tags<br>β
Timestamps via Prompt]
Hardware1 -- No --> Heart[<b>HeartTranscriptor-oss</b><br>0.8B Params]
%% Branch 2: Speech & Meetings
Domain -- Speech / Meetings / Translation --> Speech[Speech Domain]
Speech --> Duration{Duration & Coherence?}
%% VibeVoice Path
Duration -- Long Meeting --> Vibe[<b>VibeVoice-ASR</b><br>64K Context]
%% Whisper Path
Duration -- General / Short Audio --> Whisp[<b>Whisper-large-v3</b><br>Mature Ecosystem]
Whisp --> Speed{Speed Priority?}
Speed -- Fast --> WhispFast[torch.compile]
Speed -- Long Audio --> WhispLong[Pipeline Chunking]
%% Styles
classDef model fill:#e1f5fe,stroke:#01579b,stroke-width:2px;
classDef dep fill:#fff3e0,stroke:#ff6f00,stroke-width:1px,stroke-dasharray: 5 5;
class ACE,Heart,Vibe,Whisp,WhispFast,WhispLong model;
class ACEDep dep;
| Feature | ACE-Step Transcriber | VibeVoice-ASR | Whisper-large-v3 | HeartTranscriptor-oss |
|---|---|---|---|---|
| ποΈ Core Arch | Qwen2.5-Omni (Multimodal LLM) | VibeVoice (Unified ASR) | Transformer (Encoder-Decoder) | Whisper Variant |
| π¦ Library Deps | Transformers (Preview), qwen-omni-utils, decord | vLLM (Recommended), Transformers | Transformers, flash-attn (Optional), accelerate | heartlib (GitHub), safetensors |
| π§ VRAM/Hardware | Very High (~30GB+), Flash Attn 2 Recommended | High (64K Context, Single-Pass) | Medium (~24GB, Consumer GPU OK) | Low (0.8B, Edge devices) |
| βοΈ Input Logic | Prompt Driven, requires process_mm_info | Long Context (60min Single-Pass), Hotwords | Chunking (30s limit), chunk_length_s=30 | Standard (heartlib loader) |
| π« Constraints | Version Lock: Qwen-Preview branch required | Memory Wall: Cannot chunk, must load 1hr at once | torch.compile incompatible with Chunking & Flash Attn 2 | Eco-Isolation: Independent codebase |
MIT License - see LICENSE for details.
ComfyUI custom nodes for ACE-Step 1.5 - Commercial-grade music generation.
git clone https://github.com/ACE-Step/ACE-Step-1.5.git
cd ACE-Step-1.5
pip install -e .
Standard Installation:
cd ComfyUI/custom_nodes
git clone https://github.com/kana112233/ComfyUI-kaola-ace-step.git
cd ComfyUI-kaola-ace-step
pip install -r requirements.txt
For ComfyUI Portable:
# Navigate to your ComfyUI portable folder
cd ComfyUI_windows_portable/ComfyUI/custom_nodes
git clone https://github.com/kana112233/ComfyUI-kaola-ace-step.git
# Use the embedded Python to install requirements
cd ComfyUI-kaola-ace-step
../../python_embeded/python.exe -m pip install -r requirements.txt
# You must also install ACE-Step in the embedded Python:
cd ../../../
git clone https://github.com/ACE-Step/ACE-Step-1.5.git
python_embeded/python.exe -m pip install -e ACE-Step-1.5
# Using huggingface-cli
huggingface-cli download ACE-Step/Ace-Step1.5 --local-dir ComfyUI/models/Ace-Step1.5
# Or using hfd (faster)
pip install hfd
hfd ACE-Step/Ace-Step1.5 --local-dir ComfyUI/models/Ace-Step1.5
| Parameter | Value | Description |
|---|---|---|
checkpoint_dir | Leave empty | Uses ComfyUI/models/Ace-Step1.5/ by default |
config_path | acestep-v15-turbo | Recommended for speed |
lm_model_path | acestep-5Hz-lm-1.7B | Recommended language model |
device | auto | Auto-detects device |
The checkpoint_dir dropdown scans all folders directly under ComfyUI/models/. You can choose any folder from the root models directory as your ACE-Step base folder.
Example layout:
ComfyUI/models/
βββ Ace-Step1.5/ # Select "Ace-Step1.5" in the node
β βββ acestep-v15-turbo/
β βββ vae/
β βββ ...
βββ My-Custom-Folder/ # Select "My-Custom-Folder" in the node
βββ acestep-v15-turbo/
βββ vae/
βββ ...
See examples/ directory for ready-to-use workflows.
| Node | Description |
|---|---|
| ACE_STEP_TextToMusic | Generate music from text |
| ACE_STEP_Cover | Style transfer |
| ACE_STEP_Repaint | Local audio editing |
| ACE_STEP_SimpleMode | Natural language generation |
| ACE_STEP_FormatSample | Format and enhance input |
| ACE_STEP_Understand | Analyze audio codes |
| ACE_STEP_Transcriber | Transcribe lyrics from audio (50+ languages) |
| ACE_STEP_Captioner | Generate detailed music descriptions |
| ACE_STEP_Extract | Extract instrument/vocal tracks (Base model) |
| ACE_STEP_Lego | Add/modify instrument tracks (Base model) |
| ACE_STEP_Complete | Complete missing tracks (Base model) |
| ACE_STEP_ClearVRAM | Free GPU memory |
π Detailed usage guide: See USAGE.md for comprehensive documentation.
Audio transcription node powered by ACE-Step Transcriber (Qwen2.5-Omni-7B).
Download the model to your models folder:
# Using huggingface-cli
huggingface-cli download ACE-Step/acestep-transcriber --local-dir ComfyUI/models/acestep-transcriber
# Or place inside Ace-Step1.5 folder
huggingface-cli download ACE-Step/acestep-transcriber --local-dir ComfyUI/models/Ace-Step1.5/acestep-transcriber
| Parameter | Default | Description |
|---|---|---|
language | auto | Target language (auto/zh/en/ja/ko/etc.) |
chunk_length_s | 30 | Audio chunk length in seconds |
max_new_tokens | 4096 | Max output length |
temperature | 0.2 | Sampling temperature |
top_p | 0.95 | Nucleus sampling threshold |
repetition_penalty | 1.1 | Penalty for repeating tokens |
num_beams | 1 | Beam search (higher = slower but better) |
seed | 0 | Random seed (0 = random) |
custom_prompt | "" | Override default prompt |
Audio captioning node powered by ACE-Step Captioner (Qwen2.5-Omni-7B).
Accuracy surpasses Gemini Pro 2.5 in music description tasks.
Download the model to your models folder:
# Using huggingface-cli
huggingface-cli download ACE-Step/acestep-captioner --local-dir ComfyUI/models/Ace-Step1.5/acestep-captioner
# Or using hfd (faster)
pip install hfd
hfd ACE-Step/acestep-captioner --local-dir ComfyUI/models/Ace-Step1.5/acestep-captioner
| Parameter | Default | Description |
|---|---|---|
model_id | Ace-Step1.5/acestep-captioner | Model path (local or HuggingFace ID) |
device | auto | Device (auto/cuda/cpu/mps) |
dtype | auto | Precision (auto/float16/float32) |
custom_prompt | Task Describe this audio in detail | Prompt for captioning |
max_new_tokens | 1024 | Max output length |
temperature | 0.3 | Sampling temperature |
top_p | 0.9 | Nucleus sampling threshold |
top_k | 50 | Top-K sampling |
repetition_penalty | 1.1 | Penalty for repeating tokens |
seed | 0 | Random seed (0 = random) |
chunk_length_s | 30 | Audio chunk length for long audio |
| Output | Description |
|---|---|
caption | Concise one-sentence summary |
style_tags | Comma-separated style/instrument tags |
full_description | Complete detailed description |
Use the ACE-Step LoRA Loader node to apply LoRA adaptations.
adapter_config.json) in ComfyUI/models/loras/ or ComfyUI/models/Ace-Step1.5/loras/.lora_info output to any ACE-Step generation node (TextToMusic, etc.).strength as needed (default 1.0).Ensure models are in ComfyUI/models/Ace-Step1.5/ with the correct subdirectory structure (see above).
graph TD
Start[π Start: Select Audio Transcription Solution] --> Domain{Core Use Case?}
%% Branch 1: Music & Lyrics
Domain -- Music / Lyrics / Structure --> Music[Music Domain]
Music --> Hardware1{VRAM > 30GB?}
Hardware1 -- Yes --> ACE[<b>ACE-Step Transcriber</b><br>Base: Qwen2.5-Omni-7B]
ACE --> ACEDep[<u>Features</u>:<br>β
50+ Languages Support<br>β
Lyrics + Structure Tags<br>β
Timestamps via Prompt]
Hardware1 -- No --> Heart[<b>HeartTranscriptor-oss</b><br>0.8B Params]
%% Branch 2: Speech & Meetings
Domain -- Speech / Meetings / Translation --> Speech[Speech Domain]
Speech --> Duration{Duration & Coherence?}
%% VibeVoice Path
Duration -- Long Meeting --> Vibe[<b>VibeVoice-ASR</b><br>64K Context]
%% Whisper Path
Duration -- General / Short Audio --> Whisp[<b>Whisper-large-v3</b><br>Mature Ecosystem]
Whisp --> Speed{Speed Priority?}
Speed -- Fast --> WhispFast[torch.compile]
Speed -- Long Audio --> WhispLong[Pipeline Chunking]
%% Styles
classDef model fill:#e1f5fe,stroke:#01579b,stroke-width:2px;
classDef dep fill:#fff3e0,stroke:#ff6f00,stroke-width:1px,stroke-dasharray: 5 5;
class ACE,Heart,Vibe,Whisp,WhispFast,WhispLong model;
class ACEDep dep;
| Feature | ACE-Step Transcriber | VibeVoice-ASR | Whisper-large-v3 | HeartTranscriptor-oss |
|---|---|---|---|---|
| ποΈ Core Arch | Qwen2.5-Omni (Multimodal LLM) | VibeVoice (Unified ASR) | Transformer (Encoder-Decoder) | Whisper Variant |
| π¦ Library Deps | Transformers (Preview), qwen-omni-utils, decord | vLLM (Recommended), Transformers | Transformers, flash-attn (Optional), accelerate | heartlib (GitHub), safetensors |
| π§ VRAM/Hardware | Very High (~30GB+), Flash Attn 2 Recommended | High (64K Context, Single-Pass) | Medium (~24GB, Consumer GPU OK) | Low (0.8B, Edge devices) |
| βοΈ Input Logic | Prompt Driven, requires process_mm_info | Long Context (60min Single-Pass), Hotwords | Chunking (30s limit), chunk_length_s=30 | Standard (heartlib loader) |
| π« Constraints | Version Lock: Qwen-Preview branch required | Memory Wall: Cannot chunk, must load 1hr at once | torch.compile incompatible with Chunking & Flash Attn 2 | Eco-Isolation: Independent codebase |
MIT License - see LICENSE for details.