IAMCCS Dialogue Line Router
Stop untangling dialogue lines by hand — pull them straight out of the board
- cine_linx
- line_1_text
- line_2_text
- line_3_text
- line_4_text
- foley_prompt
- report
If you've used the IAMCCS Shotboard to plan a dialogue scene, you know the board holds your lines but ComfyUI doesn't hand them to you one at a time - they're buried in a cine_linx metadata blob. IAMCCS Dialogue Line Router is the tiny node that pulls the first four dialogue lines out of that blob and gives each one its own STRING output, plus the foley prompt. That's the whole job, and it's exactly the right job.
The IAMCCS Cine system runs on a shared cine_linx state that carries the board, timeline, and audio metadata between nodes. When your Shotboard has four lines of dialogue and a foley note, they live inside that state as dialogue tracks. This node unwraps them.
How it works
It reads the dialogue tracks from the cine_linx you connect, takes the first four, and maps them to line_1_text through line_4_text. If the board has fewer than four lines, it backfills from the line_fallback multiline field - one line per row, in order. The foley_prompt output grabs the board's foley note from the audio tracks.
Inputs and outputs
The inputs are minimal:
cine_linx- required, the board state from your Shotboard/planner nodes.line_fallback- multiline text used to fill any of the four slots the board doesn't provide.
Outputs are line_1_text…line_4_text, foley_prompt, and a report (JSON) telling you how many lines were found. Wire the line outputs into per-line TTS calls, prompt slots, or queue text. foley_prompt goes wherever you build the sound effects prompt.
Installing it
It's part of IAMCCS-nodes, so install the pack once:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart ComfyUI (or search "IAMCCS" in ComfyUI Manager). Pack baseline: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. No models or extra downloads for this node.
The honest caveat
This node only finds what's actually in the board. If you wired it before the Dialogue Duration Planner (or whatever node writes the dialogue tracks), you'll get empty strings and a report showing line_count: 0 - and the line_fallback behavior can mask that by quietly filling blanks. Don't mistake a fallback-filled output for board data. It's also strictly a "read and split" utility: it doesn't touch timing or audio, so if you need durations computed, do that upstream with the planner, then route the finished lines here. For a pure breakout, it's one of the more immediately useful small nodes in the pack.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| line_fallback | STRING | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| line_1_text | STRING | — |
| line_2_text | STRING | — |
| line_3_text | STRING | — |
| line_4_text | STRING | — |
| foley_prompt | STRING | — |
| report | STRING | — |