Nodes/ComfyUI-VisionPromptAssistant/MiniMax Music 3 — Director Musical Compacto
ComfyUI Node

MiniMax Music 3 — Director Musical Compacto

Turn \"sad synthwave about leaving\" into a production brief

By elgalardi·Created about a month ago·Updated about 15 hours ago· 1
MiniMax Music 3 — Director Musical Compacto
  • llm
  • caption
  • lyrics
  • max_duration
  • status
request
lyrics
instrumentalfalse
max_duration60
seed0
max_tokens3072
temperature0.65

What it is

The music sibling of the compact H3 director, and the odd one out in this pack - the author's own README calls it "retained for later music testing." You give it a plain-language request; an LLM turns that into a proper production brief plus lyrics, sized to a duration you specify.

It does not generate audio. It writes the two things a music model wants: a caption (genre, groove, tempo, vocal character, and a section-by-section arrangement plan) and a set of lyrics, then hands both to whatever node actually renders sound. This is the same job the video director does for H3, just for MiniMax's music line - and it's the same shape of tool that ACE-Step users reach for when they want more than "dreamy synthwave, 120bpm".

How it works

Internally it's a composer brief. The system prompt tells the model to write a coherent composition rather than a list of adjectives, to respect any genre, tempo, instruments or language you specified, to make reasonable creative choices where you left gaps, and to keep the caption in the 250–450 word range. The response has to be strict JSON with exactly four keys - global_metadata, vocal_details, arrangement, lyrics - and the node then assembles the first three into a labelled caption while passing the lyrics through untouched.

The lyrics handling is the good part, and it's the reason to prefer this node over just asking a chatbot. It refuses to let the model rewrite your words. If you supply lyrics with [Verse]/[Chorus] tags, they come back exactly as written. If you supply unstructured lyrics, it compares the model's version against yours word by word, ignoring section tags, and if they don't match it errors out with "Music director changed supplied lyrics" - refusing to send altered lyrics downstream. For instrumental mode it goes further: lyrics are forced empty and the vocal direction is replaced with an explicit "no vocals, singing, humming, speech, choir or vocal samples" line, and the instruments carry all melodic roles.

Inputs and outputs

  • llm - required, same LLMMODEL type as the H3 director's provider input.
  • request - the plain-language brief. Style, emotion, voice, instruments, language. Empty → error.
  • lyrics - optional. Empty means "write me original lyrics"; text means "keep my words and my structure."
  • instrumental - overrides everything vocal.
  • max_duration - 1 to 300 seconds, default 60. The system prompt is explicit that this is an upper bound, not a promise of exact timing.
  • seed, max_tokens (3072), temperature (0.65, up to 2).

Outputs: caption (the production brief, section-labelled), lyrics (yours or newly written), max_duration (a straight passthrough so your generation node stays in sync with what the brief was written for), and status - a one-line human report like "Instrumental: letra ignorada; sin voces." or "Letra del usuario conservada."

Wire caption to your music node's caption/style field, lyrics to its lyrics field, max_duration to its duration input, and status to a preview text node so you can see at a glance whether you got instrumental output or your own words back.

Install and wiring

cd ComfyUI/custom_nodes
git clone https://github.com/elgalardi/ComfyUI-VisionPromptAssistant
# restart; or ComfyUI Manager → "Vision Prompt Assistant"

No dependencies, no model downloads, ComfyUI 0.30+. Provider first, though: it needs an LLMMODEL, so drop in one of the pack's loaders (OpenRouter, Ollama, chat API, or local Qwen3-VL) and connect llm_modelllm.

Common issues

The error messages and the UI speak Spanish. The display name is "MiniMax Music 3 - Director Musical Compacto", two tooltips are Spanish, and so are the status strings and the empty-request error ("Escribe una petición musical antes de ejecutar el director."). The caption and lyrics it produces are English production direction and your chosen language respectively - it's only the surrounding chatter that's localized.

"Music director response was truncated." The model hit max_tokens mid-answer. Raise max_tokens or shorten the request.

A lyrics mismatch error. You supplied lyrics, the model paraphrased them, and the node refused. Add section tags to your lyrics ([Intro], [Verse], [Chorus]) and they'll be returned verbatim; unstructured lyrics are the case that gets compared word for word. This is a guardrail, not a bug.

The caption doesn't fit your generator. Be realistic about what you're holding: this is a brief written for MiniMax Music 3, with Global Metadata: / Vocal Details: / Arrangement: labels. ACE-Step or Stable Audio will take the text, but check what their prompt field actually expects before wiring it blind. And there is no independent community track record for this node or for MiniMax Music 3 in general - the lab's music line has historically been its least documented, and essentially nobody in the public ComfyUI threads is running this path yet. Treat it as a well-built prompt front-end with a thin evidence base, which is roughly how its own author labels it.

Categorytext/minimax_music

Inputs (8)

NameTypeDefaultDescription
llmLLMMODEL
requestSTRINGPetición musical simple: estilo, emoción, voz, instrumentos e idioma.
lyricsSTRINGLetra opcional. Vacía: crea letra original. Con texto: conserva tus palabras y estructura.
instrumentalBOOLEANfalse
max_durationFLOAT601–300
seedINT00–18446744073709550000
max_tokensINT3072256–8192
temperatureFLOAT0.650–2

Outputs (4)

NameTypeDescription
captionSTRING
lyricsSTRING
max_durationFLOAT
statusSTRING