Nodes/Kaola ACE-Step Music/ACE-Step Repaint
ComfyUI Node

ACE-Step Repaint

Fix one bad chorus without regenerating the whole song — ACE-Step Repaint

By kana112233·Created 7 months ago·Updated 6 months ago· 29
ACE-Step Repaint
  • src_audio
  • audio
  • audio_path
  • metadata
caption
repainting_start0.00
repainting_end-1.00
checkpoint_dirAce-Step1.5
config_pathacestep-v15-turbo
lm_model_pathacestep-5Hz-lm-1.7B
seed-1
inference_steps8
deviceauto
thinkingtrue
quantizationNone
compile_modelfalse
audio_formatflac

Imagine a tool where instead of regenerating a whole track because one section is off, you select that 10-second window and re-roll just it. That's ACE-Step Repaint, and it's the audio cousin of inpainting. You tell it where the problem is - "seconds 30 to 40 sound muddy" - and it redraws that region to match your description while leaving the rest of the file alone. Fix a flubbed vocal line, swap a boring bridge for something dramatic, smooth out a transition. Same workflow, surgical edit.

It comes from the same ACE-Step 1.5 core as the Cover node in this pack, so if you've already installed one you've installed both. The mechanic is region-conditioned diffusion: the model encodes your source audio, regenerates just the marked span under your caption, and stitches it back. The word "repaint" is doing real work - it's not a fade, not a filter, not a splice. It's new audio generated inside the old.

The inputs that matter

  • src_audio - the track to edit (from ComfyUI's Load Audio node).
  • caption - describe what the repainted region should be. "Epic orchestral hit with rising tension" beats "make it better."
  • repainting_start / repainting_end - the region in seconds. end of -1 means "to the end of the audio," which is handy for redoing the outro.
  • inference_steps - 8 on the turbo config, 25-50 if you switch to base.

Everything else is the usual pack-wide set: checkpoint_dir (defaults to the "Ace-Step1.5" folder under models), config_path (acestep-v15-turbo for speed), lm_model_path, seed, and device (auto is fine). There's also quantization (int8_weight_only) plus compile_model - the quantization path requires compile_model on and needs torchao installed, and it's incompatible with LoRA. Most people can ignore both; the first compile run is slow.

Outputs are audio (→ Save Audio), audio_path, and metadata as a JSON string.

Install

Same as every node in the Kaola pack - one-time, shared setup:

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 (search "ComfyUI-kaola-ace-step"), but the ACE-Step dependency and the model download are on you either way. Restart after installing.

Where people get burned

The Repaint/Cover siblings share the pack's most reported bug: in early versions, output came out speed-shifted - a repainted section (or whole song) that plays back at the wrong tempo, usually way too fast. A community pull request fixed it; if you hear the chipmunk effect, update the pack to the latest release before debugging anything else.

The other honest limitation is lyric fidelity. The model happily redraws a region and can even get the voice closer to what you want, but it won't reproduce the original words exactly. If your use case is "re-sing this chorus with the same lyrics," you'll be chasing that for a while - it's a vibe-editing tool, not a stem-level DAW. For cleaning up a rough generation or adding a variation to one passage, though, nothing else in this pack does the job faster.

CategoryAudio/ACE-Step

Inputs (14)

NameTypeDefaultDescription
src_audioAUDIOThe original audio signal to be repainted.
captionSTRINGStyle description prompt for the repainted region.
repainting_startFLOAT0.000–600Start time for the repainting region in seconds.
repainting_endFLOAT-1.00-1–600End time for the repainting region in seconds. -1 means until the end of the audio.
checkpoint_dirCOMBOAce-Step1.5Directory containing ACE-Step model weights (DiT model).
config_pathCOMBOacestep-v15-turboSpecific model configuration to use (e.g., v1.5 turbo).
lm_model_pathCOMBOacestep-5Hz-lm-1.7BPath to the language model used for processing metadata.
seedINT-1-1–18446744073709550000Random seed for reproducibility. Set to -1 for random generation.
inference_stepsINT81–64Number of diffusion steps. Higher values (e.g., 25-50) improve quality but are slower.
deviceCOMBOautoComputing platform to run the model on.
thinkingoptBOOLEANtrueWhether to show the language model's Chain-of-Thought reasoning.
quantizationoptCOMBONoneModel quantization (e.g., int8). Reduces VRAM usage but requires torchao and compile_model=True. Incompatible with LoRA.
compile_modeloptBOOLEANfalseWhether to use torch.compile to optimize the model. Required for quantization. Slow on first run but faster afterwards.
audio_formatoptCOMBOflacOutput audio file format.

Outputs (3)

NameTypeDescription
audioAUDIO
audio_pathSTRING
metadataSTRING