IAMCCS Cine Shotboard V4 Backend
Where a shotboard plan actually becomes a conditioned model and latents
- model
- clip
- cine_linx
- audio_vae
- optional_latent
- model
- positive
- video_latent
- audio_latent
- guide_data
- motion_guide_data
- frame_rate
- combined_audio
The planners are the screenwriting; this is the production company. IAMCCS Cine Shotboard V4 Backend is the execution half of the V4 pair: it takes the cine_linx plan from a V4 (or V3) planner, plus your loaded model and clip, and returns a conditioned model, video and audio latents, guide data, and motion guide data - everything a sampler needs, with all the LTX housekeeping done for you.
This is a big node under the hood (it's the largest source file in the cine family), and most of that complexity is about one thing: making the editorial timeline the source of truth. It resolves the timeline's duration, start frame, and frame rate; it handles the LTX 8n+1 length rounding; it builds audio for the exact duration you asked for and separately for the padded latent length the sampler needs; it encodes the audio latent through your audio_vae; and it packs image guides into guide_data and camera/motion timing into motion_guide_data. If a retake is active, it also resolves the source clip's in/out window so a stale canvas duration never retimes the source footage.
The inputs. Required are just model, clip, and cine_linx. The optional controls are where you get opinions:
audio_vae- needed for the audio latent path. No audio VAE, no audio.use_custom_audio(default off) anduse_custom_motion(default on) - whether the timeline's audio/motion segments override the defaults.inpaint_audio(default on) andoverride_audio(default off) - audio inpainting and full override switches.start_frameandduration_frames- manual overrides, only used if the timeline doesn't already define them.custom_width/custom_height,resize_method(defaultcrop),divisible_by(32) - canvas control when you want to force resolution.epsilon(0.001) - the PromptRelay timing tolerance, passed through to relay encoding.timeline_dataandglobal_prompt- fallback text if thecine_linxdoesn't carry them.
The outputs. model (patched/relay-enabled), positive (conditioning with local prompts and guide timings baked in), video_latent, audio_latent, guide_data, motion_guide_data, frame_rate (FLOAT, resolved), and combined_audio (the mixed timeline audio as an AUDIO tensor). Wire the latents into your sampler, the audio latent into the audio VAE decode side, and keep guide_data/motion_guide_data for any guide-aware nodes downstream.
Install. Same pack: ComfyUI Manager (search "IAMCCS"), or git clone https://github.com/IAMCCS/IAMCCS-nodes into custom_nodes, restart. ComfyUI ≥ 0.3.0, Python ≥ 3.12. No bundled models, but this node genuinely needs the full LTX-2.3 audio+video stack - model, CLIP, video VAE, and audio VAE - or the audio/motion outputs won't have anything to work against.
Gotchas. Because this node re-resolves everything from the timeline, the backend widgets are explicitly a fallback - if your cine_linx already carries duration, prompt, and audio segments, the widgets get ignored, and the report-style debug dict (inside guide_data["iamccs_backend"]) will tell you which source won. Check that when results surprise you. And the usual: keep the pack updated - the V4 contract moves as the author ships, and a stale install is the most common cause of "planner says one thing, backend does another."
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| audio_vaeopt | VAE | — | |
| optional_latentopt | LATENT | — | |
| timeline_dataopt | STRING | — | |
| global_promptopt | STRING | — | |
| start_frameopt | INT | 00–100000 | — |
| duration_framesopt | INT | 00–100000 | — |
| frame_rateopt | FLOAT | 0.000–240 | — |
| use_custom_audioopt | BOOLEAN | false | — |
| use_custom_motionopt | BOOLEAN | true | — |
| inpaint_audioopt | BOOLEAN | true | — |
| override_audioopt | BOOLEAN | false | — |
| custom_widthopt | INT | 00–8192 | — |
| custom_heightopt | INT | 00–8192 | — |
| resize_methodopt | COMBO | crop | 5 options: maintain aspect ratio, stretch to fit, pad, pad green, crop |
| divisible_byopt | INT | 321–256 | — |
| img_compressionopt | INT | 00–100 | — |
| epsilonopt | FLOAT | 0.00100.0001–0.99 | — |
Outputs (8)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| positive | CONDITIONING | — |
| video_latent | LATENT | — |
| audio_latent | LATENT | — |
| guide_data | GUIDE_DATA | — |
| motion_guide_data | MOTION_GUIDE_DATA | — |
| frame_rate | FLOAT | — |
| combined_audio | AUDIO | — |