Nodes/ComfyUI Kaola MOSS-TTS/Load MOSS-TTS Foundation Model
ComfyUI Node

Load MOSS-TTS Foundation Model

The 8B flagship or the 1.7B that fits in your card

By kana112233·Created 6 months ago·Updated 6 months ago· 3
Load MOSS-TTS Foundation Model
  • moss_codec
  • moss_tts_model
model_path
deviceauto
precisionbf16

MossTTSLoadModel is the loader for the narration side of this pack: it pulls in a MOSS-TTS foundation model and hands a moss_tts_model object to MossTTSGenerate. What makes this one different from the other loaders is that it actually has a choice to make - you pick between two very different models, and the right answer depends on your GPU.

The model_path decision

  • OpenMOSS-Team/MOSS-TTS - the 8B foundation model (~7GB). This is the quality pick: the high-fidelity narration and cloning model that MOSS-TTSD was built on top of. Needs a card with real headroom (16GB is comfortable; 8GB is painful).
  • OpenMOSS-Team/MOSS-TTS-Local-Transformer - the 1.7B lightweight model (~1.7GB). This is the "runs on a small card" pick. Less polish, but it fits where the 8B can't, and it's a much faster load. If your GPU is modest, this is not the consolation prize - it's the sensible choice.

Both auto-download into ComfyUI/models/moss_ttsd/ on first load.

The rest of the inputs

  • device - auto / cuda / cpu / mps, default auto. It resolves CUDA → MPS → CPU in that order, so you can usually leave it.
  • precision - fp32 or bf16, and notice the default here is bf16, unlike the VoiceGenerator and SoundEffect loaders (which default to fp32). The narration model is expected to run in bf16; if you hit a CUDA device-side assert during generation, the generate node will tell you to switch this to fp32.
  • moss_codec (optional) - wire the shared codec from MossAudioCodecLoadModel in to reuse its local path and skip a redundant tokenizer download. Same advice as every loader in this pack: do it.

How it loads

HuggingFace AutoModel + AutoProcessor with remote code. The loader passes normalize_inputs=True to the processor and falls back gracefully if the model doesn't support it. On CUDA it probes for flash-attn and opts into flash_attention_2 if the GPU is Ampere-or-newer and precision is fp16/bf16; otherwise it uses sdpa. The audio tokenizer is loaded alongside the processor, using the connected codec's path if you gave one.

Install

ComfyUI Manager → search ComfyUI Kaola MOSS-TTS, or:

cd ComfyUI/custom_nodes
git clone https://github.com/kana112233/ComfyUI-kaola-moss-tts.git
cd ComfyUI-kaola-moss-tts
pip install -r requirements.txt

The README's two standing warnings apply: transformers>=5.0.0 is required, and a fresh Python 3.12 environment with flash-attn is the recommended GPU setup. First load of the 8B model is a multi-GB download, so budget for it.

Where people get burned: grabbing the 8B "because bigger is better," then watching an 8GB card OOM during generation. Run the 1.7B first to confirm your workflow works, then decide if the quality jump justifies the memory.

CategoryKaola/MOSS-TTSD

Inputs (4)

NameTypeDefaultDescription
model_pathCOMBO2 options: OpenMOSS-Team/MOSS-TTS, OpenMOSS-Team/MOSS-TTS-Local-Transformer
deviceCOMBOauto4 options: auto, cuda, cpu, mps
precisionCOMBObf162 options: fp32, bf16
moss_codecoptMOSS_AUDIO_CODEC

Outputs (1)

NameTypeDescription
moss_tts_modelMOSS_TTS_MODEL