Cine H3 Audio Bus (Shotboard Lanes)
Turn the Shotboard's hidden audio lanes into real AUDIO sockets
- cine_linx
- cine_linx
- audio_1
- audio_2
- audio_3
- audio_4
- audio_5
- audio_6
- audio_7
- audio_8
- audio_metadata_json
Here's the thing nobody tells you about the IAMCCS Shotboard: it doesn't hand you live audio. The Shotboard's timeline stores audio as metadata - a list of audioSegments that reference files sitting in ComfyUI/input - not as AUDIO tensors you can plug into a sampler's conditioning. That's fine for editing, useless for generation. IAMCCS_CineH3AudioBus is the bridge: it reads the shotboard's audio timeline out of your cine_linx bus, loads the actual files with the exact same decoder ComfyUI's Load Audio node uses, and exposes them as up to eight native AUDIO outputs (audio_1 through audio_8).
In the MiniMax H3 Shotboard pipeline this is the node you need before anything that wants to hear the timeline - the audio policy nodes, the R21 audio drive, the chunk mixdown. You get one input, cine_linx, and eight lanes out, which tells you the design intent: this is a fan-out, not a mixer. Mixing is somebody else's job downstream.
How it works is worth understanding because it explains two common surprises. The node walks the timeline's audioSegments, skips placeholder segments, and for each real one it looks at the segment's source-audio index to decide which lane it belongs on. Then it loads the referenced file from ComfyUI/input and builds a per-lane manifest: start_seconds, duration_seconds, trimStart, track, gain, pan, fadeInFrames/fadeOutFrames, mute and solo. That manifest goes out as audio_metadata_json, and it's genuinely the most useful string in this graph - when audio lands on the wrong lane or at the wrong offset, the manifest is where you see why.
Two guardrails, both of which will bite you if you ignore them:
- The referenced file must exist in
ComfyUI/inputand its path must not escape it. The node hard-fails with a clear message ("Shotboard audio file not found in ComfyUI/input") rather than silently loading nothing. If you get that error, your shotboard was saved on another machine, or the file got moved. - A segment mapping to a lane beyond 8 raises an error. If your timeline genuinely needs more lanes, you have a pipeline-design problem, not a node problem.
Outputs worth naming: audio_1..audio_8 are the lane tensors (each in ComfyUI's standard {"waveform", "sample_rate"} AUDIO shape), and audio_metadata_json is the manifest. The node also writes the manifest back into the bus resources, so downstream IAMCCS audio nodes can re-derive it without you re-wiring.
Installation is the pack-wide story: search IAMCCS in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
then restart. No pip extras for this node - the decoder it reuses ships with ComfyUI. It does expect a "current" ComfyUI build because it leans on comfy_extras.nodes_audio, and the MiniMax H3 side of this workflow wants a build with native H3 AV conditioning plus the usual companion packs (ComfyUI-GGUF, KJNodes, and the H3 Turbo pack if you run the Turbo route).
One gotcha specific to the MiniMax H3 docs worth repeating: only one copy of the pack in custom_nodes, or you can end up with stale IAMCCS_SUPERNODE_LINX handling and the bus this node reads from can look subtly different between runs. And if you ever see it load the wrong file into a lane, check the segment's audio_input index first - user-facing indices are one-based, and this node tolerates a zero as a hint for lane 1, which occasionally trips people up when they set indices in the Shotboard UI.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — |
| audio_1 | AUDIO | — |
| audio_2 | AUDIO | — |
| audio_3 | AUDIO | — |
| audio_4 | AUDIO | — |
| audio_5 | AUDIO | — |
| audio_6 | AUDIO | — |
| audio_7 | AUDIO | — |
| audio_8 | AUDIO | — |
| audio_metadata_json | STRING | — |