Antalia-2 Mini Loader
Loading Antalia-2 Mini Is Boring. That's Exactly What You Want.
- model
Every workflow that makes sound starts the same way: something has to put a model in memory. For images that's a checkpoint loader and everyone argues about it. Here it's a 46 MB Turkish voice model and there's nothing to argue about. Antalia-2 Mini Loader takes a folder name off a dropdown and hands you an ANTALIA_MODEL that the Speak node eats. Three widgets, one output. Which is why when it does fail, it fails for a findable reason - and there are about three of those, further down.
Where this sits in the wider stack
Audio in ComfyUI was never first-class. It got bolted on after the video tools made people want soundtracks, and the layer's default failure mode is dependency conflict - packs like TTS Audio Suite had to build per-engine runtime isolation just to survive it. Antalia dodges most of that by being tiny: 7.6M parameters, 30.5 MB in fp32 and 15.3 MB in fp16, one pinned package (antalia-mini==1.0.1) behind it, and no run-time download. So the loader is a local file check, which is why it comes up instantly and why it can tell you at load time that something's wrong instead of blowing up two nodes downstream.
What it actually does
Read the source rather than the vibes. On execute the node resolves your model choice to a real directory - it only accepts names it found itself by scanning models/antalia/ for subfolders holding a config.json and an acoustic*.safetensors - then picks a device, then calls the runtime loader. That checks every file the chosen variant needs, checks the installed antalia-mini is exactly 1.0.1, constructs the model, and caches it for the session keyed on folder + device + variant.
Two things follow. A missing or bit-rotted file throws here, not at Speak - the source comment literally says "fail here, not later", which is the right instinct. And the handle it outputs isn't a torch module; it's a small {folder, device, variant} dict. Only Speak can use it, so don't get clever with it.
The inputs that matter
model- a folder inmodels/antalia/. The list is read from disk when the node is defined, so it's empty until you've downloaded a model and restarted.device-autoorcpu, nothing else.autoasks ComfyUI for its torch device and uses it if it's CUDA or MPS, otherwise falls back to CPU. With 0.06 s per sentence on both a 24-thread CPU and an RTX 5090,cpuis a completely legitimate pick - it keeps your VRAM for whatever the video pipeline is doing.variant-fp32orfp16. The tooltip is honest: the download halves, computation is fp32 either way, practically the same audio. I'd take fp16.
Output is a single model of type ANTALIA_MODEL, wired into Antalia-2 Mini Speak (Turkish TTS). Nowhere else for it to go.
Install
Manager: search the pack title Antalia-2 Mini Turkish TTS for ComfyUI. By hand, from your ComfyUI root:
git clone https://github.com/hiroki-abe-58/ComfyUI-Antalia custom_nodes/ComfyUI-Antalia
python -m pip install -r custom_nodes/ComfyUI-Antalia/requirements.txt
python custom_nodes/ComfyUI-Antalia/tools/download_model.py --models-dir models/antalia
The script pins a revision, verifies every file's SHA-256, and lands the release in models/antalia/antalia-mini/. It fetches both precisions by default; --variant fp32 or fp16 picks one. It needs huggingface_hub, which already ships with ComfyUI's own requirements. Another location works through extra_model_paths.yaml under the key antalia. Then restart - the folder list is read at node-definition time, so a fresh download won't appear until you do.
Where people get burned
The dropdown is empty or missing your folder. Either you skipped the download script, or the files aren't where the scanner looks: it wants a subfolder of models/antalia/ holding config.json and an acoustic*.safetensors. Loose safetensors sitting in models/antalia/ don't count.
this node pack was verified with antalia-mini 1.0.1; installed: … The runtime hard-pins the dependency and raises rather than risk audio drift against the version it was validated on. The error hands you the fix: pip install antalia-mini==1.0.1. That's the standard audio-in-ComfyUI tax - some other pack pulled a newer release into the same environment.
acoustic.fp16.safetensors not found in … You downloaded one precision and selected the other. Re-run the script with --variant all, or with the flag that matches what you want.
Not a bug, just age: the pack is written against ComfyUI's V3 backend node API (from comfy_api.latest import io), so it needs v0.38.0 or newer and Python 3.10+. On an older install you get an import error at startup, not a missing node - the pack is new, not broken.
Licensing, since audio packs are where people get caught: the node code is MIT, antalia-mini and the weights are Apache-2.0 from PatientDesk AI, and the pack is an independent integration, not an official one.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | a folder in models/antalia/ | |
| device | COMBO | auto | auto: ComfyUI's GPU (CUDA or Apple MPS), otherwise the CPU. The model is small; the CPU is fast too |
| variant | COMBO | fp32 | weight files: fp32, or fp16 (half the download; computed in fp32 either way, practically the same audio) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | ANTALIA_MODEL | — |