Nodes/lf-nodes/ACE-Step Remix (opt-in)
ComfyUI Node

ACE-Step Remix (opt-in)

ACE-Step Remix is a bridge, not a model — the opt-in is the whole story

By lucafoscili·Created 2 years ago·Updated a day ago· 35
ACE-Step Remix (opt-in)
    • output_reference
    • receipt
    source_audio
    modecover
    style_prompt
    lyrics
    instrumentalfalse
    audio_cover_strength1.00
    cover_noise_strength0.20
    repaint_start0.0
    repaint_end-1.0
    seed-1
    inference_steps8
    guidance_scale7.0
    infer_methodode
    shift3.0
    output_formatflac

    The "(opt-in)" in the display name is the entire story. LF_ACEStepRemix does not ship the model, does not download it, and does not run it. It's an HTTP bridge between your ComfyUI graph and a separate ACE-Step API server that you're expected to stand up yourself. No server, no node - you'll get a connection error before anything musical happens. That's not a bug, it's the design: ACE-Step is several GB of weights and the author decided ComfyUI shouldn't babysit them.

    What it buys you, when the server is running, is genuinely cool. ACE-Step is the open-weights music model co-developed by ACE Studio and StepFun - the community's default local answer to Suno, capable of running on surprisingly little VRAM and strong on instrumentals (vocals remain its weak suit, same as Suno's). This node gives you two of its headlining tricks without leaving the graph: cover, which restyles the whole source track, and repaint, which regenerates only a selected time range.

    How it works

    The node takes one audio file from inside ComfyUI's managed roots (input, temp, or output), posts it to http://127.0.0.1:8001 by default with your controls, then polls query_result until the job lands. The finished audio is downloaded into ComfyUI/output/lf-workflow-runner/ace-step/ and returned as a playable artifact in the UI. The bridge deliberately asks for batch_size: 1 - ACE-Step's API otherwise defaults to two generations, wasting VRAM on an artifact the workflow can't represent.

    Three environment variables tune the connection: LF_ACESTEP_API_URL (default http://127.0.0.1:8001), LF_ACESTEP_API_TOKEN (optional bearer token), and LF_ACESTEP_TIMEOUT_SECONDS (how long to poll, default an hour).

    The inputs that matter

    • mode - cover restyles everything; repaint touches only repaint_start to repaint_end (set repaint_end to -1 for "to the end").
    • style_prompt - describe the target genre, instrumentation, mood. This is where your actual creativity goes.
    • lyrics / instrumental - flip instrumental on and lyrics is ignored (the node literally sends "[Instrumental]").
    • audio_cover_strength - how hard the source performance steers the cover; higher keeps more of the original.
    • seed - -1 lets ACE-Step pick; set a real value to compare runs.
    • output_format - default flac is lossless and uses ACE-Step's built-in path; mp3 is smaller but demands ffmpeg inside the API runtime.

    The rest - inference_steps (8), guidance_scale (7), infer_method (ode/sde), shift (3) - are standard diffusion dials. Leave them alone until you're chasing a specific recipe.

    Outputs are output_reference, a portable path string like lf-workflow-runner/ace-step/<hex>.flac [output] you can hand to downstream nodes, and a receipt JSON with the task id, source reference, controls, byte size, and sha256.

    Installing it

    The node itself is one of ~138 in the LF Nodes pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/lucafoscili/lf-nodes.git
    

    …then restart ComfyUI (or use ComfyUI Manager and search "LF Nodes"). Manager handles requirements.txt for you; a manual clone needs pip install -r requirements.txt. One pack-level gotcha: the repo was rewritten and the old one archived in late 2025 - if you cloned the previous location, reinstall from lucafoscili/lf-nodes.

    The real install is the server. Point it at an ACE-Step HTTP API on port 8001, confirm curl http://127.0.0.1:8001/... answers, then run the node.

    Where people get burned

    • Connection refused on every run - the ACE-Step server isn't up. It's opt-in; nothing in this pack starts it.
    • Long waits with no result - raise LF_ACESTEP_TIMEOUT_SECONDS (capped at 24h) or lower inference_steps.
    • mp3 failing while flac works - ffmpeg missing on the server side, not in ComfyUI.
    • Expecting sung vocals - ACE-Step itself is the limit; write instrumental or keep lyrics short.

    If you already run ACE-Step locally, this node is a tidy way to drive covers and repaints from inside a ComfyUI pipeline without hand-rolling the API calls.

    Category✨ LF Nodes/IO Operations

    Inputs (15)

    NameTypeDefaultDescription
    source_audioSTRINGOne audio file inside ComfyUI input, temp, or output; upload/select it upstream.
    modeCOMBOcoverCover restyles the whole source; repaint changes only the selected time range.
    style_promptSTRINGDescribe the target genre, instrumentation, voice, mood, and production style.
    lyricsSTRINGLyrics to guide the result; ignored when instrumental is enabled.
    instrumentalBOOLEANfalseGenerate music without sung lyrics.
    audio_cover_strengthFLOAT1.000–1How strongly the source performance guides the cover; higher keeps more of it.
    cover_noise_strengthFLOAT0.200–1Variation injected before generation; higher can change the source more.
    repaint_startFLOAT0.00–86400Start of the repaint interval in seconds.
    repaint_endFLOAT-1.0-1–86400End of the repaint interval in seconds; -1 means the end of the source.
    seedINT-1-1–9223372036854776000Reuse a seed for comparison; -1 asks ACE-Step to choose one.
    inference_stepsINT81–200Denoising passes; more may refine the result but take longer.
    guidance_scaleFLOAT7.00–100How strongly the result follows the text guidance.
    infer_methodCOMBOodeACE-Step integration method: ODE is the usual deterministic choice; SDE adds stochasticity.
    shiftFLOAT3.01–5ACE-Step timestep shift; keep the default unless testing a known recipe.
    output_formatCOMBOflacSaved audio format. FLAC is lossless; MP3 is smaller and requires ffmpeg in the API runtime.

    Outputs (2)

    NameTypeDescription
    output_referenceSTRINGPortable path below ComfyUI output; a playable audio artifact is also returned in the UI.
    receiptJSONJSON receipt for the submitted job and downloaded output.