Nodes/ComfyUI-Dia/Load Dia Model
ComfyUI Node

Load Dia Model

The node that drags a 1.6B TTS model into ComfyUI

By Yuan-ManX·Created about a year ago·Updated about a year ago· 6
Load Dia Model
    • model
    • STRING
    model_pathnari-labs/Dia-1.6B
    deviceauto

    Load Dia Model is the first node in any ComfyUI-Dia workflow, and usually the slowest. It's the node that pulls Nari Labs' Dia - a 1.6-billion-parameter text-to-speech model - from Hugging Face onto your machine. The first time you run it, plan for a real download and a long, quiet load into VRAM. Every run after that is faster, because the weights stay in the Hugging Face cache and just load from disk.

    Dia itself is a dialogue model, not a generic TTS assistant: it generates realistic, emotionally-flavored English speech from a transcript and can be conditioned on a reference audio clip for voice and tone. It'll cough, laugh, and clear its throat if the text calls for it. That's the model this node fetches, plus the audio codec (DAC) Dia needs to turn generated tokens back into sound.

    How it works

    Under the hood, Load Dia Model calls the model's from_pretrained with the repo id you give it. That does three things:

    1. Downloads config.json and the checkpoint (dia-v0_1.pth) from Hugging Face into the local cache. The .pth is the big one - a 1.6B-parameter model in fp32 is roughly 6 GB, so make sure you've got disk space and a working internet connection.
    2. Loads the weights onto the device you picked.
    3. Fetches a separate DAC codec model (via descript-audio-codec, the dac package), which is what decodes the model's audio tokens into a waveform you can hear.

    "Auto" device resolution checks for CUDA first, then MPS (Apple Silicon), then falls back to CPU. On CPU it technically runs. It's just not a good time.

    The inputs and outputs

    Two inputs, both plain text fields:

    • model_path - the Hugging Face repo id, defaulting to nari-labs/Dia-1.6B. Leave it unless you've downloaded the weights somewhere specific or a newer repo exists.
    • device - auto, cuda, cpu, or mps. auto is right for almost everyone; hard-set cpu only if you're deliberately avoiding the GPU.

    The first output, model, is what you wire into Dia TTS. The second output is declared as a STRING, but here's the thing: the node's code only ever returns the model. That dangling second output is a quirk of this early pack - newer ComfyUI versions enforce that a node returns what it declares, so you may hit an "expected 2 outputs, got 1" style error. If you do, it's a pack bug, not your setup.

    Installing

    Same as the rest of the pack - via ComfyUI Manager (search "ComfyUI-Dia") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Yuan-ManX/ComfyUI-Dia.git
    cd ComfyUI-Dia
    pip install -r requirements.txt
    

    The dependency list is worth a glance before you commit: torch, torchaudio, numpy, soundfile, pydantic, huggingface-hub, descript-audio-codec, and triton. Torch and torchaudio you almost certainly already have in ComfyUI's environment. descript-audio-codec is the new one and it's essential. triton, meanwhile, is listed in requirements.txt but never imported anywhere in the pack's code - it's a vestigial entry, and on Windows it's a notorious pip headache. If pip install triton fails, skip it. The node doesn't need it.

    Common issues

    • First run stalls - it's downloading ~6 GB of weights plus a DAC model. Check the terminal for progress; it's not hung, just hungry.
    • Out of memory - a 1.6B model plus the codec adds up. This is a "has a GPU" tool. Community reports show it running on cards as small as 6 GB VRAM, but slowly.
    • The output won't connect to Dia TTS - the model output is typed NARIMODEL while the TTS node declares a MODEL input. ComfyUI may refuse the connection; a type-conversion node is the workaround. It's a known rough edge.
    CategoryDia-TTS

    Inputs (2)

    NameTypeDefaultDescription
    model_pathSTRINGnari-labs/Dia-1.6B
    deviceSTRINGauto

    Outputs (2)

    NameTypeDescription
    modelNARIMODEL
    STRINGSTRING