Lyrics Clean (legacy)
It's in your old workflow, it isn't in your menu
- lyrics
- title
MiniMaxLyricsClean is SongLyricsClean wearing an old name. Same input, same outputs, same code, one difference: it's flagged deprecated, which means it's deliberately hidden from the node search menu while still resolving when a workflow asks for it.
Why a node you can't add exists
The pack was called ComfyUI-MiniMaxLRC until it was renamed to ComfyUI-SongLRC. A ComfyUI workflow JSON doesn't store node labels, it stores class keys - so every song graph ever shared while the pack was called MiniMaxLRC has MiniMaxLyricsClean baked into it. Delete that key and every one of those graphs loads as a red "missing node" box next to a pile of disconnected wires, which is the single most common way a shared workflow fails on someone else's machine.
So the pack registers the four old names as aliases pointing at the new classes:
("MiniMaxLyricsClean", "SongLyricsClean"),
("MiniMaxSongFilename", "SongFilename"),
("MiniMaxLyricsToLRC", "SongLyricsToLRC"),
("MiniMaxSaveMatchingLRC", "SongSaveMatchingLRC"),
They're real subclasses of the new nodes with a DEPRECATED flag, which is what hides them from the right-click search list while keeping them loadable. Its display name in a loaded graph is "Lyrics Clean (legacy)".
What it does
Exactly what Lyrics Clean does - that's not a cop-out, it's literally the same inherited implementation. One multiline text input; outputs lyrics and title. It strips Title:/Artist:/Genre: lines and markdown, canonicalises [VERSE 1 - x2] to [verse], keeps recognised section tags and drops unknown ones, removes old timestamps if you paste an existing .lrc, and falls back to deriving a title from your most-repeated hook line when no title line exists.
Wire lyrics to both your song model and Lyrics to LRC, and title to Song Filename. Same as the modern node.
What to do about it
If you load a workflow and see (legacy) in the node title, nothing is broken and you lose nothing by running it. But there are three good reasons to swap it:
- Right-click the node → Fix node (recreate). The modern equivalent replaces it; output names match (
lyrics,title), so the downstream wires reconnect themselves. - You can't add a new legacy node by searching for it - that's the point of the flag. If you delete one by accident, you're re-adding "Lyrics Clean", not "MiniMaxLyricsClean".
- Legacy nodes won't get future fields. The pack is at 1.1.0 and the active classes are the ones moving.
Install, and the one real trap
Manager → search ComfyUI-SongLRC. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/TheAwaken1/ComfyUI-SongLRC
pip install -r ComfyUI-SongLRC/requirements.txt
Then delete your old ComfyUI-MiniMaxLRC folder. This matters: both packs register the same class names, so leaving both installed means two packs claiming MiniMaxLyricsClean and a startup log full of duplicate-registration warnings. Update the workflow, then bin the old pack - not the other way round, or your graphs go red first.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Paste lyrics here, or connect a text generator. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| lyrics | STRING | — |
| title | STRING | — |