ORPH_Combine
Stitch Orpheus token streams together, dialogue and all
- prompt_1
- ORPH_TOKENS
ORPH_Combine looks like the most boring node in the ComfyUI-Orpheus pack, and mostly it is - it concatenates token streams. But it's the node that makes two genuinely useful things possible: multi-turn dialogue (several ORPH_Prompt nodes talking to each other) and voice cloning (a text prompt stitched together with an encoded reference clip from ORPH_Encode).
If your workflow is the single "type this one line" case, you can skip it entirely. The moment you want a conversation, or a character voice that isn't in the built-in list, this is the node you're reaching for.
How it works
The backend is trivially honest: concat takes every prompt_N input it received and joins them in order, returning one ORPH_TOKENS stream. The interesting part lives in the frontend (web/orpheus.js), where the node is wired to grow its own inputs. Connect something to the last available input slot and a new prompt_N input appears; disconnect it and the slot disappears. The pack's own comment says it plainly: "most implementation is frontend."
Two practical consequences fall out of that design. First, the number of inputs you see is dynamic - it reflects how many segments you've actually wired up. Second, the wiring order is the concatenation order. Slot order equals token order equals the order the model hears things in. There's no "reorder" button, so if you want A before B, connect A into the lower slot.
The inputs and outputs that matter
prompt_1- required, anORPH_TOKENSstream. Usually from an ORPH_Prompt node, but it can just as easily be an ORPH_Encode output.prompt_2,prompt_3, … - the dynamic ones that appear as you connect.
The single output, ORPH_TOKENS, goes into ORPH_Sample's prompt input. For the voice-clone workflow, you typically wire an ORPH_Encode output (reference audio tokens) into one slot and your ORPH_Prompt text into another, and Sample speaks the text in the reference voice.
Installing it
Nothing pack-specific here - it ships with the rest. Install via ComfyUI Manager (search ComfyUI-Orpheus) or:
cd ComfyUI/custom_nodes
git clone https://github.com/AustinMroz/ComfyUI-Orpheus
Restart ComfyUI, and make sure the two weight files from the README are in place - Orpheus 3B in models/orpheus/, SNAC 24 kHz in models/vae/. Combine itself is pure token plumbing; it needs the weights only in the sense that the rest of the graph needs them to do anything with the result.
Common issues
- Order is wrong and there's no reorder control. Since inputs are dynamic and order = concatenation order, rewire rather than fight it. Disconnect the offending slot and re-connect in the right sequence.
- Doubled section tokens. Each ORPH_Prompt wraps its own human framing, and ORPH_Sample's
add_start_tokenadds the AI framing once - but if one of your inputs is an ORPH_Encode clip withformatting=BOTH, you've just added another AI-speech wrapper. Keep the framing bookkeeping on one side of the pipeline. - Garbage audio out. If any slot is fed tokens that aren't a valid speech segment (e.g. raw ORPH_Prompt text tokens in a slot where the model expects to be at a speech position), the decoded result will be nonsense. When in doubt, chain your text first, encoded audio second.
Combine is the connective tissue of the pack. Unspectacular on its own, indispensable the second your TTS needs more than one sentence.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt_1 | ORPH_TOKENS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ORPH_TOKENS | ORPH_TOKENS | — |