IAMCCS Shotboard V4 Multigen Adapter
The compatibility shim that lets Shotboard V4 timelines feed the multigen backend
- cine_linx
- cine_linx
- timeline_data
- report
Every multi-timeline video pipeline eventually hits the version-skew problem: the Shotboard V4 planner stores its timeline in one format, the multigeneration backend expects another, and somebody has to translate. IAMCCS_ShotboardV4MultigenAdapter is that somebody. It takes a Shotboard V4 cine_linx (plus its timeline_data), normalizes it into the contract the V3 multigeneration backend understands, and hands back a compatible cine_linx and the normalized timeline JSON.
If you're running an all-current version of the pack you might not need it at all - the newer planner nodes speak the new format natively. You reach for this when you've loaded an older Shotboard V4 workflow, or when you're mixing planner generations, and the multigen backend is rejecting the timeline it's handed.
How it works
It pulls the timeline out of the incoming cine_linx (or uses the timeline_data you pass in), then normalizes it: it locates the active visual timeline, extracts its segments and rows, and rewrites the whole thing into the multiGeneration.visualTimelines shape the multigen backend expects. It also attaches the normalized JSON into the outgoing cine_linx under cine_board_timeline_data so downstream nodes don't need to re-read the raw string. The active_take_hint lets you suggest which take to treat as active when the timeline is ambiguous.
Two behaviors matter in practice. With strict_mode = hard_fail (the default), missing timeline data or an active timeline with no visual segments/rows raises a hard error instead of silently producing garbage. Switch to warn_only and it'll push through with whatever it can, which is useful for debugging but can hand the backend a malformed timeline.
Inputs and outputs
Inputs: cine_linx (required), strict_mode, active_take_hint, and optional timeline_data (use it when the linx doesn't carry the timeline, e.g. you're constructing one from scratch).
Outputs:
cine_linx- the normalized, backend-compatible bundletimeline_data- the normalized timeline as JSON textreport- a summary of what was adapted
Wire the cine_linx output into the multigen backend or the video editor.
Installing
ComfyUI Manager → search "IAMCCS", or
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart. No extra models or pip deps - this node is pure data normalization. The heavy lifting (the actual LTX/SCAIL/WAN generation) is done by the backend you're feeding.
Gotchas
The obvious one: if you're already on current versions of everything, this node is dead weight in the graph - it's a compatibility shim, not a processing stage, so leaving it in adds a hop for no benefit. And remember hard_fail is on by default: the first time you feed it a hand-edited timeline_data that doesn't have the structure it expects, it will refuse loudly. That's a feature - a malformed timeline downstream is a much harder bug to find than an error here.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| strict_mode | COMBO | hard_fail | 2 options: hard_fail, warn_only |
| active_take_hint | INT | 11–64 | — |
| timeline_dataopt | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — |
| timeline_data | STRING | — |
| report | STRING | — |