Nodes/comfyui-orpheus-loader/Orpheus-TTS Base Loader
ComfyUI Node

Orpheus-TTS Base Loader

The Orpheus-TTS Base Loader gets the model loaded — everything after it is on you

By suhee19·Created 11 months ago·Updated 11 months ago· 0
Orpheus-TTS Base Loader
  • low_cpu_mem_usage
  • dry_run
  • model
base_model_idunsloth/orpheus-3b-0.1-pretrained
device_pref
dtype_pref
hf_token

Orpheus is the open-source TTS that turned heads in spring 2025: a 3B model that sounds like it's acting instead of reading. Drop a <laugh> or <sigh> tag into your text and the speech follows the stage directions. This node is the piece that pulls that model into ComfyUI. It's called the "Base Loader" for a reason - it downloads and loads the model, hands you a handle, and stops. No audio comes out of it.

Be honest with yourself before installing: this pack ships exactly one node, and that node's only output is a custom type called ORPHEUS_MODEL. The README talks about a "LoRA Applier" and a "TTS Generator" that are supposed to consume it, but they're marked as future work and they don't exist in the repo yet. So on its own this is stage one of a pipeline, not a working TTS setup. You reach for it if you're building your own Orpheus workflow - voice-cloning LoRAs are the whole point of this model, and the community gets shockingly close results from a short voice sample - or if you want a clean, reusable loader to build your next node on. Just know it ends in a dead end by itself.

How it works

Run it and it does what any loader does, but through Hugging Face's transformers. It pulls the tokenizer and config, then loads the model with AutoModelForCausalLM.from_pretrained and trust_remote_code=True - Orpheus needs custom modeling code, so that flag is non-negotiable, and it's already set for you. Everything - model, tokenizer, config, resolved device and dtype - gets packed into one Python dict that travels along the model output as ORPHEUS_MODEL.

A few details worth knowing:

  • Imports are lazy. The heavy transformers import only fires when the node runs, not when ComfyUI scans your node list. That's why this pack is so lightweight to install.
  • device_pref and dtype_pref default to auto, meaning CUDA + fp16 if torch sees a GPU, otherwise CPU + float32. Note the code path: on CPU it forces float32 no matter what you ask for. A 3B model in float32 on CPU is a rough time.
  • dry_run (default false) skips the download entirely and returns a stub handle - the README's tip for poking at the UI on a machine with no GPU. Flip it on to check your graph, flip it off on the real box.

The inputs that matter

Only a couple deserve your attention. base_model_id defaults to unsloth/orpheus-3b-0.1-pretrained - Unsloth's mirror of Canopy Labs' model, a sensible default; change it if you're pointing at a fine-tune or another repo. hf_token is empty by default and only matters for gated or private repos - a 401/403 from Hugging Face is your cue to fill it in. Leave low_cpu_mem_usage on. The rest (device_pref, dtype_pref, dry_run) are the knobs above.

Installing it

Node Manager is the easy road: open it, hit Install from URL, paste https://github.com/suhee19/comfyui-orpheus-loader, restart, then search "Orpheus-TTS Base Loader". The README's your-username placeholder is a typo - the real repo is suhee19's. Or clone it manually:

cd ComfyUI/custom_nodes
git clone https://github.com/suhee19/comfyui-orpheus-loader
# restart ComfyUI

Dependencies are transformers, peft, accelerate, numpy, and soundfile - nothing exotic; if you've run any LLM or LoRA work in ComfyUI you probably already have most of them. What's actually heavy is the model: the first run downloads roughly 6 GB from Hugging Face, so budget the disk and the patience.

The honest bottom line

As a loader, it does its one job cleanly. As a TTS experience, it's a fragment - no inference node, no LoRA applier, no way to get a WAV file out. If you're assembling a bigger Orpheus setup and this is the missing piece, grab it. If you expected to type a line and hear a voice, this isn't that node yet - that part is what the pack hasn't shipped.

CategoryAudio/TTS

Inputs (6)

NameTypeDefaultDescription
base_model_idSTRINGunsloth/orpheus-3b-0.1-pretrained
device_prefCOMBO3 options: auto, cpu, cuda
dtype_prefCOMBO4 options: auto, float32, float16, bfloat16
hf_tokenSTRING
low_cpu_mem_usageBOOLtrue
dry_runBOOLfalse

Outputs (1)

NameTypeDescription
modelORPHEUS_MODEL