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

IAMCCS Project Timeline Planner

Plan a 3-minute LTX-2 project in segments before you render a frame

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
IAMCCS 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

LTX-2 can't generate a three-minute clip, but it can generate a project if someone does the math first. That's the job of IAMCCS_ProjectTimelinePlanner: it takes your target duration (or audio), breaks it into LTX-sized segments with overlap, applies LTX-2's 8n+1 frame constraint to every segment, and hands you the full plan - segment ranges, total frames, and a payload downstream nodes consume. Plan once, render segment by segment, stitch.

It's from the IAMCCS/Ltx2 Helper Modules section of IAMCCS-nodes, part of the author's audio+img2vid goal-1 pipeline (the pack's LTX-2.3 low-VRAM workflows that made the rounds on r/comfyui are built on exactly this planning-then-segmenting approach, so this node is squarely in that tradition).

How it works

You give it a goal and it derives the numbers. goal1_preset picks a profile - lowram_safe_videoclip, lowram_fast_videoclip, normal_quality_videoclip, lowram_monologue, or custom - which seeds sensible segment sizes and backends for the kind of project you're planning. duration_source decides what anchors the plan: target_duration_seconds, or audio (uses a connected AUDIO input's length), or max_audio_target (the longer of the two).

planning_mode is where the thinking happens: auto_profile picks segment sizing from the content profile, or manual_segment_seconds lets you set segment_seconds yourself. overlap_frames (default 9) is the crossover between segments - the frames that get generated twice so the stitch isn't a hard cut. ltx_round_mode (up/nearest/down) decides how each segment's frame count snaps to 8n+1 - and given the VAE constraint, up is almost always the right call. content_profile (videoclip/monologue) and surface_profile tune how the plan is laid out. backend_binding selects the render backend (ltx_audio_guided_lowram / ltx_audio_guided_normal / custom).

Inputs and outputs

Required: goal1_preset, fps (24), segment_seconds (10), target_duration_seconds (30), duration_source, planning_mode, content_profile, overlap_frames, ltx_round_mode, surface_profile, backend_binding. Optional: audio, upstream_contract, linx.

Outputs: project_timeline_payload (STRING), contract, linx, plus the derived numbers - total_frames, segment_count, total_seconds, segment_seconds_out, unique_segment_frames, segment_ranges_json, and report.

How to install

Part of IAMCCS-nodes. ComfyUI Manager search "IAMCCS", or:

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

Restart. No model downloads here - LTX-2 checkpoint, VAE, and audio models are separate. Pack floors: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8.

Gotchas

Presets are starting points, not promises - lowram_safe_videoclip won't make LTX-2 run on 4GB, it just picks conservative segment and backend settings. Check the derived outputs (total_frames, segment_count) before rendering a long project; if segment_count is 1, you mis-set something and you're about to plan one giant segment. The overlap_frames default of 9 is the author's tested crossover for LTX-2 stitching - raise it if your seams flicker, but each extra overlap frame is extra render cost on both sides. And remember LTX-2's broader quirks still apply downstream: the model punishes short prompts, renders internally at half resolution (so request higher), and its audio output is decent but tinny - the plan gets you the structure, not a free pass on the model's personality.

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