ACE-Step 1.5 Edit Guider (Extend/Repaint) β‘π ‘π π £π
Extend or repaint a section of an existing track
- model
- positive
- negative
- source_latents
- reference_latent
- guider
- output_latent
This is the guider you reach for when you already have a track and want ACE-Step 1.5 to edit it rather than start from scratch - bolt on more bars at either end, or regenerate a chunk in the middle without touching the rest. Two jobs, one node, controlled by which optional fields you actually fill in.
Guiders are ComfyUI's plumbing for custom sampling: instead of a KSampler doing everything in one box, you build a GUIDER object that encodes the how-to-denoise logic, then hand it to a generic sampler (SamplerCustomAdvanced and friends). RyanOnTheInside built a separate native guider for each ACE-Step task shape rather than one giant node with a mode switch, which is why this pack has an Edit guider, a Cover guider, and more sitting side by side.
How it works
Feed it your model, positive/negative conditioning (from the Task Text Encode node, with task_type set to repaint for the repaint half of this node's job), and source_latents - the latent representation of your existing track. Then you either set the extend fields, the repaint fields, or leave both at their defaults and get essentially a pass-through. It outputs a guider for your sampler plus an output_latent.
The inputs and outputs that matter
model,positive,negative,source_latents(all required) - your ACE-Step model, encoded conditioning, and the existing track's latent.cfg(default 1, range 0β100) - classifier-free guidance strength for this edit pass.extend_left_seconds/extend_right_seconds(default 0, up to 240s each) - how much new audio to generate before/after the source track. Leave at 0 if you're only repainting.repaint_start_seconds/repaint_end_seconds(default -1, meaning "unset") - the window of the source track to regenerate in place. Set both to actually repaint a section; leaving them at -1 skips repainting.reference_latent(optional) - per its tooltip, an audio latent used purely "for timbre conditioning," so the output adopts that reference's instrument/voice character. Explicitly stated to have "no effect on task behavior" - it changes how it sounds, not what gets extended or repainted.- Outputs -
guider(into your sampler) andoutput_latent.
How to install it
Via ComfyUI Manager: search "RyanOnTheInside," install, restart. By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside.git
cd ComfyUI_RyanOnTheInside
pip install -r requirements.txt
then restart. Your first ACE-Step generation in this pack triggers an automatic HuggingFace download of "silence latents" - expect a pause and make sure you have a network connection the first time.
Common issues & troubleshooting
Nothing seems to extend or repaint - output matches the source. You almost certainly left both extend fields at 0 and both repaint fields at -1, which is this node's neutral/no-op state by design. Set one pair explicitly.
Repaint bleeds into the wrong section, or the seam is audible. Double-check repaint_start_seconds/repaint_end_seconds against your track's actual timing - these are absolute seconds into source_latents, not relative offsets, so an off-by-a-few-seconds window is the most common cause of an obvious edit point.
You want the repainted or extended section to keep the original instrument/voice. That's exactly what reference_latent is for - feed it a latent from the source track (or another track with the timbre you want) so the new audio doesn't drift toward a generic ACE-Step default voice.
Everything works but cfg feels either too literal or too loose. This mirrors image-model CFG: higher pushes the edit to hew closer to your conditioning text, lower gives ACE-Step more freedom. Default of 1 is a reasonable starting point; nudge it before assuming the guider itself is misbehaving.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | β | |
| positive | CONDITIONING | β | |
| negative | CONDITIONING | β | |
| source_latents | LATENT | β | |
| cfg | FLOAT | 1.00β100 | β |
| extend_left_secondsopt | FLOAT | 0.00β240 | β |
| extend_right_secondsopt | FLOAT | 0.00β240 | β |
| repaint_start_secondsopt | FLOAT | -1.0-1β1000 | β |
| repaint_end_secondsopt | FLOAT | -1.0-1β1000 | β |
| reference_latentopt | LATENT | Optional reference audio latent for timbre conditioning. The model will generate audio with the timbre/instrument character of this reference. Does not affect task behavior (extend/repaint). |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| guider | GUIDER | β |
| output_latent | LATENT | β |