Supernode Base (contract + linx)
The SuperNode that does nothing — and why your graph needs it
- upstream_contract
- linx
- module_01
- module_02
- module_03
- module_04
- module_05
- module_06
- contract
- linx
- report
Supernode Base has no image input, no model input, and produces zero pixels. First time you see it in a workflow you'll double-check you grabbed the right node. But it's the spine of the whole IAMCCS SuperNodes system: it writes the contract that every other SuperNode downstream reads before it runs.
IAMCCS's SuperNodes exist because LTX 2.x workflows turn into node spaghetti fast - frame math everywhere, VAE logic split across half the graph, one wrong value breaking everything three segments later. The Base node is the author's answer to that: a single place where you declare what kind of pipeline this is and which backend should run it, then pass that decision down as metadata instead of re-wiring.
What it actually does
When you hit Run, build() doesn't touch a sampler. It assembles a JSON-ish contract describing the pipeline - pipeline_kind, surface_profile, backend_binding, your node_label, plus any payloads - and a linx object that carries that context through the graph. Everything after it is "contract-aware": the AU+IMG2VID Exec nodes, the V2V bus, the Shotboard planners all read the linx to decide which backend path to take.
Three widgets matter:
- pipeline_kind - what you're doing:
v2v,i2v_flf,au_img2vid,img2vid_pure,t2v_pure,loop_img2vid,loop_t2v,audio_concat,wan_flf,wan_continuity. This is the contract's core promise. - surface_profile -
compact(default),progressive, ordebug_surface. Keepcompactuntil something's wrong;debug_surfacegives you more reporting to trace what ran. - backend_binding - which backend family should honor this contract, e.g.
ltx_v2v_disk,ltx_loop_low_ram_disk,wan_flf, orcustom. If you're building on LTX 2.3, theltx_*bindings are the ones you'll touch.
The optional module_01–module_06 slots let you hang extra contracts off the base, and upstream_contract chains a previous Base's output so you can stack pipeline stages.
Wiring it
Feed the linx output into whatever SuperNode executor follows (the AU+IMG2VID Exec Render is the usual next stop), and use contract as the reference output for anything that needs the pipeline spec. report is a plain string you can pipe into a Text node or your browser via the dev tools - useful when you're debugging why a workflow picked a backend you didn't expect.
Install
This ships inside IAMCCS-nodes. From ComfyUI Manager, search "IAMCCS" and install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Then restart ComfyUI. Requires ComfyUI ≥ 0.3.0, Python ≥ 3.12, and Torch ≥ 2.8. There's no extra requirements.txt - the SuperNodes lean on ComfyUI's native LTXV nodes plus VideoHelperSuite for the combine steps, so make sure those are present or the executors downstream will fail validation.
Gotchas
A contract is only as good as the node that honors it. If you set pipeline_kind to au_img2vid but bind to a wan_* backend, nothing will tell you it's wrong until segments come out wrong - the Base just records what you asked. Also: don't clone the pack folder twice in custom_nodes; a duplicated copy makes ComfyUI register nodes twice and the SuperNodes fail at startup. If a saved workflow's dropdowns look shuffled, the README's advice stands - recreate the affected node rather than fighting stale widget state.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeline_kind | COMBO | 11 options: v2v, i2v_flf, au_img2vid, img2vid_pure, t2v_pure, t_audio2vid, +5 | |
| surface_profile | COMBO | compact | 3 options: compact, progressive, debug_surface |
| backend_binding | COMBO | custom | 11 options: ltx_v2v_disk, ltx_audio_guided_lowram, ltx_i2v_flf, ltx_img2vid_pure, ltx_t2v_pure, ltx_audio2video, +5 |
| node_label | STRING | Base Supernode | — |
| notes | STRING | — | |
| upstream_contractopt | IAMCCS_SUPERNODE_CONTRACT | — | |
| linxopt | IAMCCS_SUPERNODE_LINX | — | |
| planner_payloadopt | STRING | — | |
| backend_payloadopt | STRING | — | |
| continuity_payloadopt | STRING | — | |
| second_stage_payloadopt | STRING | — | |
| module_01opt | IAMCCS_SUPERNODE_CONTRACT | — | |
| module_02opt | IAMCCS_SUPERNODE_CONTRACT | — | |
| module_03opt | IAMCCS_SUPERNODE_CONTRACT | — | |
| module_04opt | IAMCCS_SUPERNODE_CONTRACT | — | |
| module_05opt | IAMCCS_SUPERNODE_CONTRACT | — | |
| module_06opt | IAMCCS_SUPERNODE_CONTRACT | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| contract | IAMCCS_SUPERNODE_CONTRACT | — |
| linx | IAMCCS_SUPERNODE_LINX | — |
| report | STRING | — |