ComfyUI Node

MiniMax Metadata Loader

Replaying a saved song's exact settings from its JSON sidecar

By jplenio·Created about 16 hours ago·Updated about 15 hours ago· 0
MiniMax Metadata Loader
    • title
    • caption
    • lyrics
    • image_prompt
    • max_duration
    • generation_seed
    • text_seed
    • text_cfg_scale
    • text_top_k
    • ksampler_seed
    • ksampler_steps
    • ksampler_cfg
    • sampler_name
    • scheduler
    • denoise
    • pre_preset
    • post_preset
    • metadata_json
    metadata_file

    The reverse half of the reproducibility story. MiniMax Song Metadata writes a complete JSON sidecar next to every saved track - prompts, seeds, MiniMax settings, filter and repair and release parameters. MiniMax Metadata Loader reads one of those sidecars back and spits out every compatible field as individual typed outputs, so you can inspect what a track was made with, or reconstruct the exact generation setup that produced it.

    It's the "load a recipe" node. Point it at a saved sidecar and you get back the song's title, caption, lyrics and image prompt as STRINGs; max_duration, generation_seed, text_seed, text_cfg_scale, text_top_k for the MiniMax stage; ksampler_seed, ksampler_steps, ksampler_cfg, sampler_name, scheduler, denoise for the sampler; and the pre_preset / post_preset filter choices. Plus metadata_json - the whole thing as one STRING, in case you just want to pass the sidecar along without unwrapping it.

    How it works

    Input is a single STRING: metadata_file, the path to the sidecar JSON. The node reads compatible fields and emits them all at once. Outputs that aren't present in the file presumably come back empty or defaulted - the practical use is a "duplicate this exact song" workflow: load the sidecar, wire the outputs back into the generation settings and the metadata nodes, change the seed, re-render. That's the pattern this pack's reproducibility story is built for.

    Where it fits

    In the example workflow it's the lazy-load path: instead of retyping a title and caption to re-master an old track, you load its sidecar and the whole chain lights up with the original values. It also pairs with MiniMax Song Metadata the way a save and a load should - one writes the JSON, the other reads it.

    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

    The obvious trap is pointing it at a sidecar that doesn't exist or was written by an older toolkit version - if fields are missing, the downstream nodes just get empty values, and ComfyUI doesn't always make that obvious. The README's "No link found in parent graph" message is a different, workflow-serialization issue (fixed in v1.0.1) - don't confuse a missing-model error with a loader problem. And remember this node is a loader: it reads paths you give it from the filesystem, so keep the sidecar on the machine running ComfyUI, same rule as the prompt library.

    CategoryMiniMax Music Production Toolkit/metadata

    Inputs (1)

    NameTypeDefaultDescription
    metadata_fileSTRINGPath to a previously saved song sidecar JSON. The loader reads compatible generation/settings fields from this file so a configuration can be inspected or reused.

    Outputs (18)

    NameTypeDescription
    titleSTRING
    captionSTRING
    lyricsSTRING
    image_promptSTRING
    max_durationFLOAT
    generation_seedINT
    text_seedINT
    text_cfg_scaleFLOAT
    text_top_kINT
    ksampler_seedINT
    ksampler_stepsINT
    ksampler_cfgFLOAT
    sampler_nameSTRING
    schedulerSTRING
    denoiseFLOAT
    pre_presetSTRING
    post_presetSTRING
    metadata_jsonSTRING