Nodes/SpicyAPI/MiniMax Music 3.0 · Text to Music
ComfyUI Node

MiniMax Music 3.0 · Text to Music

A Finished Song for Eighteen Cents, Vocals Included

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
MiniMax Music 3.0 · Text to Music
    • audio
    • task id
    ◄prompt►
    ◄lyrics►
    ◄generate_lyricstrue►
    ◄instrumentalfalse►
    ◄bitrate256 kbps►
    ◄sample_rate44100►
    ◄seed0►

    Song generation is the job the open ecosystem never really won. The KB's audio survey says it plainly: local closed the cloning gap and the music gap, but the API still takes the two jobs where reliability matters most, and best-in-class song generation is one of them. This node is the honest version of that trade - a style prompt in, a stereo MP3 with vocals and backing out, $0.18 per run.

    What it does

    MiniMax Music 3.0 is the song-generation model from the lab behind Hailuo video and the MiniMax Speech line. Give it a style brief and lyrics and you get a finished arrangement; leave the lyrics empty with generate_lyrics on and it writes them for you. Songs ran about one to four minutes in testing, which is a real song rather than a loop.

    For $0.18 a shot, the sensible way to use it is iteratively: you're generating options, not a finished master. Which is exactly how it differs from the local route. You could run ACE-Step for free on your own card and iterate forever, and plenty of people do; you'd be trading that for setup, VRAM and a quality ceiling. When you just want a chorus for a video, the metered call is not a bad deal.

    The inputs that matter

    • prompt (required) - the style brief. Genre, mood, tempo, instruments, kind of voice. This is the arrangement knob; don't waste it on a genre word.
    • lyrics - one line per row. Section tags on their own rows - [Verse], [Chorus], [Bridge] - shape the structure, which is the single most useful trick on this node. Lyrics you send are sung as written; the model doesn't tidy them up.
    • generate_lyrics - on by default, and only does anything when lyrics is empty. If you've written your own, this is inert.
    • instrumental - off by default. Turn it on for music with no vocals; lyrics aren't needed then.
    • bitrate (default 256 kbps) and sample_rate (default 44100) - MP3 output settings. Most people never touch them.

    Outputs are audio and task id. The audio output is a ComfyUI AUDIO, so a Save Audio node writes it. The node's own tooltip warns that several results can come back as a batch, in which case Save Audio writes one file per result - check your output folder before assuming a failed second run.

    How this pack runs it

    Inputs are generated from the model's published schema, so the widgets are exactly the API's parameters. On Run the node takes a quote, creates a task with an idempotency key (so a retried request can't bill you twice), polls while reporting progress on the node, downloads the MP3 into an audio batch and prints the final charge. There are no model files to fetch; nothing runs on your machine.

    Installing it

    ComfyUI Manager → SpicyAPI → install → restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/spicyapi-ai/comfyui-spicyapi
    

    Then restart ComfyUI, open Settings > SpicyAPI, paste a key from spicyapi.ai/console/keys, and restart once so the node list is rebuilt from your account catalogue. Nothing else to install: the pack ships no Python dependencies and uses ComfyUI's own aiohttp, torch and PyAV. A headless install can use SPICY_API_KEY instead of the settings field.

    What to watch for

    Each run is a flat $0.18, and a "one more variation" session gets to five dollars faster than you'd think - set Max cost per run in Settings > SpicyAPI and the node will refuse anything above your ceiling before a task is created. There's no seed on this node, so re-running gives you a different song rather than a repeat; queue deliberately. If you cancel mid-generation, the job keeps running server-side, is charged if it completes, and the result is available in your console for up to 14 days. And a content_rejected result means the model declined - nothing charged, and nothing you can do about it from the node side.

    CategorySpicyAPI/Audio/MiniMax

    Inputs (7)

    NameTypeDefaultDescription
    promptSTRINGStyle brief for the song: genre, mood, tempo, instruments and the kind of voice. The words to sing go in lyrics.
    lyricsSTRINGWords to sing, one line per row. Section tags such as [Verse], [Chorus] and [Bridge] on their own rows shape the arrangement.
    generate_lyricsBOOLEANtrueWrite lyrics from the prompt when lyrics is empty. Lyrics you send are sung as written.
    instrumentalBOOLEANfalseGenerate music with no vocals; lyrics are not needed.
    bitrateCOMBO256 kbpsMP3 bitrate in bits per second.
    sample_rateCOMBO44100Sample rate in Hz.
    seedINT00–2147483647This model takes no seed, so the number is never sent. Changing it makes ComfyUI run the node again: set 'control after generate' to randomize for a new result on every run; every run is billed.

    Outputs (2)

    NameTypeDescription
    audioAUDIOSeveral results come back as a batch; Save Audio writes one file each.
    task idSTRINGThe SpicyAPI task id, for the console logs or support.