Nodes/comfyui-sopro-tts/Load SoPro Model
ComfyUI Node

Load SoPro Model

The boring loader that makes SoPro TTS work

By vjumpkung·Created about 23 hours ago·Updated about 23 hours ago· 0
Load SoPro Model
    • model
    modelsamuel-vitorino/sopro-v2-turbo
    deviceauto
    quantizationnone
    revision

    Load SoPro Model is the least interesting node in this pack and the one everything else hangs off. It doesn't generate anything, doesn't clone anything, and its only job is to pull a TTS model into memory and hand it to the other two nodes. That's exactly why you should understand it - the name is a lie in one sense: it calls no API, needs no key, and downloads nothing until your first run.

    SoPro is the voice-cloning model behind this three-node pack (vjumpkung/comfyui-sopro-tts): a lightweight multilingual text-to-speech model that clones a voice from a short reference clip. Its whole pitch is that it's small enough to be fast - and genuinely CPU-friendly - which puts it in the light corner of the audio-in-ComfyUI story, alongside Kokoro, rather than the heavyweight Chatterbox corner. Audio was never designed into ComfyUI; it's a bolted-on layer, so packs like this are how it happens. This loader is the front door.

    What it actually does

    Under the hood this node is a thin wrapper around SoproTTS.from_pretrained(...) from the sopro Python package (the pack pins sopro>=2.0.5,<3). On the first execution it pulls the model from Hugging Face and caches it, then every run after that is local and offline. The model handle it produces is a custom SOPRO_MODEL type that only the other two nodes in this pack understand - you won't see it in any preview or audio node.

    The inputs that matter

    Most people touch two fields and forget the rest:

    • model - the Hugging Face repo ID, defaulting to samuel-vitorino/sopro-v2-turbo. This is the download you pay for on first run. Point it at a local SoPro artifact directory instead and you skip the download entirely.
    • device - auto uses ComfyUI's current torch device (your GPU if it's in play). cpu, cuda, and mps are there if you want to force it.
    • quantization - int8 quantizes SoPro's autoregressive weights, and the README is explicit: CPU only. Ask for int8 with a GPU device and you're just asking it wrong.
    • revision - an optional Hugging Face branch, tag, or commit, ignored for local directories.

    The single output, model, is the SOPRO_MODEL handle that feeds Prepare SoPro Voice Reference and SoPro Text to Speech. That's it. If the node's installed, your first run is slow, every run after is fast.

    How to install it

    Two routes, same result. Via ComfyUI Manager, search for "comfyui-sopro-tts". Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/vjumpkung/comfyui-sopro-tts
    cd comfyui-sopro-tts
    pip install -r requirements.txt   # into the SAME python that runs ComfyUI
    

    Then restart ComfyUI. This pack is written against ComfyUI's newer V3 node API (from comfy_api.latest import io, no NODE_CLASS_MAPPINGS), so it needs a current ComfyUI - that's "new," not "broken," if your install is old.

    Where people get burned

    The classic failure is a runtime error like cannot import name 'SoproTTS' from 'sopro'. That's almost always the portable-install trap: the sopro package got pip-installed into a different Python than the one ComfyUI actually runs on (one reddit user chased this across three python_embedded folders before realizing it was "all the different python versions"). Fix it by running pip install in the exact interpreter ComfyUI uses, then restart. And if you picked int8, make sure device is cpu - the quantization path is CPU-only and won't do what you expect elsewhere.

    It's a loader. It's supposed to be boring. Get the Python environment right once and it quietly does its one job for every workflow you build on top of it.

    Categoryaudio/sopro

    Inputs (4)

    NameTypeDefaultDescription
    modelSTRINGsamuel-vitorino/sopro-v2-turboHugging Face repository ID or local SoPro artifact directory.
    deviceCOMBOautoAuto uses ComfyUI's current torch device.
    quantizationCOMBOnoneInt8 quantizes the autoregressive weights and is supported on CPU only.
    revisionSTRINGOptional Hugging Face branch, tag, or commit. Ignored for local directories.

    Outputs (1)

    NameTypeDescription
    modelSOPRO_MODEL