Nodes/FL FishSpeech/FL FishSpeech Model Loader
ComfyUI Node

FL FishSpeech Model Loader

The 8 GB doorway to every other FishSpeech node

By filliptmΒ·Created 6 months agoΒ·Updated 8 days agoΒ· 10
FL FishSpeech Model Loader
    • fs_model
    β—„deviceautoβ–Ί
    β—„precisionbfloat16β–Ί
    β—„compilefalseβ–Ί
    β—„force_reloadfalseβ–Ί

    This is where every FL FishSpeech workflow starts, and honestly where most of them end for people who didn't read the fine print. The Model Loader node grabs the entire OpenAudio S1-mini bundle - the DualAR transformer that turns text into speech tokens, the DAC neural codec that turns tokens into audio, and the tokenizer - and hands it to the rest of the pack as a single fs_model connection. It's the only node that talks to the network, so a lot of the pack's install pain lives right here.

    How it works

    First run is the scary part. The loader checks ComfyUI/models/fishspeech/openaudio-s1-mini/ for a checkpoint; if it's missing, it pulls it from HuggingFace. That's a one-time ~8GB download, which the code prints loudly so you don't think it hung. Once the weights are local, it loads the transformer, pre-allocates KV caches, loads the DAC codec, and stashes the whole bundle in a process-wide cache keyed by device+precision. Subsequent runs skip straight to "Model found in cache," which is why the node feels instant after the first queue.

    Two things the README won't tell you, straight from the source:

    1. This pack needs a separate fish-speech repo. The loader imports fish_speech.models.text2semantic.inference from a clone it expects at ComfyUI/fish-speech/ - a sibling of custom_nodes/, not inside it. If that folder is missing you get FileNotFoundError: fish-speech directory not found on first load. So before anything else:
      cd ComfyUI
      git clone https://github.com/fishaudio/fish-speech.git
    2. The model is gated. fishaudio/openaudio-s1-mini requires you to log in and accept access on its HuggingFace page. Run huggingface-cli login, accept the terms in your browser, and only then let the node download. Expect a GatedRepoError if you skip this.

    Inputs that matter

    All four inputs are optional, which is a nice change from most loaders:

    • device (auto / cuda / cpu) - auto detects your GPU, or falls back to CPU (painfully slow, per the author's own warning).
    • precision (bfloat16 / float16 / float32) - bfloat16 is the CUDA default and the one you should keep. float32 only makes sense on CPU.
    • compile - enables torch.compile. First run compiles and can take a while; runs after that get faster. Flip it on if you're generating a lot and can eat the warm-up.
    • force_reload - drops the cached bundle and reloads from disk. Reach for this if you've been fiddling with files or swapped checkpoints and the cache is serving you stale data.

    Output

    One output, fs_model (type FS_MODEL), and it's required by every other node in the pack: TTS, Reference Audio, VQ Encode, VQ Decode. You can wire it into several at once - the example workflow does.

    Installing the pack itself

    Easiest via ComfyUI Manager - search "FL FishSpeech" and install, then restart. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/filliptm/ComfyUI-FL-FishSpeech.git
    cd ComfyUI-FL-FishSpeech
    pip install -r requirements.txt
    

    Then restart ComfyUI. Requirements are the usual torch-adjacent suspects (torchaudio, safetensors, lightning, huggingface_hub, and friends). Watch the VRAM: the README calls for 14GB+ to be comfortable. If you OOM, keep bfloat16, and remember the loader's cache holds the model resident between runs - force_reload is also how you make it let go.

    One more thing while you're reading the model page: the pack itself is Apache 2.0, but that's the wrapper, not the weights. The gated model ships under its own terms - community members have flagged non-commercial restrictions on Fish Audio's model releases, so read the OpenAudio model card before you build anything you plan to monetize.

    Category🐟FL FishSpeech

    Inputs (4)

    NameTypeDefaultDescription
    deviceoptCOMBOautoDevice to load the model on. 'auto' detects GPU automatically.
    precisionoptCOMBObfloat16Model precision. bfloat16 recommended for CUDA, float32 for CPU.
    compileoptBOOLEANfalseEnable torch.compile for faster generation. First run will be slow due to compilation.
    force_reloadoptBOOLEANfalseForce reload the model, clearing cache.

    Outputs (1)

    NameTypeDescription
    fs_modelFS_MODELβ€”