Nodes/FireRedTTS3/FireRedTTS3 Load Model
ComfyUI Node

FireRedTTS3 Load Model

Loading FireRedTTS3 with no server and no API key

By Saganaki22·Created about a month ago·Updated 27 days ago· 23
FireRedTTS3 Load Model
    • firered_model
    repoFireRedTTS3-bf16
    variantfireredtts3_instruct
    dtypeauto
    deviceauto
    attentionauto
    download_if_missingtrue

    Every FireRedTTS3 workflow in this pack starts here, and the name is not a lie: this isn't a wrapper around some API, there's no key to paste, and nothing phones home. It loads FireRedTTS3 - Xiaohongshu's open TTS, a Qwen3 backbone plus a DiT flow head, the RedAE codec and the CAM++ speaker encoder - natively inside ComfyUI and hands you a single firered_model object that every other node in the pack wants.

    One choice on this node matters more than the rest: which variant you load. There are two weights, and they're different products:

    • fireredtts3_base - zero-shot voice cloning across 24 languages and 21 Chinese dialects, driven by explicit language tags. This is the multilingual cloning engine.
    • fireredtts3_instruct - the default, and the bigger toolbox. It also clones, but its cloning reliably handles Chinese and English (Cantonese with a same-language reference; beyond that it degrades). What it adds is voice design and semantic/acoustic speech editing, which the base model can't do at all.

    So the rule of thumb: only cloning in a non-English language → base. Anything involving designing or editing speech → instruct. If you load instruct and hit a "requires the Instruct model" error on the edit nodes, you grabbed base by accident.

    Then the repo field decides which weights you pull: FireRedTTS3-bf16 (default, ~4.7 GiB per variant), FireRedTTS3-int8 (the experimental 3.3 GB ConvRot quant of the transformer linears), or FireRedTTS3-fp32 (the official full-precision 8.48 GB). bf16 is the sane default - it stores the backbone and encoder in bf16 and keeps the flow head and decoder fp32, matching the official compute path with bit-identical output in the author's A/B tests. Reach for int8 if you're fighting for VRAM; treat it as the experimental option it's labeled as.

    Everything else you can mostly leave alone: dtype auto, device auto, attention auto. The one you might touch is attention - auto uses flash attention only if flash_attn is actually installed and compatible, and falls back to sdpa otherwise. The README's troubleshooting flat-out tells you to use auto unless you installed those backends, because a broken flash/sage install is the most common way this node errors.

    The load itself is heavy. First run auto-downloads the selected variant plus the shared redae, campp, and tokenizer files into ComfyUI/models/fireredtts3/ - budget several gigabytes and expect roughly 8–14 GB VRAM depending on variant, dtype, and attention backend. If downloads fail or you'd rather move files around manually, turn off download_if_missing; the error will name the exact folder to drop them into. Out of memory? Switch to the bf16 mirror and enable ComfyUI DynamicVRAM - the loader registers the core, codec, and speaker encoder as separate castable models so they page through memory management alongside your checkpoints.

    Output is the firered_model (FIREREDTTS3_MODEL) socket that feeds Voice Clone, Voice Design, Semantic Edit, and Acoustic Edit. Nothing else you build here works without it.

    Installing the pack - same story for every node in it. Use ComfyUI Manager (search "FireRedTTS3-ComfyUI"), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Saganaki22/FireRedTTS3-ComfyUI.git
    cd FireRedTTS3-ComfyUI
    python install.py
    

    Then restart. install.py deliberately never touches torch, torchaudio, transformers, or numpy - it only adds small packages like huggingface_hub, safetensors, accelerate, and optionally wetext and fasttext-predict. The one real compatibility catch: the pack is built for Transformers 5.3+ (it constructs the Qwen3 modules directly rather than through a remote-code path), so if your ComfyUI environment ships an old transformers, update it first. And yes, that means your ComfyUI install needs the newer runtime - audio-in-ComfyUI stays a maintained workaround, but this is one of the smoother ones.

    CategoryFireRedTTS3

    Inputs (6)

    NameTypeDefaultDescription
    repoCOMBOFireRedTTS3-bf16Weight source. bf16 keeps the flow head/decoder in fp32 and matches official mixed-precision compute (recommended). int8 ConvRot quantizes the transformer linears (smallest, experimental). fp32 is the official full-precision repo. Missing files download when download_if_missing is on; otherwise the error tells you where to place them.
    variantCOMBOfireredtts3_instructbase: zero-shot cloning in 24 languages + 21 Chinese dialects using language tags. instruct: voice design (Chinese/English only) + speech editing; its cloning inherits the language from the reference audio (no language tags).
    dtypeCOMBOautobf16 stores the backbone LLM and RedAE encoder in bf16 (same compute as the official autocast path) and keeps the flow head/decoder fp32. fp32 is full precision. auto picks bf16 on supported GPUs.
    deviceCOMBOautoDevice for inference. auto follows ComfyUI's current torch device; cpu is a slow fallback.
    attentionCOMBOautoAttention backend for the Qwen3 transformers. auto uses flash_attention when flash_attn is installed and compatible (CUDA + bf16 compute), else sdpa. The fp32 RedAE decoder always uses sdpa.
    download_if_missingBOOLEANtrueDownload the selected weights, RedAE codec, tokenizer, CAM++ and FastText language-ID files into ComfyUI/models/fireredtts3 when missing.

    Outputs (1)

    NameTypeDescription
    firered_modelFIREREDTTS3_MODEL