Nodes/IAMCCS-nodes/IAMCCS Cine Shot Audio Director
ComfyUI Node

IAMCCS Cine Shot Audio Director

Pick shot 4's audio, pad it, and hand it to the sampler — in one node

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS Cine Shot Audio Director
  • audio_1
  • audio_2
  • audio_3
  • audio_4
  • audio_5
  • audio_6
  • audio_7
  • audio_8
  • audio
  • audio_seconds
  • report
audio_index1
target_duration_seconds4.00
fallbacksilent
trim_or_padpad_or_trim
silent_sample_rate44100

In a multi-shot LTX audio-video pipeline, audio isn't a single clip - it's eight lanes you route to different shots, and each shot needs its audio sliced to exactly the right length or the conditioning math breaks. IAMCCS Cine Shot Audio Director is the routing node for that. You point it at which audio lane a shot uses, tell it how long the shot is, and it returns the correctly trimmed-or-padded audio plus its true duration. It's the audio twin of the Multi-Gen Director's audio_index concept, made concrete.

It's a small node, but it solves a surprisingly frequent failure: LTX audio conditioning that silently drops or extends because the audio length doesn't match the segment's frame count. Every long-video person who's seen "conditioning length mismatch" at step 200 knows this pain.

How it works

Required inputs:

  • audio_index - which of the 8 lanes to pick (1–8; 0 means none).
  • target_duration_seconds - the shot length the audio must match.
  • fallback - what to do if that lane isn't connected: silent (generate zeros at silent_sample_rate, default 44100), first_connected, or error.
  • trim_or_pad - pad_or_trim (default) enforces the exact target length by slicing or zero-padding; as_is passes the audio through untouched.
  • silent_sample_rate - sample rate for the synthetic silence.

The optional audio_1audio_8 inputs are your lanes. The node unwraps whatever AUDIO format you fed it (it tolerates the various dict/list shapes the ecosystem produces), normalizes the waveform, and does the trim/pad math in samples.

Outputs: audio (ready to feed your LTX audio VAE encoder), audio_seconds (the actual resulting length - verify this matches your segment), and report.

Install

In IAMCCS-nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git

or Manager → search IAMCCS. README floor: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. To actually use the audio you need the LTX audio-video nodes (native in recent ComfyUI) and the LTX audio VAE.

Where people get burned

  • The silent fallback is silent. fallback: silent means a missing lane produces zeros, not an error. Your video will generate with no sound for that shot and nothing will tell you. If you'd rather know, set fallback: error.
  • Sample-rate drift. silent_sample_rate only affects generated silence. Real audio keeps its own rate - if your lanes mix 44.1k and 48k, downstream encoding can behave inconsistently. Normalize at the source.
  • as_is doesn't protect you. Choosing as_is skips the length fix; if the lane is shorter than the segment, the conditioning mismatch returns. Use it only when you've already matched lengths upstream.
  • Off-by-one on lanes. This node's audio_index is 1-based against audio_1…audio_8. If the plan's audio_index was written 0-based (some planners do), every shot will grab the wrong lane.
  • Zero search impressions, one-author tooling. It's a leaf node and safe to adopt on its own, but it's really built for the Shotboard audio-routing pipeline.
CategoryIAMCCS/Cine/03 Multi Generation

Inputs (13)

NameTypeDefaultDescription
audio_indexINT10–8
target_duration_secondsFLOAT4.000–36000
fallbackCOMBOsilent3 options: silent, first_connected, error
trim_or_padCOMBOpad_or_trim2 options: pad_or_trim, as_is
silent_sample_rateINT441008000–192000
audio_1optAUDIO
audio_2optAUDIO
audio_3optAUDIO
audio_4optAUDIO
audio_5optAUDIO
audio_6optAUDIO
audio_7optAUDIO
audio_8optAUDIO

Outputs (3)

NameTypeDescription
audioAUDIO
audio_secondsFLOAT
reportSTRING