Nodes/ComfyUI/Empty MiniMax Music3 Latent Audio
ComfyUI Node Runs on cloud

Empty MiniMax Music3 Latent Audio

The 2-input node that starts every MiniMax Music3 song

By Comfy-Org·Created 4 years ago·Updated about 15 hours ago· 131,671
Empty MiniMax Music3 Latent Audio
    • LATENT
    seconds120.00
    batch_size1

    Empty MiniMax Music3 Latent Audio is the blank canvas for MiniMax Music3 (also called Audio-1), ComfyUI's music generation model. It's the audio cousin of EmptyLatentImage - one FLOAT for how long, one INT for how many, and out pops a correctly-sized latent. But where EmptyLatentImage is one of several ways into an image workflow, this node is effectively the only door in: MiniMax Music3's decoder is decode-only, so there's no VAEEncode that will ever hand you a usable Music3 latent. You start here or you don't start.

    The node shipped inside nodes_minimax_music.py in August 2026 with the "Implement Minimax Music 3" PR, so if you're on a current ComfyUI it's already in your node list - nothing to install.

    How it works

    Under the hood it's embarrassingly simple: it takes your seconds, converts to "audio frames" at 25 frames per second, and builds a zero-filled tensor. The shape is (batch_size, 128, latent_length), where 128 is the model's latent channel count and latent_length is a compression of your duration - the latent is time-compressed 512x, so one latent position represents roughly 11.6 ms of audio. For the default 120 seconds you get a latent about 10,335 tokens long.

    The resulting tensor is tagged with "type": "audio" and downscale_ratio_temporal: 512, which is how downstream nodes know they're holding audio rather than image latents. Music and video latents in ComfyUI are always this heavily compressed - LTX-2's audio latent is compressed even harder (1764x). None of that is your problem here; you just feed the thing to a sampler.

    The two inputs, and the output

    That's the whole input list, so let's not oversell it:

    • seconds - target duration, default 120, clamped to 0.04–360. It's rounded to the nearest audio frame, so you might get 119.96 instead of 120; nobody notices. Note that this is a maximum: Music3 can end a song early, because the conditioning encoder carries the same max-duration cap.
    • batch_size - how many simultaneous songs. Default 1. The schema technically allows up to 4096, but each sample is a full song in a 128-channel latent; the VRAM budget will tell you your real ceiling long before 4096 does.

    The single LATENT output plugs into the latent input of a KSampler (or the guided samplers). The standard Music3 graph is: Load Checkpoint → MiniMax Music3 Text Encode (caption, lyrics, seed) → conditioning into the sampler's positive input, Empty MiniMax Music3 Latent Audio → latent, then VAEDecodeAudioSaveAudio on the other side.

    Model files

    The MiniMax Music3 checkpoint is a single .safetensors containing the DiT, the CLIP, and the audio decoder (the "DAV") bundled together - there's no separate VAE download, so plain Load Checkpoint is all you need. It goes in ComfyUI/models/checkpoints. ComfyUI detects it automatically by its state-dict keys.

    Gotchas

    The most common beginner trip-ups are conceptual rather than mechanical. First: the latent starts empty, not noisy - KSampler adds the noise from your seed, so don't reach for a noise-injection node. Second: don't hunt for a Music3 VAEEncode. The decode-only design is deliberate, so you can't condition on existing audio through this latent space. Third: keep the sampler settings in the model's lane - Music3 is a flow-matching model with a gentle default CFG (1.5) and a top_k of 50 set by the text encoder. Crank CFG up like you would for SD and you'll get mush. And finally, remember the duration cap: ask for 360 seconds and that's a 2.4 GB latent plus a very long denoise. Ask for what you'll actually listen to.

    If your output is silence, check the obvious stuff: the latent type mismatch (make sure you didn't wire in an EmptyLatentAudio from a different model family), and that VAEDecodeAudio got the checkpoint's VAE - the right vae input is the one loaded from that same checkpoint.

    Categorymodel/latent/minimax music

    Inputs (2)

    NameTypeDefaultDescription
    secondsFLOAT120.000.04–360
    batch_sizeINT11–4096

    Outputs (1)

    NameTypeDescription
    LATENTLATENT