Production choices · YuE2 / MiniMax
The Four Switches at the Top That Decide What Your GPU Actually Does
- profile_json
- model_id
- model_name
- system_prompt_file
- prompt_token_budget
- max_duration
- duration_ceiling
- info
- cover_enabled
- refinement_enabled
- mastering_enabled
MusicProductionControl is the CHOOSE box in the production workflow - the node the pack's own instructions tell you to start with. It looks like a copy of the model selector because it is one: it inherits that node's entire output set, then adds three booleans and a stage record on top. Four widgets, and between them they decide which engine runs, whether restoration runs, whether mastering runs, and whether you're paying for album art.
The four choices
model - MiniMax Music 3, YuE2, or YuE2 Cover. It defaults to YuE2 here, which is the workflow's intended path, even though the plain model-profile node defaults to MiniMax. It switches the generator, the prompt family, the system-prompt file and the active settings group in one move.
cover_enabled (on) - artwork. Not the song-cover feature; the album art. Off skips the image branch, the cover file, and the FLUX.2 model check and its downloads.
refinement (dropdown: Model default, On, Off) - the restoration chain: de-clipping, filtering, FlashSR, crossover and HF repair, including the FlashSR weight downloads. Model default resolves to off for YuE2 and on for MiniMax, which is the single most opinionated thing in the pack. YuE2's default path skips the whole Restore section and goes straight to mastering; that's faster and it doesn't spend VRAM on restoration models a clean generation may not need.
mastering_enabled (on) - Auto-EQ, the manual eight-band EQ, sample-rate preparation and the compressor/limiter. Independent of refinement.
What it outputs
The profile group comes through unchanged: profile_json, model_id, model_name, system_prompt_file, prompt_token_budget, max_duration, duration_ceiling and an info line that now also states the effective cover, refinement and mastering choices. Then the three booleans: cover_enabled, refinement_enabled, mastering_enabled. The profile_json payload gains a production_stages block recording the choices, so the production JSON can say what was on.
Wiring splits cleanly. The profile and its scalars go to the prompt/settings/model-check nodes - and note that the refinement boolean is already resolved: you get a plain true/false, not "Model default," which is what the MusicOptionalStage gates and the FlashSR branch can consume directly. cover_enabled goes to the artwork branch and the conditional preview. refinement_enabled and mastering_enabled each go to their own stage gate.
Picking an engine, briefly
MiniMax Music 3 takes a long production caption plus sectioned lyrics and is the friendlier default on modest hardware: a 300-second default, a 360-second ceiling, and refinement on. YuE2 plans an ABC score before synthesis, goes to 900 seconds, and asks for a synchronized Style/Lyrics arrangement - more setup, more control, more minutes per song.
Set expectations against the wider field rather than the pack's marketing. The open music situation in this community has a clear incumbent: ACE-Step, which runs on a 4 GB card, is strong on instrumentals and weak on vocals, and answers the exact question "how do I generate a song in ComfyUI" for most people. When someone showed up in February 2026 with YuE generating 90 seconds of silence in ComfyUI on a 32 GB card, the advice was "just use ace step... leagues better, runs natively in comfy." This toolkit is the other road: heavier models, a full production pipeline with mastering and artwork, and a much thinner community track record. If you have the VRAM and you want the pipeline, it's here. If you have 8 GB, start elsewhere.
Install
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 the browser, then reopen the bundled workflow rather than an older saved copy - the gates, the labels and the cover nodes are part of the graph's shape.
Flip the widget, don't mute the node
The one mistake worth calling out: this node has no inputs. Bypass it and there's nothing to pass through, so the booleans simply aren't produced and every gate downstream loses its switch. Turn the widgets off instead - that's what they're for. And if a run comes back with no artwork, no restoration and an unmastered file, check these four before you check anything in the audio branch.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | YuE2 | Select the actual song generator and matching prompt family. YuE2 is the default in the dual-model workflow. |
| cover_enabled | BOOLEAN | true | On creates and previews cover artwork. Off skips the image branch and its FLUX.2 model check/download. |
| refinement | COMBO | Model default | Model default means OFF for YuE2 and ON for MiniMax. On/Off override that choice. Controls declipping, filtering, FlashSR, crossover and HF repair, including FlashSR model downloads. |
| mastering_enabled | BOOLEAN | true | On runs Auto-EQ, manual EQ, sample-rate preparation and mastering compression. Off passes incoming audio through at its existing sample rate. Independent of Refinement. |
Outputs (11)
| Name | Type | Description |
|---|---|---|
| profile_json | STRING | — |
| model_id | STRING | — |
| model_name | STRING | — |
| system_prompt_file | STRING | — |
| prompt_token_budget | INT | — |
| max_duration | FLOAT | — |
| duration_ceiling | FLOAT | — |
| info | STRING | — |
| cover_enabled | BOOLEAN | — |
| refinement_enabled | BOOLEAN | — |
| mastering_enabled | BOOLEAN | — |