Nodes/IAMCCS-nodes/IAMCCS Cine Line Stacker
ComfyUI Node

IAMCCS Cine Line Stacker

The boring node that feeds the planners

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS Cine Line Stacker
    • lines
    • line_count
    • report
    modemultigen_shot_lines
    skip_emptyyes
    comment_header
    line_1
    line_2
    line_3
    line_4
    line_5
    line_6
    line_7
    line_8

    IAMCCS Cine Line Stacker is the least impressive node in this pack and one of the most useful in practice. It takes up to eight multiline strings, joins them into one string, and hands the result to the planner nodes that actually do the work. That's it. No AI, no tensors, no model. Just text plumbing - but text plumbing that keeps a multi-shot pipeline from becoming a rat's nest of Show Text nodes.

    The IAMCCS "Cine" system is built on pipe-delimited shot lines. The MultiGen Director wants seconds | cut_mode | ref | audio_index | label | prompt | dialogue | voice; the V2V timeline wants its own format; the PromptRelay timeline wants seconds | local prompt | camera note. This node is the friendly front-end for those formats: instead of hand-typing a giant raw string into a single text widget, you get one box per shot.

    How it works

    The core is a mode selector that changes nothing about the joining - it's a label for what the output will feed:

    • multigen_shot_lines - lines destined for the multi-generation director.
    • v2v_timeline_lines - lines for a V2V timeline planner.
    • generic_lines - anything else.

    skip_empty (default yes) drops blank lines, which matters because these planners treat blank lines as real shots if you let them through. comment_header lets you prepend comment lines; anything not starting with # gets one added automatically, so comments survive into the JSON the planners parse.

    Outputs: lines (the joined string), line_count (real, non-comment lines - useful for sanity-checking how many shots the planner will see), and report.

    The input you'll actually set

    • line_1 through line_8 - put one shot per line inside each. You don't need all eight; empty ones vanish when skip_empty is on.

    There's no secret here. If you've already got your shot data as a raw multiline string somewhere, skip this node and paste straight into the planner. It's for when you want editable, separated inputs or when an upstream node emits prompts per line.

    Install

    Standard pack install - Manager search IAMCCS, or:

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

    README floor: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8. Pure Python, no dependencies.

    Where people get burned

    • Forgetting mode. It doesn't change output, but the planners don't care what you label it either - it's metadata for humans. Pick the mode that matches your destination so your own workflow stays readable.
    • Comments vs. content. A line starting with # is a comment and is not counted in line_count but is still in the output string. Downstream parsers strip or respect them inconsistently, so if a shot mysteriously shows up as a comment, check the header.
    • The | separator is sacred. These lines get split on pipes downstream. If your shot prompt contains a literal |, the planner will read it as a new field. Avoid pipes in dialogue/prompts or escape them.
    • It's a thin convenience wrapper (subclass of the pack's LTX-2 cinematic line stacker, same code). Zero search impressions, one-author tooling - but this is one of the genuinely safe nodes to use standalone.
    CategoryIAMCCS/Cine/00 Utilities

    Inputs (11)

    NameTypeDefaultDescription
    modeCOMBOmultigen_shot_lines3 options: multigen_shot_lines, v2v_timeline_lines, generic_lines
    skip_emptyCOMBOyes2 options: yes, no
    comment_headerSTRING
    line_1optSTRING
    line_2optSTRING
    line_3optSTRING
    line_4optSTRING
    line_5optSTRING
    line_6optSTRING
    line_7optSTRING
    line_8optSTRING

    Outputs (3)

    NameTypeDescription
    linesSTRING
    line_countINT
    reportSTRING