ACE-Step Create Sample
Plan your song before you spend GPU time on it — ACE-Step Create Sample
- caption
- lyrics
- duration
- bpm
- keyscale
- vocal_language
Create Sample is the node that turns a vague idea into a concrete generation plan - and it does it almost for free. You type "a soft Bengali love song for a quiet evening" and instead of a song it gives you six useful things: a polished caption, the lyrics, a duration, a bpm, a keyscale, and a vocal_language. That's the spec. Then you feed that spec into ACE-Step Text to Music and let the diffusion model do the expensive part.
Why bother with the extra hop? Because of how the pack is wired: the language model (ACE-Step's acestep-5Hz-lm-* series) is what turns your words into lyrics and metadata, and it's far cheaper to run than the DiT. Running it first means you can read, edit, and re-roll the plan before committing GPU minutes to audio. You get reproducibility, too - the plan becomes explicit inputs to the generation node, so the "thinking" pass doesn't have to guess.
How it works
Under the hood it calls ACE-Step's create_sample with your query and returns the structured result. It still needs the ACE-Step environment and a language model loaded - that's what checkpoint_dir and lm_model_path are for - but no diffusion happens here. The config_path is pinned to a dummy value in the code, which is a giveaway that the DiT never runs in this node. Outputs are six STRING/FLOAT/INT wires you can drag straight into Text to Music's caption, lyrics, duration, bpm, keyscale, and vocal_language inputs.
The inputs that matter
query- your natural-language request. Include mood, genre, language, tempo.instrumental- force instrumental; the node then skips lyrics.vocal_language- constrain (en,zh,ja,ko,bn, …) or leaveauto.temperature- the tooltip says it plainly: 0.0 is most stable and recommended. Thetop_k/top_pdefaults (50 / 0.95) are fine.
Install
Identical to the rest of the Kaola pack - you won't install anything new for this node:
git clone https://github.com/ACE-Step/ACE-Step-1.5.git
cd ACE-Step-1.5 && pip install -e .
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
huggingface-cli download ACE-Step/Ace-Step1.5 --local-dir ComfyUI/models/Ace-Step1.5
ComfyUI Manager can install the node pack itself; the ACE-Step dependency and models are manual either way. Restart after install.
Where people get burned
Not much to trip on here - this is the simplest node in the pack. The main confusion is expecting an audio output; there is none, and that's the point. If you just want one node that does query → song in a single step, use ACE-Step Simple Mode instead, which chains this planning pass and the generation together. If you want to inspect and edit the plan, Create Sample is your node.
One practical tip: since temperature 0 is recommended, you'll get the same plan for the same query until you change it. If you want variety in the plan itself, nudge the temperature up - it's the only creativity lever here.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| query | STRING | Natural language query describing the music you want to generate. | |
| checkpoint_dir | COMBO | Ace-Step1.5 | Directory containing ACE-Step model weights (DiT model). |
| lm_model_path | COMBO | acestep-5Hz-lm-1.7B | Path to the language model used for generating lyrics and metadata. |
| device | COMBO | auto | Computing platform to run the model on. |
| instrumentalopt | BOOLEAN | false | Whether to generate instrumental music only (no vocals). |
| vocal_languageopt | COMBO | auto | Vocal language (e.g., zh, en, ja). |
| top_kopt | INT | 500–1000 | Top-K filtering parameter for sampling. |
| top_popt | FLOAT | 0.950–1 | Top-P (nucleus sampling) filtering parameter. |
| temperatureopt | FLOAT | 0.000–2 | Sampling temperature for the language model. 0.0 is most stable (recommended). |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| caption | STRING | — |
| lyrics | STRING | — |
| duration | FLOAT | — |
| bpm | INT | — |
| keyscale | STRING | — |
| vocal_language | STRING | — |