Nodes/IAMCCS-nodes/IAMCCS_Ltx2HelperModules Project Timeline Planner
ComfyUI Node

IAMCCS_Ltx2HelperModules Project Timeline Planner

See the whole LTX-2 project before you render a frame

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS_Ltx2HelperModules Project Timeline Planner
  • audio
  • upstream_contract
  • linx
  • project_timeline_payload
  • contract
  • linx
  • total_frames
  • segment_count
  • total_seconds
  • segment_seconds_out
  • unique_segment_frames
  • segment_ranges_json
  • report
goal1_presetcustom
fps24.00
segment_seconds10.00
target_duration_seconds30.00
duration_sourcetarget_duration_seconds
planning_modeauto_profile
content_profilevideoclip
overlap_frames9
ltx_round_modeup
surface_profilecompact
backend_bindingltx_audio_guided_lowram

The Ltx2HelperModules Planner answers "what does the current segment look like?" - useful mid-loop, but you can't see the forest. ProjectTimelinePlanner is the same family planning the whole project up front: total frames, every segment's range, duration math, and a ready-to-use segments list in JSON, before you generate a single frame. It's the planning pass you run once to sanity-check a piece before committing GPU-hours to it.

Technically this is the same class as the pack's IAMCCS_ProjectTimelinePlanner (both names resolve to the same node - the helper-module naming is a thin compatibility alias). So if you've seen one, you've seen the other; the point of the node is the whole-timeline view.

How it works

It wraps the same SegmentPlanner engine as the per-segment Planner, but instead of slicing out one segment_index, it builds the full segment array: for each segment it computes start_frame, end, and duration, then bundles it all into a project_timeline_payload JSON with the segment list and "meter marker" frame positions (the start of every segment plus the final frame - handy for overlaying progress markers on a timeline).

Shared behavior with the per-segment planner:

  • duration_source - target_duration_seconds, audio, or max_audio_target. For audio-driven work, feeding the audio input and picking audio plans the video to exactly match your soundtrack.
  • goal1_preset - lowram_safe_videoclip, lowram_fast_videoclip, normal_quality_videoclip, lowram_monologue, or custom. Preset chooses planning mode, content profile, and backend binding.
  • ltx_round_mode - keeps every segment's frame count LTX-legal (8n+1) as it plans.
  • overlap_frames - how many frames each segment overlaps its predecessor (default 9), which is how a multi-segment video stays continuous.

The inputs and outputs that matter

You set: fps, target_duration_seconds, segment_seconds, duration_source, goal1_preset, and optionally overlap_frames. Everything else can ride defaults.

Outputs: project_timeline_payload (the full JSON plan) and segment_ranges_json (just the segments - easy to paste into anything), contract/linx plumbing, then the numbers you actually want to read: total_frames, segment_count, total_seconds, segment_seconds_out, unique_segment_frames, and report. segment_count is the honest answer to "how many 8-10s clips is this going to cost me."

Installing it

Ships in IAMCCS-nodes under IAMCCS/Ltx2 Helper Modules. Manager → search "IAMCCS" → install, or:

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

Restart ComfyUI. No models; audio-duration mode needs MTB's Audio Duration node upstream.

Common issues

Two things trip people up. First, this is a planning node - it doesn't render, doesn't write files, and the payload is just a contract for the rest of the chain. People occasionally wire its output straight into a sampler and wonder why nothing happens; the actual sampling path is the per-segment Planner + Continuity/ExtendSampler chain, which you drive in a loop. Second, unlike the per-segment planner there's no segment_index - if you're looking for the current segment's numbers, this isn't the node; it's the whole-project view, and the running loop needs Ltx2HelperModules Planner instead. And if total_frames looks wrong, check duration_source: the audio option silently overrides your target when audio is connected, which is correct for audio-driven work and surprising otherwise.

CategoryIAMCCS/Ltx2 Helper Modules

Inputs (14)

NameTypeDefaultDescription
goal1_presetCOMBOcustom5 options: custom, lowram_safe_videoclip, lowram_fast_videoclip, normal_quality_videoclip, lowram_monologue
fpsFLOAT24.000.001–240
segment_secondsFLOAT10.000.01–3600
target_duration_secondsFLOAT30.000.01–36000
duration_sourceCOMBOtarget_duration_seconds3 options: target_duration_seconds, audio, max_audio_target
planning_modeCOMBOauto_profile2 options: manual_segment_seconds, auto_profile
content_profileCOMBOvideoclip2 options: videoclip, monologue
overlap_framesINT90–4096
ltx_round_modeCOMBOup3 options: up, nearest, down
surface_profileCOMBOcompact3 options: compact, progressive, debug_surface
backend_bindingCOMBOltx_audio_guided_lowram3 options: ltx_audio_guided_lowram, ltx_audio_guided_normal, custom
audiooptAUDIO
upstream_contractoptIAMCCS_SUPERNODE_CONTRACT
linxoptIAMCCS_SUPERNODE_LINX

Outputs (10)

NameTypeDescription
project_timeline_payloadSTRING
contractIAMCCS_SUPERNODE_CONTRACT
linxIAMCCS_SUPERNODE_LINX
total_framesINT
segment_countINT
total_secondsFLOAT
segment_seconds_outFLOAT
unique_segment_framesINT
segment_ranges_jsonSTRING
reportSTRING