BlueMagpie Model Loader
The 8 GB door to Taiwanese Mandarin TTS
- model
- model_info
Most open TTS is English-first. Kokoro, Chatterbox, F5 - read the release threads and they're all narrating to an anglophone. When you need real Traditional Chinese, Taiwanese Mandarin, or Mandarin sentences that casually drop English words into the middle, your options thin out fast. BlueMagpie-TTS is one of the few open models aimed squarely at that gap, and BlueMagpie Model Loader is how you get it into a ComfyUI graph. It's a loader and nothing else - the pack's other half, BlueMagpie TTS, does the talking.
What it does is simple: point at the model, pick a device, get a BLUE_MAGPIE_MODEL handle. Two inputs, both dropdowns:
model_path- defaults toOpenFormosa/BlueMagpie-TTS. The loader checks your local model folders first (it registersbluemagpieas a model type and also watchesllm/LLMand anything you've mapped inextra_model_paths.yaml). Only when it can't find a complete local copy does it download the public Hugging Face release.device-auto,cuda,mps, orcpu. Auto picks CUDA when torch sees a GPU, then Apple Silicon MPS, then CPU. Pickcudaormpsexplicitly and it throws a clear error instead of silently falling back when the hardware isn't there - the right behavior when you're running a headless render and don't want to discover the CPU fallback by listening to the output.
The download is the headline. First run grabs about 8 GB into ComfyUI/models/bluemagpie/OpenFormosa/BlueMagpie-TTS/, and the loader insists on five specific files: config.json, pytorch_model.bin, audiovae.pth, tokenizer.json, and checkpoints/speaker_centroids.pt - that last one is what the built-in speakers in the TTS node use. If the snapshot lands incomplete, it tells you exactly which file is missing instead of failing mysteriously halfway through generation.
Outputs: model (the BLUE_MAGPIE_MODEL you feed into BlueMagpie TTS) and model_info, a JSON string with the resolved path, device, sample rate, and the list of speakers it found. It's a handy sanity check that you're actually on CUDA before you start blaming the audio. The loader also caches the loaded model keyed by path + device, so re-queuing the graph doesn't reload 8 GB of weights every time.
Installing it
Both nodes ship in one pack. ComfyUI Manager - search "BlueMagpie TTS" (or ComfyUI-BlueMagpie-TTS) and install - or by hand:
cd ComfyUI\custom_nodes
git clone https://github.com/endman100/ComfyUI-BlueMagpie-TTS
python -m pip install -r ComfyUI-BlueMagpie-TTS\requirements.txt
Then restart ComfyUI. The requirements pull the upstream bluemagpie-tts package pinned to a specific commit (that's where the heavy machinery - torch, transformers, librosa - lives, and most of it ComfyUI already ships) plus soundfile. Python 3.10–3.12 is supported. The author tested on Windows with Python 3.12.8 and an RTX 5090, but upstream documents Linux and macOS and Windows is officially "experimental." MPS on Apple Silicon works.
Gotchas
The first run looks like a hang while 8 GB downloads - give it time. If you already have the model elsewhere, drop the folder into ComfyUI/models/bluemagpie/ and the download never fires. One honest note: this is a very new pack with essentially no community footprint yet, so treat smooth sailing as a bonus and check the GitHub issues when something odd happens. You're early to this one.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model_path | COMBO | OpenFormosa/BlueMagpie-TTS | Uses a local ComfyUI model folder first; downloads the public Hugging Face model when absent. |
| device | COMBO | auto | 4 options: auto, cuda, mps, cpu |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | BLUE_MAGPIE_MODEL | — |
| model_info | STRING | — |