Load MOSS-Audio Codec
The boring shared node every MOSS workflow quietly depends on
- moss_codec
Nobody gets excited about a model loader, but this is the node that makes the MOSS pack work at all. MossAudioCodecLoadModel loads MOSS-Audio-Tokenizer, the shared audio codec that sits in the middle of every model in this family. MOSS doesn't generate sound as raw audio the way a vocoder does - it works in audio tokens, and the codec is what converts between a waveform and those tokens. Text goes in, the model thinks in tokens, and the codec turns the tokens back into sound you can hear.
What it does
The node has exactly one input, codec_path, with a single option: OpenMOSS-Team/MOSS-Audio-Tokenizer. On load it downloads the codec (about 1GB) into ComfyUI/models/moss_ttsd/ if it isn't already there, then loads it via HuggingFace's AutoModel with remote code enabled. It outputs a moss_codec object.
A detail worth knowing: the codec is deliberately parked on CPU after loading, to keep VRAM free for the model that actually generates audio. That's an intentional trade-off, not a bug.
Where the output goes
MossTTSDGeneraterequiresmoss_codec- the dialogue generator can't run without it.MossTTSLoadModel,MossVoiceGeneratorLoadModel, andMossSoundEffectLoadModelall accept an optionalmoss_codecinput. Wire it in and they reuse the codec's local path instead of re-resolving (and potentially re-downloading) the tokenizer themselves. The loader descriptions are blunt about this: connect it "to avoid redundant downloads/loading."
So the cheapest workflow shape is: load the codec once, fan its moss_codec output out to your generate node and to every model loader in the graph. One ~1GB download, shared everywhere.
Install
Same as the rest of the pack - 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
Heavy dependency to keep in mind: the pack requires transformers>=5.0.0, which is newer than what most image/video packs expect - a fresh Python 3.12 environment is the README's recommended way to avoid fighting version conflicts. First load of this node is where you'll wait for the codec download, so expect the spinner to sit there for a while.
Where people get burned: they skip this node, try to wire a generate node straight to a model loader, and get a confusing "missing MOSS_AUDIO_CODEC input" error. Add the codec node, connect it, and the graph lights up.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| codec_path | COMBO | 1 options: OpenMOSS-Team/MOSS-Audio-Tokenizer |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| moss_codec | MOSS_AUDIO_CODEC | — |