Nodes/Dia realistic TTS/Load TTS model
ComfyUI Node

Load TTS model

The one-input node that drags a 1.6B TTS model onto your disk

By rkfg·Created about a year ago·Updated about a year ago· 0
Load TTS model
    • TTSMODEL
    model_namenari-labs/Dia-1.6B

    DiaModelLoader (displayed as "Load TTS model") is the unglamorous half of the rkfg/ComfyUI-Dia_tts pack, and it's the half you'll probably never look at twice. It exists for one reason: every pack that wraps a serious model needs someone to download the weights, hold them in memory, and hand them to the thing that actually generates. That's this node. One input, one output, and a surprisingly heavy first click.

    What it actually does

    It takes a HuggingFace repo ID and calls Dia.from_pretrained() on it, loading the weights in bfloat16. Here's the sneaky part: it also pulls down the Descript DAC codec that Dia needs to turn its predicted audio tokens back into sound. You never see that second model - it's bundled inside the TTSMODEL object it outputs. The 1.6B checkpoint is a few gigabytes, so the first time you run it the node looks frozen while it's actually quietly downloading from HuggingFace. It's not broken; it's just hauling.

    The one input that matters

    • model_name - a plain string holding the HF repo ID, defaulting to nari-labs/Dia-1.6B. Because it's just a string, you can point it at any compatible Dia checkpoint published to the Hub - community fine-tunes and quants included, if and when they land.

    Output is a single TTSMODEL, which you wire straight into the model input on DiaSampler. That's the whole job. A loader with nothing to feed is a paperweight, so you always use this in a pair: Load → Sample → save audio.

    Installing it

    Same as the sampler, because it's the same pack. Use ComfyUI Manager and search "Dia TTS" (pack title: "Dia realistic TTS"), or clone it:

    cd ComfyUI/custom_nodes
    git clone https://github.com/rkfg/ComfyUI-Dia_tts
    # restart ComfyUI
    

    The dependencies are torchaudio and descript-audio-codec, both in the pack's requirements.txt and installed with it. No HuggingFace token needed for the default public model - you just need network access on first load.

    Where people get burned

    • First load takes a while. The node loads both the Dia weights and the DAC codec, so give it a minute before you assume it's stuck. A "Failed to load DAC model" error (that's the literal message in the code) usually means the DAC download failed partway - retry and it'll pick up.
    • It wants a bf16-capable GPU. The loader hardcodes bfloat16, which is fine on modern cards but a fight on older ones.
    • It unloads nothing by itself - but the sampler that consumes its output will happily clear your VRAM of other models before running, so don't be surprised when that happens mid-workflow.

    This node is about as boring as ComfyUI gets, and that's a compliment. It downloads, loads, hands off, and stays out of the way - leaving the fun stuff to the sampler.

    CategoryDia TTS

    Inputs (1)

    NameTypeDefaultDescription
    model_nameSTRINGnari-labs/Dia-1.6BHF model name

    Outputs (1)

    NameTypeDescription
    TTSMODELTTSMODEL