KSampler + Audio Decoder
The ACE-Step sibling of Sage's sample-and-decode nodes
- model
- sampler_info
- positive
- negative
- latent_audio
- vae
- latent
- audio
Same family, same idea as Sage_KSamplerTiledDecoder, but for audio: it denoises a latent using the shared Sampler Info settings pattern, then runs the result through a VAE to produce actual playable audio in one node instead of two. The README calls it plainly: "KSampler with an audio decoder varient of the above nodes." If you're building an ACE-Step music-generation pipeline in Sage Utils, this is the node that sits at the sampling step.
How it fits the ACE-Step pipeline
This node is the middle piece of a three-node chain the pack sets up for audio: Sage_EmptyAceStep15LatentAudio builds the starting empty latent (set its seconds to your target song length), Sage_Ace15AudioEncode builds your positive conditioning from tags, lyrics, and musical parameters like BPM and key (or use Sage_ZeroConditioning for the negative side if you don't want text steering the negative), and this node ties them together - sampling the latent under that conditioning and decoding straight to audio with the model's VAE.
Inputs and outputs
model- the ACE-Step model.sampler_info- Sage's shared settings bundle (steps, CFG, sampler, scheduler, seed), same node type used across all of Sage's KSampler variants - build it once with a Sampler Info node and reuse it here and on your image samplers if your workflow has both.positive/negative- conditioning, most likely fromSage_Ace15AudioEncodeandSage_ZeroConditioningrespectively.latent_audio- the empty (or partially-denoised) latent audio tensor to sample from.vae- the audio VAE, required here since the decode step is built in.denoise- 0–1, default 1.
Two outputs: latent (in case you want to chain further latent-space processing) and audio - the actual decoded audio, ready for whatever save-audio node you're using downstream (not part of this pack).
Installing it
ComfyUI Manager: search Sage Utils, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/arcum42/ComfyUI_SageUtils
cd ComfyUI_SageUtils
pip install -r requirements.txt
Restart ComfyUI. This node doesn't ship an ACE-Step model - you need the checkpoint and audio VAE loaded separately, and they're not small downloads.
Common issues
Same pairing rule as the image-side KSamplers: without a sampler_info connection, there's nothing set for steps, CFG, sampler, or scheduler - add a Sampler Info node upstream, it's not optional.
Duration mismatches are the more audio-specific gotcha: if latent_audio was built for, say, 60 seconds but your Sage_Ace15AudioEncode conditioning was set for a 120-second duration, expect the model to fight that inconsistency rather than gracefully split the difference. Keep the seconds/duration values in sync across the whole chain. And given this is a smaller, single-maintainer pack, ACE-Step support here is newer and less trodden ground than the image nodes - if you hit an odd failure, check recent GitHub activity before assuming it's purely a workflow mistake.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The model used for denoising audio latent. | |
| sampler_info | SAMPLER_INFO | Sampler configuration for the KSampler. | |
| positive | CONDITIONING | Positive conditioning for audio generation. | |
| negative | CONDITIONING | Negative conditioning for audio generation. | |
| latent_audio | LATENT | The latent audio tensor to denoise. | |
| vae | VAE | The audio VAE used to decode the denoised latent. | |
| denoise | FLOAT | 1.000–1 | The denoising strength. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | The denoised latent audio output. |
| audio | AUDIO | The decoded audio result. |