AU+IMG2VID Planner (legacy alias)
The head of the AU+IMG2VID chain that decides how many segments your video needs
- audio
- upstream_contract
- linx
- planner_payload
- contract
- linx
- segment_count
- continuation_loops
- current_segment_start_frames
- current_segment_unique_frames
- current_source_end
- report
- total_frames
- unique_segment_frames
- first_segment_raw_frames
- continuation_raw_frames
- fps_out
If you've seen the LTX-2 audio + image-to-video SuperNode workflows the IAMCCS author publishes, this is the node at the very top of them. IAMCCS_AUIMG2VID_Planner is a legacy alias - in the source it's literally the same class as IAMCCS_Ltx2HelperModules_Planner, just registered under the old name so earlier AU+IMG2VID workflows keep loading without JSON edits. It's the planning brain: given a target duration (or an audio track), it works out how many segments your long video needs, how many frames each gets, and what to carry over.
The long-video problem it solves is the one every LTX-2 user hits: the model generates in fixed-context chunks (roughly 8n+1 frames), so a 30-second clip at 24fps is not one generation but several, stitched with overlapping context. Doing that by hand means redoing the frame math every time you change the duration. This node makes it a setting.
What you actually set:
goal1_preset- the fast path.lowram_safe_videoclip,lowram_fast_videoclip,normal_quality_videoclip, andlowram_monologueeach bake in a segment length, planning mode, overlap, and backend binding (the_lowramones push frame-saving settings).customlets you set everything yourself.duration_source-target_duration_seconds,audio(measure the connected AUDIO and plan to it), ormax_audio_target. If your video is meant to match a voice track,audiois what you want.segment_seconds,target_duration_seconds,fps,overlap_frames- the raw knobs when you're oncustom.content_profile-videoclipvsmonologuechanges how segments are sized; monologue keeps pacing sensible for speech.backend_binding-ltx_audio_guided_lowram(default) /ltx_audio_guided_normal/custom. This is the contract the rest of the chain uses to pick behavior.
The important outputs are the planner_payload string - a JSON blob that every downstream helper module (AudioTimeline, KeyframeTimeline, RefreshPolicy, RuntimeBridge) consumes - plus segment_count, total_frames, unique_segment_frames, current_segment_start_frames, and fps_out. The contract and linx outputs are the pack's supernode connectors that carry context between nodes; beginners can mostly ignore them and just wire the payload.
Installing: it ships in IAMCCS/IAMCCS-nodes. ComfyUI Manager → search "IAMCCS", or cd ComfyUI/custom_nodes && git clone https://github.com/IAMCCS/IAMCCS-nodes.git, restart. No models to download, no extra pip deps; the pack wants a recent ComfyUI (≥ 0.3.0), Python 3.12+ and Torch 2.8+.
Honest take: this node is only worth it if you're building the author's full AU+IMG2VID pipeline - it shines as the head of that chain, where the payloads it produces keep six other nodes in sync. Grabbed standalone, it's a segment calculator with extra steps. And note the naming is a trap for the unwary: you'll also see the same node in the menu as IAMCCS_Ltx2HelperModules_Planner - same thing, pick either. Where people get burned is trusting the preset blindly; the _lowram presets assume a specific backend binding, so if you switch backend_binding to normal keep the other settings consistent or you'll get a plan that fights your sampler chain. The community treats IAMCCS's video tooling as legit - its SVI Pro v2 work got a 200+ upvote r/comfyui thank-you - but the plan is only as good as the workflow around it.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| goal1_preset | COMBO | custom | 5 options: custom, lowram_safe_videoclip, lowram_fast_videoclip, normal_quality_videoclip, lowram_monologue |
| fps | FLOAT | 24.000.001–240 | — |
| segment_seconds | FLOAT | 10.000.01–3600 | — |
| target_duration_seconds | FLOAT | 30.000.01–36000 | — |
| duration_source | COMBO | target_duration_seconds | 3 options: target_duration_seconds, audio, max_audio_target |
| planning_mode | COMBO | auto_profile | 2 options: manual_segment_seconds, auto_profile |
| content_profile | COMBO | videoclip | 2 options: videoclip, monologue |
| overlap_frames | INT | 90–4096 | — |
| ltx_round_mode | COMBO | up | 3 options: up, nearest, down |
| segment_index | INT | 00–100000 | — |
| surface_profile | COMBO | compact | 3 options: compact, progressive, debug_surface |
| backend_binding | COMBO | ltx_audio_guided_lowram | 3 options: ltx_audio_guided_lowram, ltx_audio_guided_normal, custom |
| audioopt | AUDIO | — | |
| upstream_contractopt | IAMCCS_SUPERNODE_CONTRACT | — | |
| linxopt | IAMCCS_SUPERNODE_LINX | — |
Outputs (14)
| Name | Type | Description |
|---|---|---|
| planner_payload | STRING | — |
| contract | IAMCCS_SUPERNODE_CONTRACT | — |
| linx | IAMCCS_SUPERNODE_LINX | — |
| segment_count | INT | — |
| continuation_loops | INT | — |
| current_segment_start_frames | INT | — |
| current_segment_unique_frames | INT | — |
| current_source_end | INT | — |
| report | STRING | — |
| total_frames | INT | — |
| unique_segment_frames | INT | — |
| first_segment_raw_frames | INT | — |
| continuation_raw_frames | INT | — |
| fps_out | FLOAT | — |