Nodes/Sage Utils/Empty Ace Step 1.5 Audio Passthrough
ComfyUI Node

Empty Ace Step 1.5 Audio Passthrough

The starting canvas for an ACE-Step track

By arcum42·Created 2 years ago·Updated 24 days ago· 32
Empty Ace Step 1.5 Audio Passthrough
    • latent
    • seconds
    seconds120.00
    batch_size1

    Every ACE-Step generation needs somewhere to start, the same way image workflows start from an Empty Latent Image. This is that node for audio: it builds an empty latent audio tensor of a given length, ready to be denoised by Sage_KSamplerAudioDecoder into an actual track.

    The one design touch worth noting: this node passes its own seconds value back out as an output, not just as a widget you set once and forget. That's deliberate - the whole ACE-Step chain in this pack needs the length to agree at multiple points (the empty latent's duration and Sage_Ace15AudioEncode's duration field both need to match), and wiring the actual output value into the encode node instead of retyping the same number twice removes an easy way for them to drift out of sync.

    Inputs and outputs

    • seconds - default 120, range 1–1000. The target length of your generated track. This is the number to change per song; everything else about the node is fixed.
    • batch_size - default 1. How many independent audio examples to generate in the same queue - bump it up if you want several variations of the same prompt in one run, same idea as batch size on an image latent.

    Two outputs: latent - the empty audio tensor itself, feeds into latent_audio on Sage_KSamplerAudioDecoder - and seconds, echoing the duration you set, meant to be wired into Sage_Ace15AudioEncode's duration input so the two nodes can't disagree about how long the track should be.

    Installing it

    ComfyUI Manager: search Sage Utils, install, restart. Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/arcum42/ComfyUI_SageUtils
    cd ComfyUI_SageUtils
    pip install -r requirements.txt
    

    Restart ComfyUI afterward. This node itself needs no model downloads - it's just building an empty tensor of the right shape, the actual generation happens downstream with your ACE-Step checkpoint.

    Common issues

    The most common way to get an odd result here is typing the same duration into two places instead of wiring this node's seconds output into the encode node's duration field - it works either way in principle, but manually keeping two numbers in sync is exactly the kind of thing that quietly drifts after a few edits. Use the wire, not the retype.

    Longer durations mean a proportionally larger latent to sample and decode, so if you're pushing toward the upper end of the range (close to 1000 seconds) on limited VRAM, expect it to behave the same way a very large image resolution does - slower, and more likely to hit memory limits during the decode step in Sage_KSamplerAudioDecoder. There's no tiled-decode equivalent for audio in this pack the way there is for images, so if you do run into memory trouble at long durations, shortening the track is currently the practical fix.

    CategorySage Utils/audio

    Inputs (2)

    NameTypeDefaultDescription
    secondsFLOAT120.001–1000Length of the empty audio tensor in seconds.
    batch_sizeINT1Number of audio examples in the batch.

    Outputs (2)

    NameTypeDescription
    latentLATENTThe empty latent audio tensor for Ace Step 1.5.
    secondsFLOATThe duration of the generated audio in seconds.