ComfyUI Extension: IAMCCS-nodes

Authored by IAMCCS

Created

Updated

109 stars

Run ComfyUI workflows without the setup

No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.

Custom nodes by IAMCCS, including a critical fix for LoRA loading in native WANAnimate workflows, especially useful for advanced models like FLUX and WAN 2.1. This bypasses the need for the WanVideoWrapper for LoRA functionality.

Looking for a different extension?

Custom Nodes (316)

README

🌀 IAMCCS-nodes

Node piece

Author: IAMCCS (Carmine Cristallo Scalzi)

<img src="icon.png" width="150" height="150">

Category: ComfyUI Custom Nodes

Main Feature: Fix for LoRA loading in native WANAnimate workflows + general nodes 4 ComfyUI

Version: 1.5.0 (Shotboard multigen pipeline, Shotboard Editor and AudioBoard)

This release adds the integrated IAMCCS production path for multi-timeline video work:

  • Shotboard multigen pipeline for selecting and routing timeline/take audio pairs.
  • Shotboard Video Editor with video, audio and master-audio lanes, real media previews, editing tools and project manifests.
  • AudioBoard Arranger with clip editing, real waveform previews, master-audio support, package export and second-grid snapping.
  • Metadata and media contracts that keep timeline identity, audio-lane identity and generated take assets aligned.

Version: 1.4.9 (Frame Designer V2 added)

Version: 1.4.8 (Audioboard and other audio utilities)

Version: 1.4.7 (New functions, utilities and bug fixed)

Version: 1.4.6 (Shotboard planner v2 and v3 added)

Version: 1.4.5 (Cine nodes added)

Version: 1.4.4 (Supernodes and wan 2.2 + LTX 2.2 utilities added)

IAMCCS SuperNodes requirements

The IAMCCS SuperNodes are wrappers around ComfyUI/LTXV, IAMCCS helper nodes, audio preprocessing, VAE decode, and video combine nodes. Before sharing or testing a SuperNode workflow, check the dedicated requirements document:

🆕 Added new LTX-2.3 nodes for v2v, au+img2vid (instructions: patreon.com/IAMCCS)

Version: 1.4.0

🆕 Dataset Creation Workflow Companions

The newer dataset creation workflows around IAMCCS QE Prompt Enhancer also now benefit from dedicated IAMCCS-nodes helpers on the generation side.

Relevant nodes to include in workflow documentation:

  • IAMCCS Qwen Multi-Gen (IAMCCS_QwenMultiGen)

    • Runs newline-separated prompt variants in a single Qwen image-edit execution loop.
    • Keeps the same workflow-facing node type name used by earlier dataset creation graphs, so existing workflows can keep loading without JSON edits.
  • Flux Klein Multi-Gen (IAMCCS_FluxKleinMultiGen)

    • Runs newline-separated prompt variants in a single Flux.2 Klein execution loop.
    • Useful when one QE dataset slot needs to become a structured multi-view Flux batch without manually duplicating the whole sampling chain.
  • Multiline Prompt Splitter (8 outputs) (IAMCCS_MultilinePromptSplitter8)

    • Splits one multiline STRING into prompt_1 through prompt_8 plus count.
    • Supports optional fill modes such as empty, repeat_last, and wrap.
    • Useful when a workflow needs explicit per-line routing into multiple text encoders or generation branches.

These nodes are especially relevant if you want to present the full dataset creation ecosystem and not only the QE node itself.

🆕 LTX-2.3 audio extension modules + VAE RAM safers

Version: 1.3.6

🆕 Motion Nodes Update (2026-02-28) +

WanImageMotionPro Bux fixed Added WanMotionProTrimmer added reference workflow

Version: 1.3.5

🆕 Motion Nodes Update (2026-02-24)

This update extends the WAN SVI Pro motion toolset:

  • New node: WanImageMotionPro (Motion + FLF End Lock)
    • Adds optional end_samples end-lock (FLF-style) on top of motion continuity.
  • New artifact-mitigation widget on both motion nodes: safety_preset
    • safe (default): activates stabilizations only when motion > 1.15
    • safer: stronger stabilization for higher motion values
    • legacy: keeps the older behavior

Node piece

UPDATE VERSION 1-3-4

🆕 Version 1.3.4 — Video Performance + Low-RAM Tools

Date: 2026-02-01

Highlights (EN):

  • New sampler wrapper: Sampler Advanced v1 (IAMCCS_SamplerAdvancedVersion1)

    • Delegates sampling to ComfyUI SamplerCustomAdvanced (same sampling core), but adds workflow-friendly knobs:
      • disable_progress: reduces UI/progress update overhead on long video runs (often feels smoother)
      • cleanup: optional VRAM cleanup after sampling
    • Compatibility: supports newer ComfyUI returns (NodeOutput) and older tuple returns.
  • True low-RAM decoding: VAE Decode → Disk (frames, low RAM) (IAMCCS_VAEDecodeToDisk)

    • Decodes one frame at a time and saves frames to disk to avoid large IMAGE batches in system RAM.
  • HW recommendations as a node: HW Probe Recommendations (JSON) (IAMCCS_HWProbeRecommendations)

    • Outputs a JSON report + extracted recommended values for long video workflows.
  • GGUF Accelerator improvements: GGUF Accelerator (patch_on_device) (IAMCCS_GGUF_accelerator)

    • Added safer patch move strategies (move_policy) and a VRAM reserve budget (leave_free_vram_mb).
    • Backward-compatible input ordering preserved for older workflows.
  • Frontend quality-of-life:

    • Bus Group with MACRO settings.
    • HW probe apply is user-controlled (overwrite vs fill-missing) and preset sync can be disabled to keep manual tuning.
  • MultiSwitch (frontend + workflow UX): MultiSwitch (dynamic inputs) (IAMCCS_MultiSwitch)

    • Active-link indicator: visually shows which input is currently connected/used.
    • Input rename: you can rename inputs to keep complex graphs readable (especially when routing MANY signals).

UPDATE VERSION 1-3-3

🆕 Version 1.3.3 — AutoLink + LTX-2 Extension Module

Date: 2026-01-26

Highlights (EN):

  • AutoLink (frontend): convert direct links into compact Set/Get nodes + restore when needed.

Node piece

  • LTX-2: Extension Module + helpers for iterative long video extension workflows.

Node piece

GGUF / OOM tips:

  • If you use IAMCCS_GGUF_accelerator and you are close to the VRAM limit, consider PyTorch allocator tuning to reduce fragmentation (must be set before launching ComfyUI).
    • Example: PYTORCH_ALLOC_CONF=backend:cudaMallocAsync
    • Example (native allocator): PYTORCH_ALLOC_CONF=max_split_size_mb:128,garbage_collection_threshold:0.8
    • Example (experimental, native allocator): PYTORCH_ALLOC_CONF=expandable_segments:True

IAMCCS_GGUF_accelerator (how to use)

Node piece

This node modifies a GGUF MODEL so ComfyUI-GGUF can avoid expensive per-step CPU↔GPU patch movement.

Recommended usage:

  • Place it after your GGUF model loader and before LoRA application / sampling.
  • Default: mode = auto_oom_safe.
    • If free VRAM is low, it automatically disables patch_on_device and avoids pre-moving patches.
    • If a CUDA OOM happens while moving patches, it falls back to CPU/offload (when oom_fallback = true).

Suggested starting values on 12GB GPUs:

  • mode = auto_oom_safe
  • min_free_vram_mb = 1500 (raise to 2000–3000 if you still get OOMs)
  • Keep move_patches_now = true only if you have headroom; set to false if you want the safest VRAM behavior.

PyTorch allocator tuning (set before start):

  • You can use PYTORCH_ALLOC_CONF (or the legacy alias PYTORCH_CUDA_ALLOC_CONF) to reduce fragmentation.
  • Windows example (PowerShell, current session):
    • $env:PYTORCH_ALLOC_CONF = "backend:cudaMallocAsync"
  • Windows example (CMD / .bat):
    • set PYTORCH_ALLOC_CONF=backend:cudaMallocAsync

UPDATE VERSION 1-3-2

🆕 Version 1.3.2 — LTX-2 Nodes Pack

Highlights:

  • Added/updated LTX-2 LoRA nodes (category IAMCCS/LoRA):
    • LoRA Stack (LTX-2, 3 slots) (IAMCCS_LTX2_LoRAStack)
    • LoRA Stack (LTX-2, staged: stage1+stage2) (BETA) (IAMCCS_LTX2_LoRAStackStaged)

Node piece

  • Apply LoRA to MODEL (LTX-2, quiet logs) (IAMCCS_ModelWithLoRA_LTX2)
  • Apply LoRA to MODEL (LTX-2, staged) (BETA) (IAMCCS_ModelWithLoRA_LTX2_Staged)
  • LoRA Stack (Model In→Out) LTX-2 (IAMCCS_LTX2_LoRAStackModelIO)

Node piece

  • Added/updated LTX-2 workflow utilities (category IAMCCS/LTX-2):
    • LTX-2 FrameRate Sync (int+float) (IAMCCS_LTX2_FrameRateSync) — keeps FPS INT/FLOAT consistent.
    • LTX-2 Validator (16px, 8n +1) (IAMCCS_LTX2_Validator) — EmptyImage-like IMAGE + validated length output; enforces 8n+1 and a permissive spatial multiple (16px).
      • fps is handled by LTX-2 FrameRate Sync (no fps input on the Validator).
      • seconds + length are both visible; the UI auto-syncs them.
    • LTX-2 TimeFrameCount (IAMCCS_LTX2_TimeFrameCount) — duration-only helper for I2V workflows: secondslength kept in sync in the UI (uses nearest FrameRateSync, fallback 24fps).
    • LTX-2 Control Preprocess (aux) (IAMCCS_LTX2_ControlPreprocess) — lightweight grayscale/threshold/edges helper for control-style workflows.

Node piece


UPDATE VERSION 1-3-1

🆕 Version 1.3.1 — WAN SVI Pro Motion Control

Node piece

Highlights:

  • Added IAMCCS WanImageMotion node: drop-in replacement for common WAN SVI Pro image-to-video nodes, with motion amplitude control to fix slow-motion issues in WAN SVI Pro workflows.
  • Motion modes: apply boost to prev_samples only or all non-first latents.
  • VRAM profiles: normal / chunked / per-frame loop / CPU offload for memory-constrained systems.
  • include_padding_in_motion toggle: enables motion boost on padded frames when anchor has single frame (T=1).
  • safety_preset (safe defaults for higher motion): helps reduce color artifacts and seam degradation when pushing motion.
  • Comprehensive logging with warnings when motion_range is empty.
  • Full documentation: docs/WanImageMotion.md and docs/wanimagemotion_instructions.md
  • Removed the previously included external-model LoRA loader node and related documentation.

New Node: IAMCCS WanImageMotion

Use this node in WAN SVI Pro workflows to control motion intensity and prevent slow-motion artifacts.

Inputs:

  • positive / negative: conditioning
  • length: video length
  • anchor_samples: base latent samples
  • motion: motion amplitude (1.0-2.0, default 1.15)
  • motion_mode: choose where to apply boost
  • motion_latent_count: frames from prev_samples to use as motion reference
  • include_padding_in_motion: enable to apply motion on padded frames
  • vram_profile: memory optimization strategy
  • latent_precision: dtype control (auto/fp16/fp32)
  • safety_preset: safe / safer / legacy (artifact mitigation when motion > 1.15)
  • add_reference_latents: optional conditioning stabilization
  • Optional prev_samples: previous latents for motion continuity

Outputs:

  • Updated positive / negative conditioning with motion-boosted latents
  • latent: empty latent for sampling

UPDATE VERSION 1-3-0

🆕 Version 1.3.0 — New MODEL IO LoRA Stack

Highlights:

  • Added LoRA Stack (Model In→Out) WAN node: directly applies up to 4 WAN / Flow / Standard LoRAs to an incoming MODEL and outputs a patched MODEL (ideal for WAN 2.2 workflows where a single node step is preferred).
  • Added LoRA Schedule (WAN, ranged) node: activates extra LoRA stacks by generation index, with optional open-ended ranges for long loop workflows.
  • Extended internal WAN key remapping for seamless WAN 2.2 (Flow) + WAN 2.1 cross-compatibility.
  • Version bump across project files.

New Node: LoRA Stack (Model In→Out) WAN

Node piece no_7lora_stack_model_I_O.png

Use this node when you already have a base MODEL loaded (WAN 2.2, Flow, SDXL, etc.) and want a single pass application of multiple LoRAs without an intermediate stack/output hand-off. It mirrors the behavior of the classic stack + apply pair but merges them for simpler graphs (especially animation or chained sampler pipelines).

Inputs:

  • model: base diffusion MODEL.
  • lora1..lora4 + strength1..strength4 (skips if "no" or strength == 0.0)
  • model_type: choose flow, wan2x, or standard to control remapping logic.
  • Optional lora (LORA) input: allows concatenating a previously built stack from IAMCCS_WanLoRAStack for more than 4 total LoRAs.

Output:

  • Patched MODEL ready for samplers / video pipelines.

Recommended Use (WAN 2.2 workflows):

  1. Load base WAN 2.2 / LightX2V model.
  2. Add LoRA Stack (Model In→Out) WAN and select up to 4 LoRAs.
  3. (Optional) Chain a classic IAMCCS_WanLoRAStack into the optional lora input if you need >4.
  4. Connect output to KSampler / Animate nodes.

Why this node: Eliminates one extra node hop, reduces graph complexity and clarifies model lineage in large animation workflows.

Additional Node: LoRA Schedule (WAN, ranged)

Use this node when a WAN loop needs always-on LoRAs plus extra LoRAs that only apply on specific generations or generation ranges.

Typical setup:

  1. Keep your main always-on LoRAs in IAMCCS_WanLoRAStack or IAMCCS_WanLoRAStackModelIO.
  2. Build extra LoRA stacks for alternate phases.
  3. Feed the loop index into generation_index.
  4. Set slot_01_start/end, slot_02_start/end, etc. to define which extra stack is active on which generations.
  5. Send the scheduler lora output into the optional lora input of your main WAN LoRA stack node.

Notes:

  • default_lora stays active on every generation.
  • end = -1 means "from this generation onward".
  • Multiple active slots stack together, so you can layer phase LoRAs if ranges overlap.

Preset behavior:

  • manual_range: uses start/end; if end = -1, the slot stays active from start onward.
  • all_generations: always active.
  • only_first: active only on generation 0.
  • all_nonfirst: active from generation 1 onward.
  • even_generations: active on 0, 2, 4, ....
  • odd_generations: active on 1, 3, 5, ....
  • every_2_from_start: active on start, start+2, start+4, ....
  • every_3_from_start: active on start, start+3, start+6, ....

Logging:

  • Each execution logs the current generation_index.
  • Logs show the always-on default_lora entries.
  • Logs show each active slot, the preset that matched, and the actual LoRA names/strengths injected on that generation.

Previous Versions

Version 1.2.3 — New input lora - add another StackLoraModel (concatenate) + Extended Wan 2.1 Compatibility

Version 1.2.1

UPDATE VERSION 1-2-1

🆕 Version 1.2.1 — Extended Wan 2.1 Compatibility

The WAN-style remap node now supports LightX2V 2.1 LoRA models.
This version extends overall compatibility to all LoRA types — even those without dedicated weight tensors (these will simply display a non-critical “missing optional weights” message).

This ensures smoother cross-compatibility between LightX2V 2.1 / 2.2 and any WAN-based or character LoRA setup.

See full changelog → CHANGELOG.md

Overview

The IAMCCS-nodes package introduces a fix for a key limitation in native WANAnimate workflows: when users run animation pipelines without the WanVideoWrapper, LoRA models fail to load correctly — most weights are ignored, and the visual consistency breaks.

This package contains two complementary nodes that work together to fix this problem and restore full LoRA functionality while keeping the workflow lightweight and modular.

The IAMCCS Native LoRA System introduces an optimized way to handle multiple LoRAs inside native ComfyUI workflows. It is composed of two interconnected nodes designed to work seamlessly together.

1. LoRA Stack (WAN-style remap)

This node lets you combine several LoRA models—especially those made for WAN2.x / Animate / Flow architectures—into one unified output.

[Node piece](assets/lora stack.png)

Each LoRA slot includes:

an independent strength control,

automatic WAN-style key remapping for full compatibility,

and support for .safetensors files across any model type (flow, wan, sdxl, etc).

It produces a stacked LoRA bundle that merges all the active LoRAs and prepares them for efficient native injection.

2. Apply LoRA to MODEL (Native)

This node applies the generated LoRA stack directly to a loaded diffusion model at the Torch level, without relying on older ComfyUI Apply LoRA wrappers.

Node piece no_2

Works natively with FP16 accumulation (recommended when paired with Model Patch Torch Settings)

Maintains precision and speed

Fully compatible with WAN2.x and other Flow-type diffusion models

Output: a ready-to-run patched model for image or video generation.

This structure replaces multiple chained LoRA nodes with a single modular system, improving both stability and performance. Ideal for WANAnimate, WANVideo, or any Flow-based cinematic model.

Node piece no_3

LoRA Concatenation (1.2.3)

Node piece no_4lora_concatenatel.png

LoRA Stack (WAN-style remap)

Supports the following LoRAs:

  • New Moe distill WAN 2.2 LightX2V High Model
  • New Moe distill WAN 2.2 LightX2V Low Model
  • WAN 2.2 LightX2V High Model
  • WAN 2.2 LightX2V Low Model
  • WAN Boost Realism
  • WAN 2.2 LightX2V 4-Step High
  • WAN 2.2 LightX2V 4-Step Low
  • Character LoRAs
  • WAN 2.1 LightX2V Model

Installation

The node has now been officially accepted on ComfyUI Manager, You can install it directly from there (just search for IAMCCS).

or

You can grab it manually:

digit in your terminal:

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

Compatibility

ComfyUI ≥ 0.3.0

Python ≥ 3.12

Torch ≥ 2.8 (CUDA 12.6 or 12.8)

Compatible with: WAN2.1, WAN2.2, WANAnimate, WANAnimate_relight, Pulid, Flux, and multi-LoRA setups.

Technical Insight

LoRA weights fail to load in native WANAnimate pipelines because the model initialization bypasses the internal LoRA merge functions used in the wrapper. By separating the process into two modular nodes, IAMCCS-nodes restores full LoRA compatibility without depending on WanVideoWrapper, keeping performance high and structure clean.

Node 1 replaces the missing LoRA-loading phase.

Node 2 reintroduces dynamic LoRA reapplication and blending inside the animation graph.

This modular architecture makes LoRA management in WANAnimate flexible, transparent, and fully native.

If my work helped you, and you’d like to say thanks — grab me a coffee ☕

<a href="https://www.buymeacoffee.com/iamccs" target="_blank"> <img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="200" /> </a>

Run ComfyUI workflows without the setup

No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.

Learn more