Nodes/IAMCCS-nodes/IAMCCS Cine Shotboard Backend Pro
ComfyUI Node

IAMCCS Cine Shotboard Backend Pro

Plan data in, sampler-ready conditioning out

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS Cine Shotboard Backend Pro
  • model
  • clip
  • cine_linx
  • optional_latent
  • relay_options
  • model
  • positive
  • negative
  • latent
  • promptrelay_enabled
  • report
negative_prompt
promptrelay_safety_budget_enabledtrue
promptrelay_safety_budget24000

IAMCCS Cine Shotboard Backend Pro is the node where the Shotboard's planning finally meets the sampler. Everything upstream - the prompt architect, the timeline, the reference control, the multi-gen director - produces metadata in the cine_linx plan bus. This node is where that metadata becomes actual conditioning: it reads the global/local prompts and segment lengths, builds the latent, encodes the negative, and calls PromptRelay if the plan demands it. What comes out the other end is a model, positive, negative, and latent you can drop straight into a KSampler.

Think of it as the "batteries included" encode stage for the whole Shotboard Pro pipeline. If you're hand-rolling a workflow, you don't need it - you'd build this exact sequence yourself with stock nodes. But that's precisely the tedium this node exists to remove.

How it works

Required: model, clip, and cine_linx. Optional: optional_latent (if you already have one), negative_prompt, relay_options, and the two PromptRelay safety controls.

At execution:

  1. It reads the plan from cine_linx: global prompt, local prompts, segment lengths, epsilon, duration/fps, resolution, and computes max_frames (rounded to the LTX-legal 8n+1 form) if the plan didn't include it.
  2. If no latent is provided, it builds an empty one at the plan's width/height/length.
  3. The negative is always a plain CLIPTextEncode (PromptRelay doesn't do negatives).
  4. For the positive: if local prompts and segment lengths are present, it loads PromptRelay's _encode_relay and runs it - unless the promptrelay_safety_budget (default 24000) estimates the conditioning matrix is too big, in which case it deliberately falls back to basic encoding. The budget is a guard against pathological prompt matrices that blow up VRAM.
  5. If anything in the relay path fails, it degrades to a basic global encode rather than crashing. The report output tells you exactly which branch ran and why.

Outputs: model, positive, negative, latent, promptrelay_enabled, report. It's marked IS_CHANGED = NaN, so it re-executes every queue even when inputs look identical - necessary, because the plan bus is side-channel metadata that wouldn't otherwise dirty the cache.

The inputs that matter

  • cine_linx - the whole plan. This is the dependency that makes or breaks the node.
  • promptrelay_safety_budget_enabled / promptrelay_safety_budget - the VRAM guard. Raise the budget if you're confident your prompt matrix is fine and you're being throttled.

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. Needs ComfyUI-PromptRelay for the relay path (it degrades gracefully without it) and the standard LTX sampling chain downstream.

Where people get burned

  • Empty plan = empty result. Without a populated cine_linx, global/local prompts are blank and you get a generic encode. If your output looks like "nothing happened," check the report - it lists the branch and inputs.
  • The safety budget throttles you silently. If promptrelay_enabled comes back false with long local prompts, the budget (24000) is the usual culprit. The formula in the code is roughly sum(segment_lengths) × len(local_prompts); long shots × many segments exceed it fast. Raise it knowingly.
  • Re-execution by design. The node always reruns (NaN change). That's correct for a metadata-driven node, but it means it's not a caching win - don't wire it into hot loops expecting cache hits.
  • It expects the Cine plan format. Other planners' JSON won't populate these fields. This is the Shotboard Pro backend; feed it Shotboard Pro plans.
  • Zero search impressions, one-author tooling. It's the workhorse of the author's pipeline and genuinely well-built (the fail-open design is a good idea), but it's only useful inside that pipeline.
CategoryIAMCCS/Cine/02 Single Generation

Inputs (8)

NameTypeDefaultDescription
modelMODEL
clipCLIP
cine_linxIAMCCS_SUPERNODE_LINX
optional_latentoptLATENT
negative_promptoptSTRING
relay_optionsoptRELAY_OPTIONS
promptrelay_safety_budget_enabledoptBOOLEANtrue
promptrelay_safety_budgetoptINT240001000–5000000

Outputs (6)

NameTypeDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
promptrelay_enabledBOOLEAN
reportSTRING