IAMCCS Take Router
Route one validated take into the Shotboard timeline before rendering
- cine_linx
- cine_linx
- take_package_json
- timeline_data
- report
Once a take is validated, something has to turn that identity into actual render instructions - a concrete timeline position, duration, and audio reference that the backend can act on. That's Take Router: it materializes a single take package into routed timeline_data right before generation runs.
It sits one step downstream of IAMCCS_TakePackage and does the "now actually point at the timeline" work. The take package carries identity; the router turns that identity into the timeline routing that the generation backend consumes, using the multigen resources embedded in the cine_linx. It's the handoff between "which take are we on" and "render it."
Inputs
- cine_linx - the metadata object carrying the take package (output of Take Package or the multigen bridge).
- duration_policy - how to reconcile durations when the visual timeline and the audio package disagree:
visual_timeline_truth(default) - trust the visual timeline's duration.hard_fail_mismatch- refuse to run if they differ.audio_package_truth- trust the audio package instead.
- strict_take_package - only
required; the router demands a real take package and raises otherwise. - timeline_data (optional) - pre-supplied timeline JSON if you want to route manually rather than deriving it from the take.
Outputs
- cine_linx - cloned metadata, stamped
iamccs_take_router. - take_package_json - the take identity, echoed.
- timeline_data - the routed timeline the backend will follow. This is the output that matters: it's what drives generation.
- report - status string.
Install
Ships with IAMCCS-nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
or via ComfyUI Manager (search "IAMCCS"), restart. Metadata-only node - no models.
Practical notes
The duration_policy dropdown is where the philosophy shows. In a well-behaved Shotboard project, visual timeline and audio should agree, so visual_timeline_truth is the safe default. If your project is audio-driven (a song where clip timing follows the music), audio_package_truth is your friend. And if you're mixing takes across shots and getting subtle drift, hard_fail_mismatch will stop you early instead of letting a mismatched take render. Like Take Package, this node is only meaningful inside the Shotboard/multigen system - a one-off LTX video doesn't need routing, because there's no timeline to route into.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| duration_policy | COMBO | visual_timeline_truth | 3 options: visual_timeline_truth, hard_fail_mismatch, audio_package_truth |
| strict_take_package | COMBO | required | 1 options: required |
| timeline_dataopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — |
| take_package_json | STRING | — |
| timeline_data | STRING | — |
| report | STRING | — |