Nodes/ComfyUI/ConditioningStableAudio
ComfyUI Node Runs on cloud

ConditioningStableAudio

Telling a music model when in the song you are

By Comfy-Org·Created 4 years ago·Updated about an hour ago· 129,943
ConditioningStableAudio
  • positive
  • negative
  • positive
  • negative
seconds_start0.0
seconds_total47.0

Most of the conditioning nodes in ComfyUI tell the model what to draw. ConditioningStableAudio tells the model when in the song you are. It's the bridge node for Stable Audio - Stability's open-weights music generation line (Stable Audio Open, then the Stable Audio 3 family that landed open in May 2026) - and it works by stamping timeline information onto your text conditioning before it reaches the audio sampler.

If you've used Stable Audio's web UI, the "start in" and "total duration" sliders are exactly what this node encodes. It's the difference between "make me 47 seconds of music" and "this section is the drop at 0:32." Music diffusion models are time-aware in a way image models aren't - the whole clip is generated as one latent, and where you are in that latent changes what the text prompt should mean.

How it works

The node takes your positive and negative conditioning (both from CLIPTextEncode with a Stable Audio CLIP) and two floats:

  • seconds_start - where this conditioning section begins in the output, default 0.
  • seconds_total - the total length of the generation, default 47 (Stable Audio's classic default length).

Those get written into the conditioning's metadata, and the sampler reads them to position the prompt's influence along the timeline. Both positive and negative get the same treatment, so they stay aligned.

Outputs are positive and negative, which wire into the StableAudio sampler alongside the audio VAE and the empty audio latent. It doesn't produce audio, doesn't produce a latent - it's purely the metadata layer, which is why it's grouped with conditioning rather than with the audio generation nodes themselves.

What matters in practice

  • seconds_total sets the canvas. Change it and you change the output length, not just the metadata. Match it to the latent length you're sampling, or the timeline misaligns.
  • seconds_start is your structure tool. Generate in sections and you can build multi-part tracks by conditioning different text at different offsets, then stitching. That's how people compose "intro, build, drop" without a full DAW in the loop.
  • Both positive and negative carry the same timing, which is what you want - the negative's "no distortion" should be active across the same window as the positive's "synthwave bass."

Gotchas

It only does anything with the Stable Audio model family. Feed it an SDXL conditioning and it just writes metadata nobody reads. It's a piece of the Stable Audio pipeline, not a generic tool.

The model itself is the bottleneck, not this node. Stable Audio runs heavy on consumer GPUs, and the community's experience is that the node side is simple - the fiddly part is the checkpoint and the audio VAE. If your workflow is missing the audio VAE encode/decode pair, the node works fine and you still get nothing audible.

ComfyUI core ships it (comfy_extras/nodes_audio.py). No install. If you're building text-to-music or audio-to-audio graphs, this is the conditioning front half; the sampler and VAE are the rest.

Categorymodel/conditioning/stable audio

Inputs (4)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
seconds_startFLOAT0.00–1000
seconds_totalFLOAT47.00–1000

Outputs (2)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING