Nodes/ComfyUI-ACEStep/🎵 ACE-Step 1.5XL Prompt + Lyrics
ComfyUI Node

🎵 ACE-Step 1.5XL Prompt + Lyrics

The node that just holds your tags and lyrics

By starsFriday·Created 4 months ago·Updated 4 months ago· 4
🎵 ACE-Step 1.5XL Prompt + Lyrics
    • tags
    • lyrics
    â—„tagsromantic, moonlight, night city, love ballad, dreamy, sentimental, tender vocals, soft piano, gentle guitar, warm pads, slow tempo, atmospheric, intimate, emotional, cinematicâ–º
    â—„lyrics[verse] Silver moonlight on your face Turns this crowded world to lace Every shadow softens down When your hand is what I've found [chorus] Stay with me beneath the moon Let it paint our love in blue Hold me close, don't let it end In this light we start againâ–º

    This is the most honest node in the pack: it doesn't compute anything. Prompt + Lyrics is a passthrough - two text boxes in, the same two strings out. Its whole job is to be a tidy place to keep your tags and lyrics in one spot, then fan them out to the nodes that actually use them.

    Why would you want that? In an ACE-Step 1.5 XL workflow your tags (the comma-separated style list: "romantic, moonlight, night city, love ballad…") and your lyrics (with [verse] / [chorus] section markers) get consumed by the Text Encode node. If you're iterating on a song - and you will be, a lot - editing two boxes in one node beats digging through a text encoder's widget list every time. It also means the same prompt can feed a Text Encode for generation and a reference node or a summary note without you retyping it. Pure graph plumbing, in the best ComfyUI tradition.

    How it works

    The class does exactly one thing: strips surrounding whitespace off both strings and hands them back. There's no model involved, no encoding, no hidden sampling. If you're comparing it to the other ACE-Step helper packs floating around, this is the one that assumes the text encoder sits elsewhere in your graph and you just need a clean, editable source of truth.

    The inputs and outputs

    • tags - the style prompt, one big multiline field. The default is a complete, usable starting point ("romantic, moonlight, night city, love ballad…"), so you can run your first generation with zero edits.
    • lyrics - the song text, formatted with [verse] / [chorus] blocks. ACE-Step parses those section markers, so keep the format and it'll behave.

    Both come out as plain strings named tags and lyrics, ready to wire into ACE-Step 1.5XL Text Encode (or the TTS-like prompt node's outputs, depending on your setup). If you're doing a pure instrumental, leave the lyrics box empty and let the tags carry the song.

    Install

    Grab the pack through ComfyUI Manager (search "ComfyUI-ACEStep") or clone it:

    cd ComfyUI/custom_nodes
    git clone https://github.com/starsFriday/ComfyUI-ACEStep.git
    

    then restart ComfyUI. The pack has no pip dependencies of its own - it's a thin layer over ComfyUI's built-in ACE-Step 1.5 support. The heavy lifting is the model files (the acestep_v1.5_xl_turbo_bf16.safetensors diffusion model, a qwen_0.6b_ace15/qwen_4b_ace15 text encoder, and ace_1.5_vae.safetensors), which come from the ACE-Step 1.5 repo, not from this pack.

    Gotchas

    The only real trap is expecting more from it than it is. It doesn't generate lyrics, doesn't style your prompt, and doesn't validate that your lyrics match the language you told the text encoder. It's a glorified text holder - and once you accept that, it's the node you reach for to keep a song's "brain" editable. Pair it with the TTS-like prompt node when you want a script turned into lyrics automatically, and you won't miss the bigger, fiddlier prompt packs.

    Categoryaudio/ACE-Step 1.5 XL

    Inputs (2)

    NameTypeDefaultDescription
    tagsSTRINGromantic, moonlight, night city, love ballad, dreamy, sentimental, tender vocals, soft piano, gentle guitar, warm pads, slow tempo, atmospheric, intimate, emotional, cinematic—
    lyricsSTRING[verse] Silver moonlight on your face Turns this crowded world to lace Every shadow softens down When your hand is what I've found [chorus] Stay with me beneath the moon Let it paint our love in blue Hold me close, don't let it end In this light we start again—

    Outputs (2)

    NameTypeDescription
    tagsSTRING—
    lyricsSTRING—