Nodes/Kaola ACE-Step Music/ACE-Step Complete (Base Only)
ComfyUI Node

ACE-Step Complete (Base Only)

Your song is missing a bassline — ACE-Step Complete fills in the missing tracks

By kana112233·Created 7 months ago·Updated 6 months ago· 29
ACE-Step Complete (Base Only)
  • src_audio
  • audio
  • audio_path
  • metadata
add_drumstrue
add_basstrue
add_guitarfalse
add_keyboardfalse
add_stringstrue
add_synthsfalse
add_percussionfalse
add_brassfalse
add_woodwindsfalse
add_backing_vocalsfalse
add_fxfalse
add_vocalsfalse
vocal_languageunknown
lyrics
caption
seed-1
inference_steps50
guidance_scale7.00
use_adgfalse
cfg_interval_start0.00
cfg_interval_end1.00
audio_formatflac
checkpoint_diracestep-v15-base
lm_model_pathacestep-5Hz-lm-1.7B
deviceauto

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/auto or 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.

CategoryAudio/ACE-Step

Inputs (26)

NameTypeDefaultDescription
src_audioAUDIOSource audio to complete.
add_drumsoptBOOLEANtrueAdd drums track
add_bassoptBOOLEANtrueAdd bass track
add_guitaroptBOOLEANfalseAdd guitar track
add_keyboardoptBOOLEANfalseAdd keyboard/piano track
add_stringsoptBOOLEANtrueAdd strings track
add_synthsoptBOOLEANfalseAdd synthesizer track
add_percussionoptBOOLEANfalseAdd percussion track
add_brassoptBOOLEANfalseAdd brass track
add_woodwindsoptBOOLEANfalseAdd woodwinds track
add_backing_vocalsoptBOOLEANfalseAdd backing vocals track
add_fxoptBOOLEANfalseAdd FX/sound effects track
add_vocalsoptBOOLEANfalseAdd vocals track
vocal_languageoptCOMBOunknownLanguage for vocals.
lyricsoptSTRINGLyrics text.
captionoptSTRINGStyle description.
seedoptINT-1-1–18446744073709550000Random seed. -1 for random.
inference_stepsoptINT5020–100Diffusion steps. Higher = better quality.
guidance_scaleoptFLOAT7.001–15CFG scale.
use_adgoptBOOLEANfalseAdaptive Dual Guidance.
cfg_interval_startoptFLOAT0.000–1CFG start ratio.
cfg_interval_endoptFLOAT1.000–1CFG end ratio.
audio_formatoptCOMBOflacOutput audio format.
checkpoint_diroptCOMBOacestep-v15-baseModel directory.
lm_model_pathoptCOMBOacestep-5Hz-lm-1.7BLanguage model.
deviceoptCOMBOautoCompute device.

Outputs (3)

NameTypeDescription
audioAUDIO
audio_pathSTRING
metadataSTRING