⚙️ DramaBox Engine
The expressive TTS that wants your whole GPU
- TTS_engine
If you've ever wished your TTS would act a line instead of reading it like a GPS, DramaBox is the engine you've been waiting for - and it's also the one that'll make you check your VRAM counter twice. It's Resemble AI's 3.3B expressive TTS model, and it's the closest thing in open weights to an actual director's chair. You write prose around quoted dialogue - stage directions, delivery, even a sigh - and the model performs it.
DramaBox is one of the engines inside TTS Audio Suite (diodiogod's catch-all TTS pack, evolved from the old ChatterBox SRT project). This node configures the engine; its single TTS_engine output feeds the suite's Unified TTS Text or Unified SRT TTS nodes, where the actual generation happens. You don't call anything here - this is pure setup.
How it works
Under the hood DramaBox is an LTX-family diffusion model for audio, and it brings diffusion-adjacent controls with it. It uses CFG (text guidance) plus STG (skip-token guidance) to follow your prompt, a negative prompt to discourage artifacts, and a duration estimator that predicts how long each line should take. It's English-only, and the reference window matters: connect a voice reference and the first ref_duration seconds (default 10) are what get cloned.
The prompt_template field is the secret sauce. Default is "{seg}" - every plain line is treated as spoken dialogue. Change it to something like A man speaks warmly, "{seg}" and every segment picks up that delivery. That's how you get a whole audiobook narrated in one consistent mood without editing per line.
The inputs that actually matter
You'll touch maybe four of these:
cfg_scale(2.5) - higher is more text-faithful, lower is more natural. If output sounds forced, drift it down toward 2.stg_scale(1.5) - skip-token guidance. Leave it alone until you know what you're doing; it's not the knob you think it is.memory_mode-fastkeeps everything on CUDA and targets roughly 24GB VRAM.stagedandsequentialare experimental ways to fit less VRAM by reloading components per segment. Real, but slow.ref_duration- seconds of your reference audio that get used. A clean 10-second single-speaker clip beats a 30-second one with noise.
gen_duration should stay at 0 (automatic estimation) for normal work - it's for explicit per-segment durations. transformer_quantization offers fp8_cast for lower VRAM at some speed cost, compile_model trades a very slow first generation for faster later ones, and the local_lora_adapter / lora_strength inputs load a trained DramaBox LoRA right here. The seed isn't on this node - the unified TTS nodes supply it.
Installing it
Install the pack once, then this node just works:
cd ComfyUI/custom_nodes
git clone https://github.com/diodiogod/TTS-Audio-Suite.git
cd TTS-Audio-Suite
python install.py # or ../../../python_embeded/python.exe install.py on portable
ComfyUI Manager works too - search "TTS Audio Suite". The installer sorts out Python 3.12+/3.13 compatibility and dependency conflicts. On first run the model auto-downloads roughly 16.4GB into ComfyUI/models/TTS/dramabox/DramaBox/ (including the bundled 4-bit Gemma text encoder), so budget disk and patience. You need a CUDA GPU; CPU inference is unsupported.
Where people get burned
VRAM. The community consensus is that 16GB runs it only with memory tricks - people reach for staged mode, fp8_cast, and offloading to keep it alive. If it OOMs, that's the first thing to try, not a bug report.
Near-silent output. DramaBox occasionally returns a near-silent clip for a particular reference/duration/seed combination. The suite detects it and prints a warning - preserve the audio, try a different seed or reference window, and move on.
The license. DramaBox ships under the LTX-2 Community License. Free under USD $10M annual revenue (all revenue, not profit, and affiliates count), paid above that. Fine for hobbyists and small studios; not free forever.
The first generation also downloads and loads Gemma, so it feels like the node is broken. It isn't. Give it a minute.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | DramaBox | Official Resemble AI DramaBox 3.3B checkpoint. Downloads about 16.4 GB. Fast mode targets roughly 24 GB VRAM; experimental staged modes can use less. LTX-2 Community License: entities with at least USD 10M annual revenue need a paid commercial license. |
| device | COMBO | auto | DramaBox requires an NVIDIA CUDA GPU; CPU inference is unsupported. |
| cfg_scale | FLOAT | 2.51–10 | Official CFG scale. Lower is more natural; higher is more text-faithful. |
| negative_prompt | STRING | worst quality, inconsistent, robotic, distorted, noise, static, muffled, unclear, unnatural, monotone | CFG negative prompt: sounds or qualities to discourage. |
| stg_scale | FLOAT | 1.50–5 | Official skip-token guidance scale. |
| duration_multiplier | FLOAT | 1.100.5–3 | Scales DramaBox's native estimated output duration. Increase for more breathing room; decrease for tighter speech. |
| gen_duration | FLOAT | 0.00–60 | Explicit duration for each generated segment. 0 uses automatic prompt-based estimation and duration_multiplier. Keep 0 for normal SRT generation until native duration targeting is integrated. |
| ref_duration | FLOAT | 10.03–30 | Seconds used from the beginning of the voice reference. Audio after this point is ignored. |
| rescale_scale | STRING | auto | CFG latent rescaling: auto, or a fixed value from 0 to 1. Auto adjusts rescaling from cfg_scale. |
| watermark | BOOLEAN | false | Apply the official imperceptible Perth watermark. Disabled by default to keep watermarking optional; requires Perth. |
| prompt_template | STRING | "{seg}" | Template applied to each plain segment. {seg} is replaced by the segment text. Default: "{seg}" (literal spoken dialogue). Example with a delivery description: A man speaks warmly, "{seg}". Clear the field to send text unchanged. Non-empty templates should contain {seg}; if omitted, a quoted {seg} is appended automatically with a console warning. Complete scene prompts are preserved. |
| precisionopt | COMBO | auto | LTX inference precision. Auto prefers bfloat16 on Ampere-or-newer GPUs. |
| memory_modeopt | COMBO | fast | Fast keeps every component on CUDA. Staged and Sequential are experimental strategies for lowering peak VRAM. Staged releases temporary components; Sequential runs one major GPU stage at a time. |
| transformer_quantizationopt | COMBO | none | Official LTX FP8 weight-storage policy for the diffusion transformer. fp8_cast lowers VRAM but upcasts each linear layer during inference. DramaBox LoRAs remain as an unmerged BF16 branch over the FP8 base. |
| compile_modelopt | BOOLEAN | false | Compile the diffusion transformer blocks. First generation is much slower and may reserve more VRAM; later denoising can be faster. |
| local_lora_adapteropt | COMBO | None | Optional DramaBox audio LoRA discovered under models/TTS/dramabox/loras. Training outputs are copied there when a run completes. |
| lora_adapter_overrideopt | STRING | Advanced local path to a DramaBox LoRA file or adapter folder. If filled, this overrides the local adapter dropdown. | |
| lora_strengthopt | FLOAT | 1.000–2 | Scale applied to the trained DramaBox LoRA. 1.0 uses the adapter's trained strength; 0 disables it. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| TTS_engine | TTS_ENGINE | — |