Structured Song Prompt Source (Folder / Manual)
The folder/manual prompt source for when you skip the LLM entirely
- caption
- lyrics
- title
- image_prompt
- source_name
- generation_seed
- run_index
- variant_count
- source_path
- prompt_origin
- prompt_provenance_json
The toolkit's node list has two "prompt source" nodes that look nearly identical, and it's worth knowing which is which before you wire your graph. MiniMax Prompt Batch Loader is the audio-only loader. This one - Structured Song Prompt Source (Folder / Manual) - is the fuller-structured variant that also emits the artwork image_prompt, plus the full provenance trail (prompt_origin, prompt_provenance_json, variant_count). It's the node you use when you want file-driven or manual batches and a cover-art branch, but no LLM in the loop.
The tooltip is refreshingly honest about its status: "This legacy/source node does not call an LLM itself; it remains available for structured file/manual workflows and backward compatibility." So if you're starting fresh and want an LLM in the pipeline, the template + parser pair is the modern path. If you're running a deterministic file-based production chain, this node is the right shape.
Inputs
source_mode flips between folder and manual (default manual). Folder mode uses prompt_directory, extensions (.txt,.prompt,.md), and recursive. Manual mode uses manual_title, manual_caption, manual_lyrics, and - the bit the audio loader lacks - manual_image_prompt, a positive-only prompt for the cover. Keep it text/logofree if you want a text-free album cover, matching the system prompt's strict [Image_Prompt] rules.
Shared batch controls: song_count, seed_mode (random_each_song vs increment_from_base), and base_seed.
Outputs
All lists: caption, lyrics, title, image_prompt, source_name, generation_seed, run_index, variant_count, source_path, prompt_origin, prompt_provenance_json. The provenance pair is the differentiator - it records where each prompt came from (manual, file, or LLM) so the sidecar can audit the whole chain.
Installing it
Pack install via ComfyUI Manager (search "MiniMax Music Production Toolkit") or:
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
Dependencies: scipy, soundfile, imageio-ffmpeg, mutagen, Pillow. Restart ComfyUI and hard-refresh once.
Gotchas
Same filesystem rules as every loader in this pack: directories are relative to the ComfyUI server, and unlisted extensions are skipped silently. The real decision, though, is architectural: if you're also running an LLM, don't stack this node under it - the parser already emits image_prompt and provenance. Use this node for the LLM-free branch, and keep your graph from having two sources for the same field, or you'll be debugging which one actually won.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| source_mode | COMBO | manual | Choose folder to parse structured prompt files or manual to use the fields entered in this node. This legacy/source node does not call an LLM itself; it remains available for structured file/manual workflows and backward compatibility. |
| song_count | INT | 11–100 | Number of song variants to emit from the selected source. Higher values repeat the downstream workflow for additional variants and therefore increase total generation time. |
| seed_mode | COMBO | random_each_song | Controls how generation seeds are created for multiple songs. random_each_song chooses a fresh seed per item; increment_from_base produces reproducible sequential seeds starting from base_seed. |
| base_seed | INT | 10–9223372036854776000 | Base integer used when deterministic/incrementing seed generation is selected. With random_each_song it is not the source of the random values; with increment_from_base each variant is derived from this value. |
| prompt_directory | STRING | Directory containing prompt files for folder mode. Files are read according to the configured extensions and recursive setting. | |
| extensions | STRING | .txt,.prompt,.md | Comma-separated filename extensions accepted in folder mode, for example .txt,.prompt,.md. Other files are ignored. |
| recursive | BOOLEAN | false | When enabled, prompt files are also discovered in subfolders below prompt_directory. Disable it to process only files directly inside the selected folder. |
| manual_title | STRING | manual-song | Fallback/manual song title used in manual source mode. It may later be replaced by an LLM-generated title depending on the workflow branch. |
| manual_caption | STRING | Manual MiniMax Music caption used when manual source mode is selected. Put musical/production instructions here, not structural Lyrics tags. | |
| manual_lyrics | STRING | Manual MiniMax Music Lyrics field. Use supported section tags and lyric text only; instrumental tracks should contain structural tags rather than prose production instructions. | |
| manual_image_prompt | STRING | Manual positive image prompt used for artwork in manual mode. Describe concrete visual content; avoid text/logos when you want a text-free album cover. |
Outputs (11)
| Name | Type | Description |
|---|---|---|
| caption | STRING | — |
| lyrics | STRING | — |
| title | STRING | — |
| image_prompt | STRING | — |
| source_name | STRING | — |
| generation_seed | INT | — |
| run_index | INT | — |
| variant_count | INT | — |
| source_path | STRING | — |
| prompt_origin | STRING | — |
| prompt_provenance_json | STRING | — |