Nodes/ACE-Step-ComfyUI/ACE-Step Settings
ComfyUI Node

ACE-Step Settings

The Settings node where most of ACE-Step's sound quality actually lives

By ace-step·Created 7 months ago·Updated 6 months ago· 78
ACE-Step Settings
    • settings
    seed-1
    thinkingtrue
    use_cot_captiontrue
    use_cot_languagetrue
    temperature0.85
    lm_cfg_scale2.0
    lm_top_p0.90
    lm_top_k0
    dit_guidance_scale7.0
    dit_inference_steps8
    dit_infer_methodode

    ACE-Step is a hybrid text-to-music model: a language model writes the "score" as audio code tokens, and a diffusion transformer (the DiT) actually renders the waveform. That split is why the ACE-Step Settings node exists - it bundles the knobs for both halves into one settings bundle that you wire straight into the Text2music Server node. If you only ever touch one slider in this pack, make it dit_inference_steps, because that's the single biggest speed-versus-quality trade you get.

    First, a warning about the README: its settings table is stale. It lists dit_guidance_scale at 3.5 and dit_inference_steps at 60, but the shipped code and the node defaults agree on 7.0 and 8. ACE-Step 1.5's turbo checkpoint ships with 8 diffusion steps as its intended default, so don't "fix" it to 60 and then wonder why every generation takes a minute longer for no audible gain. The README rotted; trust the node.

    What each field does

    • seed - -1 means random. Set any other number to reproduce a generation. It's a STRING, but plain digits work; the server rejects non-numeric seeds, so don't get clever.
    • thinking - the big one. When ON, ACE-Step runs its 5Hz LM audio-code pass (the llm_dit mode), which is higher quality and slower. Off is the fast path. If you're on the cloud API and just want quick sketches, turn it off; if you're making something you'll actually keep, leave it on.
    • use_cot_caption - lets the LLM rewrite/enhance your caption via chain-of-thought before generation.
    • use_cot_language - lets the LLM auto-detect the vocal language instead of trusting the dropdown.

    The rest are familiar sampling dials if you've touched any local image or music stack: temperature (0.85 default), lm_cfg_scale (2.0 - classifier-free guidance on the LM side), lm_top_p (0.9 nucleus sampling), and lm_top_k (0 = disabled). The last two are DiT-side: dit_guidance_scale (7.0) and dit_infer_method (ode vs sde). ODE is the standard faster path; SDE adds stochasticity - try it when generations feel too "flat."

    One output, one job

    The node returns a single settings output typed ACESTEP_SETTINGS. It plugs into the matching settings input on the Text2music Server node. That's the whole job - it's a parameter bundle, nothing executes until the Server node fires.

    The gotcha: cover/repaint ignores half of this

    When you run a cover or repaint task (i.e. the Gen Params node has a src_audio connected), the Server node forces thinking, use_cot_caption, and use_cot_language to false no matter what you set here. Those tasks don't use the LM - the audio is already defined, so there's nothing to "think" about. That's by design, not a bug; don't chase it.

    Install

    This node ships in the ACE-Step-ComfyUI pack. Easiest path: ComfyUI Manager → search ACE-Step-ComfyUI → install. Or by hand:

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

    Restart ComfyUI and you're done. The node itself only needs torch, numpy, and requests - the heavy lifting happens on the server side (cloud API or your own ACE-Step-1.5 instance), so this pack adds almost nothing to your ComfyUI footprint.

    Troubleshooting

    There isn't much that can break inside this node - it just collects values into a dict. The two things that bite people are the README's stale defaults (covered above) and expecting settings to do anything on its own. If you change a slider and nothing happens, check that the wire from settings to the Server node is actually connected, then hit Queue - the Server node is what consumes the bundle.

    Categoryapi node/audio/ACE-Step

    Inputs (11)

    NameTypeDefaultDescription
    seedSTRING-1-1 = random
    thinkingBOOLEANtrueEnable 5Hz LM audio code generation (llm_dit mode)
    use_cot_captionBOOLEANtrueLLM rewrites/enhances caption via CoT
    use_cot_languageBOOLEANtrueLLM auto-detects vocal language
    temperatureFLOAT0.850–2LM sampling temperature
    lm_cfg_scaleFLOAT2.01–5LM classifier-free guidance scale
    lm_top_pFLOAT0.900–1LM nucleus sampling top-p
    lm_top_kINT00–200LM top-k sampling (0 = disabled)
    dit_guidance_scaleFLOAT7.00–20DiT classifier-free guidance scale
    dit_inference_stepsINT81–200DiT diffusion steps (turbo default = 8)
    dit_infer_methodCOMBOodeDiT ODE/SDE inference method

    Outputs (1)

    NameTypeDescription
    settingsACESTEP_SETTINGS