ACE-Step Complete (Base Only)
Your song is missing a bassline — ACE-Step Complete fills in the missing tracks
- src_audio
- audio
- audio_path
- metadata
Complete answers a specific question: "this track is missing instruments, can you add them?" Where Extract pulls stems out and Lego adds one named instrument, Complete is the multi-track version - you hand it partial audio, flip on the toggles for everything you want filled in (drums, bass, strings, backing vocals, whatever), and it returns the track with those parts built in, arranged to fit what's already there.
It's the most obviously useful node of the base-model trio for a common real scenario: you generated a vocal-and-guitar demo with some other tool, or you stripped a mix down, and you want a full arrangement without recording anything. Set add_drums, add_bass, add_strings to true (the defaults are sensible) and let the model do the arranging. The "(Base Only)" warning applies here too - this runs on acestep-v15-base at 50+ steps, so each completion is a slow, deliberate render.
How it works
Under the hood it's the same generation scaffold as Extract and Lego, with a task type that tells the model "complete this audio" rather than "extract this track." The twelve add_* toggles build the instruction - which tracks to generate - and everything else (vocal_language, lyrics, caption) shapes how the vocal and stylistic parts come out. lyrics matters if you enable add_vocals; the model will happily invent vocals if you leave it empty, but giving it words keeps it on script.
The inputs that matter
src_audio- the partial track to complete.- The
add_*toggles - the track list: vocals, backing vocals, drums, bass, guitar, keyboard, percussion, strings, synth, fx, brass, woodwinds. Defaults turn on drums, bass, and strings - a solid starting arrangement. vocal_language- only relevant if vocals are enabled;unknown/autoor force a language.lyrics,caption- lyrics for the vocal track, style for the whole arrangement.inference_steps- 50 default.use_adg,cfg_interval_start/end- advanced quality knobs.
Outputs: audio, audio_path, metadata.
Install
Shared pack setup plus the base model - same as Extract and Lego:
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
Restart ComfyUI after installing.
Where people get burned
The base-model requirement is the trap - if you only downloaded the turbo weights, Complete has nothing to run on. Second, restraint pays off: flipping all twelve add_* toggles on at once doesn't give you a richer song, it gives the model a busier arrangement with more chances to clash. Start from the defaults (drums, bass, strings), listen, then add one track at a time. And remember this is creative completion, not restoration - the model fills gaps with its idea of what belongs there. If your source is already dense, "completing" it can push toward mud; the cleanest results come from intentionally sparse input.
Inputs (26)
| Name | Type | Default | Description |
|---|---|---|---|
| src_audio | AUDIO | Source audio to complete. | |
| add_drumsopt | BOOLEAN | true | Add drums track |
| add_bassopt | BOOLEAN | true | Add bass track |
| add_guitaropt | BOOLEAN | false | Add guitar track |
| add_keyboardopt | BOOLEAN | false | Add keyboard/piano track |
| add_stringsopt | BOOLEAN | true | Add strings track |
| add_synthsopt | BOOLEAN | false | Add synthesizer track |
| add_percussionopt | BOOLEAN | false | Add percussion track |
| add_brassopt | BOOLEAN | false | Add brass track |
| add_woodwindsopt | BOOLEAN | false | Add woodwinds track |
| add_backing_vocalsopt | BOOLEAN | false | Add backing vocals track |
| add_fxopt | BOOLEAN | false | Add FX/sound effects track |
| add_vocalsopt | BOOLEAN | false | Add vocals track |
| vocal_languageopt | COMBO | unknown | Language for vocals. |
| lyricsopt | STRING | Lyrics text. | |
| captionopt | STRING | Style description. | |
| seedopt | INT | -1-1–18446744073709550000 | Random seed. -1 for random. |
| inference_stepsopt | INT | 5020–100 | Diffusion steps. Higher = better quality. |
| guidance_scaleopt | FLOAT | 7.001–15 | CFG scale. |
| use_adgopt | BOOLEAN | false | Adaptive Dual Guidance. |
| cfg_interval_startopt | FLOAT | 0.000–1 | CFG start ratio. |
| cfg_interval_endopt | FLOAT | 1.000–1 | CFG end ratio. |
| audio_formatopt | COMBO | flac | Output audio format. |
| checkpoint_diropt | COMBO | acestep-v15-base | Model directory. |
| lm_model_pathopt | COMBO | acestep-5Hz-lm-1.7B | Language model. |
| deviceopt | COMBO | auto | Compute device. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| audio_path | STRING | — |
| metadata | STRING | — |