MOSS-TTS Load Model
The 12 GB gatekeeper of the pack
- moss_model
Every node in the MOSS-TTS 1.5 pack is useless until this one runs, because MOSS isn't a tiny ONNX model - it's a real transformer that wants to live in your VRAM. MOSSLoadModel is the gatekeeper: it pulls the weights from Hugging Face on first run, loads the processor + model into memory, and hands the whole bundle out as moss_model. Fan that output into the Speak, Voice Clone, and Voice Continue nodes and you're in business. The pack is a thin, MIT wrapper around OpenMOSS's Apache-2.0 model - no API, no key, no account. It's the rare local TTS that does multilingual cloning without any cloud call, which is why it also shows up bundled inside Blender filmmaking addons.
Two models, one dropdown
model_id defaults to MOSS-TTS-Local-Transformer-v1.5 (1.7B), a MossTTSLocal architecture that outputs 48 kHz stereo and needs ~12 GB VRAM in bfloat16. The other choice is the full MOSS-TTS-v1.5 (8B), a deeper MossTTSDelay model at 24 kHz that wants ~22 GB and can sound a bit more expressive. Same API, same 31 languages, same duration semantics, so you can swap without rewiring. On an RTX 3090 or 5090 both fit - but start with the 1.7B. It's faster, it leaves room for the video half of your pipeline, and the quality gap is subtle. The "(1.7B)" / "(8B)" suffix is just a UI label; it gets stripped before the Hugging Face call.
The other knobs
device-cudaby default, falls back tocpuautomatically if CUDA's missing. CPU works but is roughly 50x slower, so treat it as an emergency.attention- the one that used to bite people. MOSS's own model code defaults toflash_attention_2, which hard-crashes if theflash_attnpackage isn't installed. Theautodefault (recommended) checks whether flash-attn is present and falls back to PyTorch's built-insdpaif not - so a plain install just works. Forceflash_attention_2only if you've actually installed flash-attn; on brand-new CUDA toolkits without a prebuilt Windows wheel, stay onsdpa. Quality is identical, only long-context speed differs.
dtype is picked for you: bfloat16 on CUDA (MOSS's training precision), float32 on CPU. The bundle caches by (model_id, device, attention), so re-queued workflows reuse the loaded model instead of paying the load cost every time. Output is a single moss_model that feeds any of the three generators.
Install and the first-run tax
Pack install is standard - Manager, search "MOSS-TTS 1.5", or:
cd ComfyUI/custom_nodes
git clone https://github.com/eehrich/ComfyUI-MOSS-TTS-1.5.git MOSS-TTS-ComfyUI
Restart ComfyUI. There are deliberately no pip dependencies - it rides on ComfyUI's own transformers (>= 4.50.3), and the current model build runs on both transformers 4.x and 5.x. The real cost is the first execution: ~9.1 GB for the 1.7B, ~17 GB for the 8B, streamed into your Hugging Face cache. Start the download and go make coffee.
The gotchas that actually get people
- Python 3.11+ dataclass crash. MOSS's audio-tokenizer config files declare fields without defaults after the parent added defaulted ones, so the first load dies with
TypeError: non-default argument 'sampling_rate' follows default argument 'problem_type'. Fix once in the cached file under~/.cache/huggingface/modules/transformers_modules/.../configuration_moss_audio_tokenizer.pyby giving the fields= Nonedefaults. Nothing behavioural changes - the real defaults still come from__init__. MODALITY_TO_BASE_CLASS_MAPPINGAttributeError on transformers 4.x - that's a stale cached MOSS build from before the 4.x/5.x compatibility guard. Delete~/.cache/huggingface/hub/models--OpenMOSS-Team--MOSS-TTS-*and let it re-download, or upgrade transformers to >= 5.0 (needs Python 3.10+).Can't load the model … pytorch_model.bin- the safetensors download stalled, usually low disk space in the HF cache. Rerun the download explicitly and free space.std::bad_alloconimport torchcodec- version mismatch between torchcodec and torch. MOSS itself doesn't need torchcodec, so uninstall it or match versions.
One VRAM note before you build a big scene: reference and prefix audio add roughly 1 GB per 20 s of history on top of the 12 GB baseline, so a very long reference clip can OOM you before generation even starts. Keep reference clips in the 5–15 s sweet spot and watch nvidia-smi during long continuation chains.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model_id | COMBO | OpenMOSS-Team/MOSS-TTS-Local-Transformer-v1.5 (1.7B) | Which MOSS model to load. Both are v1.5, same API, 31 languages, 48 kHz stereo, same 'tokens' / duration semantics. Local-Transformer (~1.7B) is smaller/faster (~12 GB VRAM), MOSS-TTS-v1.5 (~8B) is the deeper MossTTSDelay model (~22 GB VRAM), potentially better prosody/expressiveness. Fits on RTX 5090 and 3090 both. |
| device | COMBO | cuda | Where the model runs. CPU works but is very slow (~50x slower than CUDA). Falls back to CPU automatically when CUDA is unavailable. |
| attentionopt | COMBO | auto | Attention backend. MOSS's model code defaults to flash_attention_2, which CRASHES if the flash_attn package isn't installed. 'auto' (recommended) uses flash_attention_2 only when flash_attn is actually available, otherwise 'sdpa' (built into PyTorch, no extra install, fast). Force 'sdpa'/'eager' for maximum compatibility, or 'flash_attention_2' only if you installed flash-attn. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| moss_model | MOSS_MODEL | Model bundle. Feed into any MOSS-TTS Speak / Voice Clone / Voice Continue node. |