Cover preview · follows production choice
A Preview Node That Stops Its Own Upstream From Ever Running
- images
- images
Most preview nodes in ComfyUI are where a graph's work goes to be shown. MusicOptionalCoverPreview is unusual: it's where work gets cancelled. Flip its switch off and the artwork doesn't render at all - no FLUX.2 pass, no model check, no download. That's a real saving on a workflow where the image branch costs more VRAM than the music does.
Two inputs. images is the generated artwork, and enabled is a boolean you wire from the central production choices node. One output, images, passed straight through - so if some other node downstream still wants the artwork, you can keep the wire alive.
Why it can skip the render
The magic is laziness. The images socket is marked lazy, and the node implements a lazy-status check: when enabled is false it never asks the engine for images and never asks upstream for its dependencies either. ComfyUI executes what an output node demands and nothing else, so a preview that declares "I don't need the image this run" pulls the entire FLUX branch out of the execution graph. When enabled is true it hands the image to core PreviewImage (saved with a MusicToolkit prefix) and returns the image unchanged.
That is a genuinely better design than the alternative most people build by hand, which is to mute a node and hope. If any ordinary PreviewImage or SaveImage is connected anywhere inside the artwork branch, the branch runs regardless of the switch, because output nodes always execute and the engine anchors on them. The toolkit's docs say it plainly: avoid dropping extra output or preview nodes inside a stage you want to be skippable. Same rule applies here, and to the audio stages.
Wiring it
In the bundled workflow enabled comes from cover_enabled on the production control node - the switch labelled Cover in CHOOSE, which defaults to On and is independent of the YuE2 Cover song mode. Two similar-sounding things: covering a song is one decision, generating album art is another. You can absolutely make a cover version with no artwork, or generate artwork for a song you wrote from scratch.
When it's off, the artwork switch also skips the FLUX.2 model check and the associated downloads - the Klein 4B diffusion model, a Qwen 3 4B text encoder and the Flux 2 VAE, which are not small. If those aren't installed and you don't intend to make covers, leaving the switch off is the difference between a queued run and a download prompt.
Install
Nothing node-specific. Same pack, same steps:
cd ComfyUI/custom_nodes
git clone https://github.com/jplenio/ComfyUI-MiniMax-Music-Production-Toolkit.git
cd ComfyUI-MiniMax-Music-Production-Toolkit
python -m pip install -r requirements.txt # same Python as ComfyUI
Restart and hard-refresh. If you're on a 16 GB card and chasing a VRAM problem on the MiniMax side, switch the cover off for that test - it's the documented way to isolate which model is actually eating your memory.
Two things that surprise people
The node returns its input image rather than only previewing it, so wiring images onward does not break the switch. What breaks the switch is the extra output node somewhere in between.
And when disabled, the node reports an empty image list to the UI rather than an error. A run that finishes with no artwork and no complaint is the switch working, not the artwork failing. If you expected covers and got none, look at the boolean wire before you look at the sampler.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | Generated artwork. Requested only while cover creation is enabled. | |
| enabled | BOOLEAN | Connect the central cover Boolean to skip rendering and clear the preview when disabled. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |