IAMCCS-SuperNodes Second Stage
The optional LTX-2 spatial-upscale refinement stage for IAMCCS SuperNodes
- stage2_model
- linx
- model
- linx
- report
The IAMCCS SuperNodes are workflow wrappers - they orchestrate the LTX-2 audio-video pipeline rather than replacing it. IAMCCS-SuperNodes Second Stage is the optional refinement stage you drop in when you want a second sampling pass: it takes the latents from the first (stage-1) pass and runs them through a dedicated LTX-2 spatial upscaler model before the final VAE decode, which is how you get a sharper, higher-detail final frame without re-rendering the whole clip from scratch.
The three modes
off- the default, and the sensible one for iteration. The node exports a "disabled" contract, consumes nothing, and the stage-1 render path is untouched.latent_upscale_refine- the normal second stage: upscale the latents, then refine with a configurable reinject strength.latent_upscale_refine_x2_beta- the 2× beta path, which needs the latent upscaler model.
The upscale model is chosen by second_stage_upscale_model - ltx-2.3-spatial-upscaler-x2-1.1.safetensors (default) or the 1.0 variant. second_stage_reinject_strength (0–1, default 1.0) controls how much of the refined latents bleed back in; second_stage_cfg (default 1.0) and second_stage_manual_sigmas (default 0.909375, 0.725, 0.421875, 0.0 - a short four-step schedule) drive the refinement sampling.
The lazy model handling
This is where the node earns its keep. The stage2_model, linx, and model inputs are all lazy - ComfyUI doesn't execute anything feeding them unless the second stage is actually on. check_lazy_status is explicit about it: mode off means nothing is needed; keep_stage1_model policy skips loading a second model entirely; otherwise it requests stage2_model only when neither a stage-2 model nor the stage-1 model is already available. The upshot: an off second stage costs you zero VRAM, and the workflow only pays for the upscaler when it's genuinely enabled.
stage2_model_policy decides whose model wins when both exist: replace_stage1_if_connected, stage2_model_if_connected, prefer_stage2_else_primary, or keep_stage1_model. The name is the behavior - pick keep_stage1_model if your stage-1 model already does the job and you want the second stage to reuse it.
There's also the backend panel (same one used across the SuperNodes): backend_profile_preset (quality_first / balanced / speed_first / low_vram_safe / audio_sync_strict), backend_memory_mode (normal_vram / low_ram_disk / cpu_offload_safe), backend_quality_mode, and a raw backend_settings_override JSON for the fiddly bits. Output is the linx contract plus a report.
The honest read
It's a refinement stage, not a fixer. The LTX-2 spatial upscaler buys resolution and detail on the final pass - and per the LTX ecosystem knowledge, LTX renders internally at half your target resolution and upscales, so an explicit second-stage latent upscale is the way to beat that softness. But it costs a second sampling pass, so keep it off for drafts. It's also part of the SuperNodes bundle, which expects a working LTX-2 audio-video model setup (model, CLIP, video VAE, audio VAE) plus the LTXV native nodes - the requirements doc (SUPERNODES_REQUIREMENTS.md) lists the full matrix.
Install the pack via ComfyUI Manager (search "IAMCCS") or git clone https://github.com/IAMCCS/IAMCCS-nodes.git into custom_nodes. The latent upscaler safetensor is a download you place in ComfyUI's models folder, not something the pack ships.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| second_stage_mode | COMBO | 3 options: off, latent_upscale_refine, latent_upscale_refine_x2_beta | |
| stage2_model_policy | COMBO | 4 options: replace_stage1_if_connected, stage2_model_if_connected, prefer_stage2_else_primary, keep_stage1_model | |
| second_stage_upscale_model | COMBO | ltx-2.3-spatial-upscaler-x2-1.1.safetensors | 2 options: ltx-2.3-spatial-upscaler-x2-1.1.safetensors, ltx-2.3-spatial-upscaler-x2-1.0.safetensors |
| second_stage_reinject_strength | FLOAT | 1.000–1 | — |
| second_stage_cfg | FLOAT | 1.00–30 | — |
| second_stage_manual_sigmas | STRING | 0.909375, 0.725, 0.421875, 0.0 | — |
| backend_panel_mode | COMBO | 2 options: compact, show_backend_settings | |
| backend_profile_preset | COMBO | 6 options: inherit, quality_first, balanced, speed_first, low_vram_safe, audio_sync_strict | |
| backend_memory_mode | COMBO | 5 options: inherit, auto, normal_vram, low_ram_disk, cpu_offload_safe | |
| backend_quality_mode | COMBO | 6 options: inherit, draft, balanced, high_detail, identity_strict, temporal_stable | |
| backend_settings_override | STRING | — | |
| stage2_modelopt | MODEL | — | |
| linxopt | IAMCCS_SUPERNODE_LINX | — | |
| modelopt | MODEL | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| linx | IAMCCS_SUPERNODE_LINX | — |
| report | STRING | — |