Nodes/IAMCCS-nodes/Select Scheduled WAN Model Pair From Conditioning
ComfyUI Node

Select Scheduled WAN Model Pair From Conditioning

Schedule WAN's high and low expert models together, per generation

By IAMCCS·Created 11 months ago·Updated 8 days ago· 113
Select Scheduled WAN Model Pair From Conditioning
  • high_model_bank
  • low_model_bank
  • positive
  • negative
  • high_model
  • low_model
  • positive
  • negative
  • generation_index
  • report

WAN 2.2's architecture splits the model into high and low experts (the "two-expert MoE" - a high-capacity path for detail, a lightweight path that does the grunt work), and a lot of the interesting community fine-tunes come as high/low pairs: LightX2V High and Low, distill versions, the 4-step variants. If you're scheduling those per generation, you need to select both members of the pair together, and that's exactly what IAMCCS_SelectScheduledWanModelPairFromConditioning does.

It's the two-bank version of IAMCCS_SelectScheduledWanModelFromConditioning. Same idea - read the generation index from conditioning metadata, look up prebuilt models from banks, pass conditioning through - but it resolves two banks against the same index and returns both models, so the high/low pairing can never drift out of step.

How it works

It takes a high_model_bank and a low_model_bank (both IAMCCS_WAN_MODEL_BANK type, built once by IAMCCS_BuildScheduledWanModelBank). It extracts the generation index from positive/negative conditioning the same way as the single selector - scanning for _iamccs_generation_index, _iamccs_segment_index, generation_index, or segment_index metadata keys, defaulting to 0 - then looks up the index in each bank independently. Both lookups use the same generation index, so the high and low experts always correspond to the same scheduled generation. Like the single version, a missing fingerprint or model for an index is a hard error rather than a quiet fallback.

Inputs and outputs

Inputs: high_model_bank, low_model_bank, positive, negative (lazy).

Outputs:

  • high_model and low_model - the two selected prebuilt models, ready for your sampler
  • positive / negative - passed through untouched
  • generation_index - the shared index used for both lookups
  • report - shows which always-on and scheduled entries were active on each bank

Installing

Same pack: ComfyUI Manager → search "IAMCCS", or

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

Restart. No extra downloads beyond the WAN models and LoRAs already in your workflow.

Gotchas

Two things to keep straight. First, the two banks are resolved against the same generation index - if you want the high and low schedules to differ (say, high LoRA only on generations 2–4 while low runs everywhere), that distinction lives in how you built each bank, not in this node. Second, the same conditioning-metadata caveat as its single-bank sibling: if nothing upstream stamps a generation index into the conditioning, it reads 0 and the whole loop uses generation 0's pair. The report output tells you what index it actually resolved, and it's worth trusting over your memory.

CategoryIAMCCS/LoRA

Inputs (4)

NameTypeDefaultDescription
high_model_bankIAMCCS_WAN_MODEL_BANK
low_model_bankIAMCCS_WAN_MODEL_BANK
positiveCONDITIONING
negativeCONDITIONING

Outputs (6)

NameTypeDescription
high_modelMODEL
low_modelMODEL
positiveCONDITIONING
negativeCONDITIONING
generation_indexINT
reportSTRING