The TTS node generates narration audio from text. Unlike the analysis nodes, which describe a property of the media itself, TTS takes text produced by an upstream node — an LLM summary, a caption, or a translated transcript — and synthesizes speech, attaching the audio to the asset.
German is synthesized with Orpheus-3B / Kartoffel and English with Kokoro. Both run behind a small HTTP sidecar, so the node stays a pure client and needs no model runtime of its own.
Kind |
|
Applies to |
Any asset (the audio is generated from upstream text, not from the media) |
Inputs |
Text from an upstream node output — configurable, defaults to the |
Output keys |
|
Requirements |
A running TTS sidecar ( |
Persists to |
|
Configuration
TtsNodeOptions:
| Option | Meaning |
|---|---|
|
Address of the TTS sidecar (default |
|
|
|
Voice id for the selected engine (default |
|
Which upstream node output supplies the text (default |
Use Cases
-
Audio descriptions — speak an LLM-generated description or caption for accessibility.
-
Dubbing / narration — voice a translated transcript back onto the asset.
-
Bilingual output — German via Orpheus/Kartoffel, English via Kokoro, chosen per pipeline.
The sidecar is a small FastAPI service; see the server/ directory next to the node for how to run
it (including the production path where Orpheus runs on vLLM / llama.cpp).