Ace Step 1.5 Audio Encode
Turn tags, lyrics, and a target BPM into conditioning
- clip
- adv_audio_info
- CONDITIONING
This is Sage Utils' text/lyrics encoder for ACE-Step, the open music-generation model that made it into ComfyUI's audio nodes. Where an image workflow's text encoder turns a prompt into conditioning, this node turns a set of style tags, a block of lyrics, and a handful of musical parameters (tempo, key, time signature) into the conditioning that steers what song comes out the other end.
If you've used ComfyUI's built-in ACE-Step audio nodes before, this is Sage's version of the same idea with more of the musical controls exposed directly on the node instead of buried elsewhere - worth trying if you want tighter control over tempo and key without juggling extra nodes.
The inputs that matter
There are a lot of fields here, but only a handful you'll actually touch on a normal run:
tags- multiline text for style/genre descriptors: think "acoustic, indie folk, female vocals" rather than a song description. This is the closest thing to a "prompt" here.lyrics- the actual vocal text you want sung, if any.bpm(default 120, range 10–300) andtimesignature/keyscale- musical parameters fed straight into the conditioning. Set these to match the genre you're going for; a ballad and a dance track want very different BPMs even with similar tags.duration(default 120 seconds, up to 2000) - target song length. Worth matching to whatever you set onSage_EmptyAceStep15LatentAudio'ssecondsfield if you're chaining the two, so your latent and your conditioning agree on how long the track should be.generate_audio_codes- on by default; the tooltip describes it as enabling LLM-generated audio codes for higher-quality encoding. Leave it on unless you have a specific reason to turn it off, or you're troubleshooting a slow generation and want to isolate whether this step is the bottleneck.seed- determinism for the encoding step, separate from any sampling seed downstream.clip- required; the ACE-Step text/audio encoder model, loaded elsewhere in your graph.adv_audio_info- a requiredADV_AUDIO_INFOinput from a companion advanced-audio-settings node elsewhere in the pack; not something you fill in by hand on this node.
Output is a single CONDITIONING, which feeds into Sage_KSamplerAudioDecoder alongside whatever negative conditioning you're using (or a zeroed one from Sage_ZeroConditioning).
Installing it
ComfyUI Manager: search Sage Utils, install, restart. Manual install:
cd ComfyUI/custom_nodes
git clone https://github.com/arcum42/ComfyUI_SageUtils
cd ComfyUI_SageUtils
pip install -r requirements.txt
Restart afterward. This node needs an ACE-Step checkpoint and its text/audio encoder loaded somewhere upstream to feed the clip input - those are separate model downloads from the node pack itself, and not something Sage Utils fetches for you automatically.
Common issues
Music generation models are considerably more sensitive to mismatched duration settings than image models are to resolution mismatches - if your duration here doesn't match the seconds on your empty latent audio node, expect the sampler to fight the conflict rather than silently ignore it. Keep those two in sync.
Because ACE-Step support in this pack is fairly new territory and this is a small, single-maintainer node set, treat it as less battle-tested than the image-side nodes if you hit something odd - check the GitHub repo for recent activity before assuming the fault is in your workflow rather than an edge case the author hasn't hit yet.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | The audio clip to encode into Ace Step 1.5 conditioning. | |
| tags | STRING | Descriptive tags or prompts for the audio encoding. | |
| lyrics | STRING | Lyrics or vocal metadata to include during audio encoding. | |
| seed | INT | 00–18446744073709550000 | Random seed used for encoding determinism. |
| duration | FLOAT | 120.00–2000 | Target duration of the encoded audio in seconds. |
| bpm | INT | 12010–300 | Beats-per-minute tempo used for audio conditioning. |
| timesignature | COMBO | Time signature for the encoded audio. | |
| keyscale | COMBO | Musical key and scale for the encoded audio. | |
| generate_audio_codes | BOOLEAN | true | Enable LLM-generated audio codes for higher-quality audio encoding. |
| adv_audio_info | ADV_AUDIO_INFO | Advanced audio encoding settings for Ace Step 1.5. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | The generated Ace Step 1.5 conditioning for audio. |