Nodes/comfyui-acemusic/AceMusic Generator (from Conditioning)
ComfyUI Node

AceMusic Generator (from Conditioning)

Generate from a conditioning object when your song spec is assembled by other nodes

By hiroki-abe-58·Created 7 months ago·Updated 7 months ago· 42
AceMusic Generator (from Conditioning)
  • model
  • conditioning
  • audio
inference_steps27
seed-1
instrumentalfalse
guidance_scale15.0

AceMusic Generator (from Conditioning) is the twin of the main AceMusic Generator (Text2Music) - same job, different way of being fed. The plain generator takes caption, lyrics, and a settings object as separate wires; this one takes a single pre-bundled ACEMUSIC_COND object and generates from it. If you only ever wire things by hand, you can ignore this node and use the regular generator. If your workflow assembles parameters programmatically - say, from AceMusic Create Sample's outputs through AceMusic Conditioning - this is the generator at the end of that chain.

Inputs:

  • model - from AceMusic Model Loader (and optionally through Load LoRA).
  • conditioning - the ACEMUSIC_COND object from AceMusic Conditioning. It carries caption, lyrics, BPM, key, duration, and language.
  • inference_steps - 27 default, 1–100, here on the generator itself (the conditioning object doesn't carry sampling settings).
  • seed - -1 for random, any non-negative for reproducibility.

Optional: instrumental (drop the vocals) and guidance_scale (15 default, 1–30). One output: audio.

How it works

Mechanically it's the same call as the main generator: the node reads the conditioning dict, pulls out caption, lyrics, duration, BPM, key, and language, and hands them to the ACE-Step pipeline - folding the metadata into the prompt as tags, exactly like the Settings path does. The difference is entirely in the plumbing: sampling controls live on this node, while the song spec lives in the conditioning object. That split is what makes the Create Sample → Conditioning → Generator-from-Cond chain work as a one-shot "describe the song, get the song" pipeline, because the spec can be built by other nodes rather than typed into widgets.

Where the main generator is the obvious default for interactive use, this one is for the cases where the spec is derived: dynamic BPM from a tempo node, duration from AceMusic Understand measuring another track, captions generated by a model. It's the headless-friendly path.

Installing it

Via ComfyUI Manager, search "ComfyUI-AceMusic", or:

cd ComfyUI/custom_nodes
git clone https://github.com/hiroki-abe-58/ComfyUI-AceMusic.git
cd ComfyUI-AceMusic
pip install -r requirements.txt
pip install git+https://github.com/ace-step/ACE-Step.git

Same pack install as everything else, plus the separate ACE-Step engine (whose pinned == requirements are the usual install casualty - relax them in a clone or install deps manually with --no-deps).

Common issues

  • The conditioning input only accepts ACEMUSIC_COND - that's the whole point. Build it with AceMusic Conditioning; you can't feed it a raw string.
  • Same workflow, no sound - check you're previewing this node's audio output, and that the conditioning object has a caption (an empty spec generates from nothing).
  • Want instrumental? - it's the instrumental toggle here, not in the conditioning object.
  • Dropped settings - if you set BPM or key to auto (0/blank) in Conditioning, the model decides; set explicit values to force them.

It's a niche node - the "manual wiring" crowd will never touch it, and that's fine. If you're building automated or generative-pipeline workflows, it's the piece that makes the whole thing hold together.

CategoryAceMusic/Generation

Inputs (6)

NameTypeDefaultDescription
modelACEMUSIC_MODEL
conditioningACEMUSIC_COND
inference_stepsINT271–100
seedINT-1-1–2147483647
instrumentaloptBOOLEANfalse
guidance_scaleoptFLOAT15.01–30

Outputs (1)

NameTypeDescription
audioAUDIO