Nodes/IAMCCS-nodes/IAMCCS Cine Shotboard V3B · LTX 2.5 BBox
ComfyUI Node

IAMCCS Cine Shotboard V3B · LTX 2.5 BBox

The shot planner that turns a timeline into an LTX 2.5 bounding-box movie

By IAMCCS·Created 11 months ago·Updated a day ago· 113
IAMCCS Cine Shotboard V3B · LTX 2.5 BBox
    • cine_linx
    global_promptA coherent cinematic shot with stable subjects and controlled motion.
    timeline_data
    duration_seconds5.0
    frame_rate24
    image_paths
    image_width768
    image_height448
    image_resize_methodcrop
    image_multiple_of32
    img_compression0
    bbox_enabledtrue
    bbox_project_json{"schema": "iamccs.ltx25.shotboard.v3b.bbox", "version": 1, "style_prompt": "Cinematic natural light, steady eye-level camera, realistic textures and colors.", "scene_prompt": "", "objects": []}

    Here's the trick that makes this one worth understanding: it isn't a shot planner in the "write nice prompts" sense. It's a spatial animator. IAMCCS's LTX 2.5 BBox workflow uses animated bounding boxes - you tell it an object lives in a region of frame, and that region moves over the timeline - to drive regional conditioning inside LTX 2.5. This node is where your storyboard timeline and those boxes get compiled into one machine-readable plan.

    It's the "planner" half of a pair. The other half is IAMCCS_LTX25BBoxBackend, which actually applies the plan to a model, latent, CLIP and VAE. This node only builds the bus.

    How it works

    You give it a timeline (segments with start/length/prompt/image refs), a set of reference image paths, and a bbox_project_json describing moving bounding-box objects. It normalizes everything - clamps frame ranges, rounds duration to LTX-legal frame counts, sorts segments, attaches reference images to segments by ref - and then packs the whole thing into a single cine_linx bus. The backend contract is explicit in the payload: coordinates are normalized_xyxy, control is a black hollow white bbox with a center dot and 5-frame trail. Read that as: this is a drawing-a-control-video convention, not a prompt convention.

    The widgets marked "Owned by the autonomous V3B UI" (timeline_data, image_paths, bbox_project_json) are intentionally hands-off: the V3B frontend edits them. If you're building by hand you can still fill the boxes - the defaults are sane - but expect the UI to take ownership when it's running.

    Inputs that matter

    • global_prompt - the through-line prompt for the whole shot.
    • timeline_data - JSON timeline of segments (type, start, length, prompt, image refs).
    • duration_seconds, frame_rate - 5s / 24fps defaults; frame count gets rounded for LTX.
    • image_paths - newline-separated reference images.
    • image_width / image_height / image_resize_method / image_multiple_of / img_compression - how the reference stills are loaded (768×448 default, crop, multiple of 32).
    • bbox_enabled - master switch. Off means the whole BBox branch is dead and the backend refuses to run.
    • bbox_project_json - the object/keyframe list, as JSON. This is the heart of the regional animation.

    Outputs

    • cine_linx - one bus, ready for IAMCCS_LTX25BBoxBackend. That's it. Everything the backend needs (global/local prompts, segment lengths, first image, the compiled bbox project) rides inside it.

    Install

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

    or ComfyUI Manager → search IAMCCS. The heavy lift is LTX itself: you need ComfyUI's native LTX-2.5 support with a model, CLIP, Video VAE - LTX-2.3+ is under the Lightricks community license (free under $10M revenue), and the V3B backend calls LTX-native nodes like LTXRegionalBBoxAnimator and LTXApplyRegionalConditioning. No extra Python deps beyond the pack.

    Gotchas

    • This node only makes sense upstream of IAMCCS_LTX25BBoxBackend inside the V3B shotboard workflow. Its output is a bus, not pixels.
    • BBox control enabled but no enabled objects/keyframes → the backend raises "has no enabled BBox objects/keyframes". Build the box animation first, enable control second.
    • If you hand-fill timeline_data and the V3B UI overwrites it, that's the ownership contract working as documented, not a bug.
    CategoryIAMCCS/Cine/LTX 2.5 BBox

    Inputs (12)

    NameTypeDefaultDescription
    global_promptSTRINGA coherent cinematic shot with stable subjects and controlled motion.
    timeline_dataSTRINGOwned and edited by the autonomous V3B UI.
    duration_secondsFLOAT5.00.1–3600
    frame_rateINT241–120
    image_pathsSTRINGOwned by the autonomous V3B image slots.
    image_widthINT76864–8192
    image_heightINT44864–8192
    image_resize_methodCOMBOcrop4 options: crop, pad, keep proportion, stretch
    image_multiple_ofINT321–512
    img_compressionINT00–100
    bbox_enabledBOOLEANtrue
    bbox_project_jsonSTRING{"schema": "iamccs.ltx25.shotboard.v3b.bbox", "version": 1, "style_prompt": "Cinematic natural light, steady eye-level camera, realistic textures and colors.", "scene_prompt": "", "objects": []}Owned by the autonomous V3B BBox Director.

    Outputs (1)

    NameTypeDescription
    cine_linxIAMCCS_SUPERNODE_LINX