Nodes/dots.tts · T8star-Aix/dots.tts 模型加载器 · T8star-Aix
ComfyUI Node

dots.tts 模型加载器 · T8star-Aix

The dots.tts model loader — pick SOAR or MF 2-Steps and stop guessing which weights you have

By T8mars·Created 23 days ago·Updated 14 days ago· 5
dots.tts 模型加载器 · T8star-Aix
    • dots.tts 模型
    • 模型信息 JSON
    model_namedots.tts SOAR · Quality [soar]
    precisionbfloat16
    optimizefalse
    release_after_runfalse
    verify_hashesfalse
    custom_model_path

    Every dots.tts workflow in this pack starts here. The T8_DotsTTS_ModelLoader finds your local dots.tts checkpoint, checks it's actually the right files, and hands you a model handle that every other TTS node eats. Nothing about it is glamorous, and that's the point - it exists so the rest of the pack can assume the model is valid instead of crashing on you mid-render.

    dots.tts is the open-source (Apache-2.0) TTS model from dots-studio, and it ships in two flavors. SOAR is the quality option - zero-shot voice cloning with strong speaker similarity, the one to reach for when the voice matters. MF 2-Steps is a fixed two-step sCM checkpoint built for speed; it locks its sampling parameters (2 steps, no guidance) so you literally can't tune it the way you tune SOAR. The loader's model_name dropdown shows both, labeled dots.tts SOAR · Quality [soar] and dots.tts MF 2-Steps · Fast [mf-2steps].

    The mechanism is simple and it's a nice upgrade over how most packs treat models. On execution the loader resolves the model directory (from the standard ComfyUI/models/TTS/dots.tts/ layout, an extra_model_paths.yaml TTS entry, or the legacy ComfyUI/models/dotstts/ folder), validates file sizes and - if you ask it to - SHA-256 hashes against the pack's pinned manifest, and only then hands you a handle. Weights aren't actually loaded yet; that happens lazily on your first generation. The model_info JSON output tells you the exact repo id, pinned revision, directory and precision, which is handy for confirming you're not accidentally running the fast model while you thought you tuned the quality one.

    Settings you'll actually touch:

    • precision - bfloat16 by default, float32 if you're on weird hardware. Leave it.
    • optimize - torch.compile, off by default. First compile is slow and it can fail; the tooltip is blunt about it. Try it on a long dubbing run, not your first hello-world.
    • verify_hashes - full SHA-256 check on every file. It's slow on a 4.4 GB model.safetensors, so leave it off and re-run with it on once if you suspect a corrupt download.
    • release_after_run - drop the weights after each generation to keep VRAM free. Worth it if you swap between TTS and image/video work in one session.
    • custom_model_path - point at an absolute path if your weights live somewhere unusual.

    Installing and getting the weights

    Install the pack the normal way: ComfyUI Manager → search dots-tts-t8 or dots.tts · T8star-Aix, install, restart. Or by hand:

    cd ComfyUI\custom_nodes
    git clone https://github.com/T8mars/comfyui-dots-tts-T8.git
    python -m pip install -r comfyui-dots-tts-T8\requirements.txt
    

    The dependencies are deliberately light - no torch, transformers or numpy, because ComfyUI owns those. What the pack won't do is download models for you. The loader never hits the network at import; you download the weights yourself with the bundled script, which pins the official Hugging Face revisions and verifies sizes and hashes:

    python scripts\download_models.py --model soar --comfyui-root D:\ComfyUI
    python scripts\download_models.py --model mf-2steps --comfyui-root D:\ComfyUI
    

    Each checkpoint is roughly 5 GB. The README notes you need Python 3.10–3.12 (3.13 is explicitly unsupported) and PyTorch/torchaudio 2.8+ with matching minor versions.

    Where people get burned

    The big one: the loader raises a hard error if the model directory is missing or fails validation, and beginners read that as "this pack is broken." It's not - you just haven't downloaded the weights. Run the downloader first, restart, and the dropdown fills in. Also, if you're on Windows and verify_hashes keeps complaining, re-download the model rather than assuming it's a script bug; a partial download from a flaky connection is the classic cause. One more: the model_info output is a string, not a number - wire it to a text preview, don't try to math on it.

    CategoryT8star-Aix/Audio/dots.tts

    Inputs (6)

    NameTypeDefaultDescription
    model_nameCOMBOdots.tts SOAR · Quality [soar]2 options: dots.tts SOAR · Quality [soar], dots.tts MF 2-Steps · Fast [mf-2steps]
    precisionCOMBObfloat162 options: bfloat16, float32
    optimizeBOOLEANfalse默认关闭;首次编译很慢,失败时请关闭。
    release_after_runBOOLEANfalse
    verify_hashesBOOLEANfalse
    custom_model_pathoptSTRING

    Outputs (2)

    NameTypeDescription
    dots.tts 模型T8_DOTS_TTS_MODEL
    模型信息 JSONSTRING