Nodes/LongCat AudioDiT TTS/LongCat AudioDiT TTS
ComfyUI Node

LongCat AudioDiT TTS

Local text-to-speech that doesn't sound like a robot

By Saganaki22·Created 5 months ago·Updated 5 months ago· 134
LongCat AudioDiT TTS
    • audio
    model_path
    textHello! This is your Longcat Audio node speaking, everything is set-up and running smoothly!
    steps16
    guidance_strength4.0
    guidance_methodcfg
    deviceauto
    dtypeauto
    attentionauto
    seed0
    keep_model_loadedtrue

    What it is

    Most local TTS has felt like a compromise: good clones via an API you don't control, or open weights that read like a GPS reciting the news. LongCat-AudioDiT from Meituan changed my opinion on that, and this node is its ComfyUI front door. No API, no key, everything runs on your own GPU.

    LongCatTTS is the plain-vanilla member of the pack. The voice-clone and multi-speaker siblings are the headline acts, but this is the node you reach for when you just want a narrator, a VO track, or clean narration in the middle of a graph, and you want to iterate on it like any other generation. It slots into the same AUDIO workflow space as things like PreviewAudio and SaveAudioMP3, so it plays fine alongside the video and image stacks - LongCat is exactly what you'd wire in when your video generation has no native audio and you don't want to go hunting for a separate tool.

    How it works

    What makes it different is under the hood. LongCat skips the autoregressive and mel-spectrogram pipelines entirely: a Wav-VAE compresses audio into a latent space, a diffusion transformer denoises those latents over a set of ODE Euler steps, and the decoder writes out a 24 kHz waveform. No token-by-token drift, which is why the pacing and prosody hold together. Your text goes through a UMT5 text encoder, and there's an cfg vs apg guidance choice - apg is adaptive projection guidance, the thing the LongCat paper credits with fixing a long-standing training/inference mismatch. For plain TTS, cfg at the default is fine.

    The inputs that matter

    The inputs you'll actually touch:

    • text - what to say. Multiline.
    • model_path - four choices, all auto-download from HuggingFace on first run into ComfyUI/models/audiodit/. The -3.5B-bf16 is the recommended default; -fp8 is dequantized to bf16 at load, -1B if you're tight on VRAM.
    • steps - default 16, range 4–64. More steps, better clarity, slower. 16 is the balanced point; go 32 when you care.
    • guidance_strength - default 4.0. Think of it as CFG scale on an image model: too high gets artifacts, too low gets flat. Most people never move it.
    • dtype - auto picks bf16 on CUDA, fp16 on MPS, fp32 on CPU. Plain TTS tolerates fp16 fine.
    • attention - auto is SDPA. sage_attention is the fastest option if you install the package; flash_attention falls back to an SDP backend when the flash_attn package isn't around.
    • keep_model_loaded - true offloads the model to CPU between runs so it isn't hogging VRAM, then swaps it back on the next run.

    The single output, audio (AUDIO), wires into PreviewAudio to hear it or SaveAudioMP3 to keep it.

    Installing

    Install is the same for every node in this pack: ComfyUI Manager, search "LongCat AudioDiT", install, restart. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Saganaki22/ComfyUI-LongCat-AudioDIT-TTS
    cd ComfyUI-LongCat-AudioDIT-TTS
    pip install -r requirements.txt
    

    The node auto-installs its pip deps (transformers, librosa, safetensors, einops, soundfile) on startup, so the classic gotcha applies: restart ComfyUI once after installing - the installer runs before nodes register, and the node won't show up until the second launch. First run then downloads the weights, which is a few GB, so don't panic at the progress bar.

    Real-world traps

    Two real-world traps. The README is blunt that outputs beyond roughly 60 seconds start repeating or dropping words; 15–30 seconds is the sweet spot, so feed it short chunks and stitch. And a handful of early adopters reported straight-up gibberish from the official workflow back at release; it was fixed in later versions of the pack, so if you hit it, update the node and make sure dtype is on auto or bf16. The author, Saganaki22, is the same person behind the Zonos2 and Higgs v3 TTS wrappers - a busy guy who actually iterates on these.

    CategoryLongCat-AudioDiT

    Inputs (10)

    NameTypeDefaultDescription
    model_pathCOMBOLongCat-AudioDiT model. Models are stored in ComfyUI/models/audiodit/
    textSTRINGHello! This is your Longcat Audio node speaking, everything is set-up and running smoothly!Text to synthesize.
    stepsINT164–64Number of ODE Euler steps. More steps = better quality but slower.
    guidance_strengthFLOAT4.00–10CFG/APG guidance strength. Higher = more guidance.
    guidance_methodCOMBOcfgGuidance method. 'apg' often gives better results for voice cloning.
    deviceCOMBOautoCompute device. 'auto' picks CUDA > MPS > CPU.
    dtypeCOMBOautoModel dtype. 'auto' picks bf16 for CUDA, fp16 for MPS, fp32 for CPU.
    attentionCOMBOautoAttention implementation. 'auto' uses model default (SDPA). 'sage_attention' requires sageattention package. 'flash_attention' forces FlashAttention via SDPBackend.
    seedINT00–2147483647Random seed. 0 = random.
    keep_model_loadedBOOLEANtrueKeep model loaded between runs. Model is automatically offloaded to CPU after generation to free VRAM, then resumed to GPU on the next run.

    Outputs (1)

    NameTypeDescription
    audioAUDIO