Set Reference Audio
Reference audio for music generation
- conditioning
- latent
- CONDITIONING
The name says it all, which is rare around here: this node sets the reference audio for ACE-Step 1.5. Its whole job is taking an audio latent that represents a voice or sound you like and pinning it to your conditioning so the model generates in that timbre - same singer, same texture, even if you're writing completely different lyrics and a different melody.
"Timbre" is the key word. You're not asking the model to copy the song; you're giving it a vocal identity. ACE-Step 1.5 treats a reference clip as a style/voice anchor, and the built-in ComfyUI nodes expose that as this one input: a conditioning plus an optional audio latent.
How it works
Mechanically it's the thinnest node in this whole category. It takes a CONDITIONING, optionally a LATENT, and if the latent is present it appends a reference_audio_timbre_latents entry to the conditioning dict (with an append flag, so chaining multiple references keeps all of them). If you don't connect a latent, the conditioning just passes through untouched - the node still works, it's just a no-op. That pass-through behavior is a nice safety valve, not a bug.
The latent you feed it comes from encoding a reference clip with an audio VAE (the same encoder used on the output side). That's the part people fumble: you don't drop a raw AUDIO into this node - you feed it the latent that the audio pipeline produced, matching the latent format ACE-Step 1.5 expects.
Inputs and output
- conditioning (required) - the ACE-Step 1.5 conditioning from its text encoder, before sampling.
- latent (optional) - the encoded reference audio. Leave it unplugged and the node is a harmless pass-through.
Output is a single CONDITIONING that carries the reference into the sampler.
Where it fits
Ships with ComfyUI core - no install. It landed alongside ACE-Step 1.5 support in 2026, and its menu category is plain model/conditioning. The model files are the ACE-Step 1.5 checkpoint and audio VAE in the usual ComfyUI model folders.
Common issues
The #1 mistake is expecting the reference to dictate what is sung. It sets the voice, not the words - the lyrics come from your text encoding, and if the reference and the requested vocals fight, the result can sound like a cover that's half-remembered the original. Also, garbage-in-garbage-out on the reference: a clip with heavy reverb, background noise or multiple singers will smear the timbre across your output. Use a clean, dry, single-voice reference of a few seconds. And remember the node is designed for 1.5 - if you're on ACE-Step 1.0, this input simply isn't part of that pipeline.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| latentopt | LATENT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |