toobusy LTX2.3 Prompt Guide
An LTX 2.3 prompt guide that times your clip for the dialogue you wrote
- clip
- positive
- negative
- frame_rate_int
- frame_rate_float
- length
LTX 2.3 wants its prompts passed through a node called LTXVConditioning that stamps the frame rate onto the conditioning, and before that you need a plain CLIPTextEncode. That's two steps plus a calculation: if your prompt has dialogue, how long does the clip actually need to be for the words to fit? toobusy LTX2.3 Prompt Guide is those two steps plus that calculation in one node - type your scene, get conditioning plus a recommended duration that's actually based on your dialogue.
How it works
It calls CLIPTextEncode for positive and negative, then LTXVConditioning with your frame rate. The clever bit is the duration math. The node scans your prompt for quoted dialogue - single, double, Korean corner quotes, the lot - and estimates how long it takes to speak it: Korean text is read at roughly 5.5 characters per second, English at roughly 2.4 words per second, plus a second of padding. The result shows up in the node's UI as a recommended duration.
That matters more with LTX 2.3 than it sounds. The community consensus is that prompt adherence is still the model's weakest axis - you hunt seeds, not words - but a clip that's too short for its own dialogue is a mechanical failure no seed fixes. This node removes that failure class.
The inputs that matter
clip- your LTX text encoder (Gemma-family for LTX 2.3; the node doesn't care which, it just encodes).prompt- write it naturally. Put spoken lines in quotes so the duration estimator can see them.negative_prompt- ships with a sensible default ("pc game, console game, video game, cartoon...") that pushes back on the video-game look LTX drifts toward. Keep it unless you're deliberately doing that.frame_rateandduration_seconds- the defaults (24fps, 4s) are a fine start;duration_secondsis what the node turns into a frame count.language-Autodetects Hangul and uses the Korean reading-speed estimate; force Korean/English if it guesses wrong.
Outputs and where they go
positiveandnegative- the conditioned pair, straight intotoobusy LTX2.3 Compact AV Sampler(or the native sampler block).length- the frame count your duration+frame_rate worked out to, so the Empty AV Latents node and the sampler agree on clip length.frame_rate_int/frame_rate_float- pass-throughs for nodes that want one or the other.
Install and gotchas
Standard pack install (Manager search "toobusy", or git clone into custom_nodes), then restart. The hard dependency is ComfyUI's LTX 2.3 LTXV* node set - without it you'll get a clear "required node not available" error at runtime, because this is a thin fold over those native classes.
A practical note from the LTX playbook: this node gets your conditioning right, but don't over-write your prompt hoping for compliance. For 2.3, the winning move is generating a batch of short candidates on different seeds and picking - the prompt guide is for getting the structure and duration right, and that's its whole job.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| prompt | STRING | — | |
| negative_prompt | STRING | pc game, console game, video game, cartoon, childish, ugly, text, subtitles, caption, overlay effect | — |
| frame_rate | FLOAT | 24.001–120 | — |
| duration_seconds | FLOAT | 4.00.1–600 | — |
| language | COMBO | Auto | 3 options: Auto, Korean, English |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| frame_rate_int | INT | — |
| frame_rate_float | FLOAT | — |
| length | INT | — |