Nodes/saya-comfy-couple-plus/Saya Hires Trio Router Shared Prompt RESCUE
ComfyUI Node

Saya Hires Trio Router Shared Prompt RESCUE

One conditioning, five models, four hires stages — pick the combo

By alphaziod·Created 3 months ago·Updated about 15 hours ago· 3
Saya Hires Trio Router Shared Prompt RESCUE
  • positive
  • negative
  • main_model
  • main_vae
  • dual_sampling_model
  • dual_sampling_vae
  • support1_model
  • support1_vae
  • usdu1_model
  • usdu1_vae
  • usdu2_model
  • usdu2_vae
  • positive
  • negative
  • base_model
  • base_vae
  • mid_model
  • mid_vae
  • final_model
  • final_vae
  • last_model
  • last_vae
━━ CUSTOM VAE ━━━━ CUSTOM VAE ━━
custom_vae_1
custom_vae_2
custom_vae_3
━━ BASE HIRES ━━━━ BASE HIRES ━━
base_sourcemain
base_vaenone
━━ MID HIRES ━━━━ MID HIRES ━━
mid_sourcemain
mid_vaenone
━━ FINAL HIRES ━━━━ FINAL HIRES ━━
final_sourcemain
final_vaenone
━━ LAST HIRES ━━━━ LAST HIRES ━━
last_sourcemain
last_vaenone

This node answers a very specific "rescue" problem in the author's multi-pass workflows: you've got one shared positive/negative conditioning, and you've got a pile of models and VAEs loaded into the graph - but each of your four hires stages wants a different one of them. Rather than hand-wiring four KSamplers to four different model sources and praying you grabbed the right wire, this router takes the pool in once and lets you pick which model/VAE combo each hires stage runs, with the same conditioning passed to all of them.

The "Trio" in the name is loose - it actually routes across up to five model sources. The schema asks you to connect:

  • main_model / main_vae
  • dual_sampling_model / dual_sampling_vae
  • support1_model / support1_vae
  • usdu1_model / usdu1_vae (upscale-denoise-upscale slots)
  • usdu2_model / usdu2_vae

plus your shared positive and negative conditionings.

What you actually set

Below those sockets sit four stage blocks - base, mid, final, and last hires (rendered as ━━ BASE HIRES ━━ style separator labels in the UI). Each block has two dropdowns:

  • *_source - which of the five models runs that stage (main by default). Options: main, dual_sampling, support1, usdu1, usdu2.
  • *_vae - which VAE decodes it. Default none means "use the same VAE as the source model." Otherwise you can force one of the other slots' VAEs, or pick a standalone custom VAE.

There are also three custom_vae_1/2/3 dropdowns at the top, listing VAEs from your models/vae folder. You pick a custom VAE there, then reference it from any stage's *_vae dropdown. Note that in saved workflow files these choices are URL-encoded (AAA%20Anime%20VAE%20SDXL%20v2.safetensors instead of spaces) - the node resolves both forms, but don't be alarmed if a JSON file looks like that.

If a requested model or VAE can't be resolved, it falls back to the main model/VAE rather than hard-failing - which is a lifesaver mid-hires, though it does mean a typo can silently sample with the wrong model. If your output suddenly doesn't match expectations, check whether you actually selected the source you meant.

Outputs

Ten outputs: your positive and negative passed straight through, then for each stage a *_model and *_vae pair - base_model/base_vae, mid_model/mid_vae, final_model/final_vae, last_model/last_vae. Wire each pair into that stage's sampler (and the shared conditioning into all of them). Nothing is loaded or patched here; it's pure routing, so it's cheap and safe to place anywhere.

This one is deep in author-specific territory - the five-source pool, the "usdu" slots, four sequential hires stages - so if your workflow doesn't resemble the author's, the node's value drops fast. But if you're building a multi-stage hires pass and want the model/VAE selection for four stages in one visible place instead of four separate loaders, this is exactly the tidy-up you're looking for.

Install: ComfyUI Manager search saya-comfy-couple-plus, or clone https://github.com/alphaziod/saya-comfy-couple-plus into custom_nodes and restart. numpy and Pillow are the only deps; nothing to download. WIP pack - back up workflows before updating, and expect the occasional port reshuffle.

Categorysaya/rescue

Inputs (28)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
main_modelMODEL
main_vaeVAE
dual_sampling_modelMODEL
dual_sampling_vaeVAE
support1_modelMODEL
support1_vaeVAE
usdu1_modelMODEL
usdu1_vaeVAE
usdu2_modelMODEL
usdu2_vaeVAE
━━ CUSTOM VAE ━━STRING━━ CUSTOM VAE ━━
custom_vae_1COMBO3 options: AAA%20Anime%20VAE%20SDXL%20v2.safetensors, Dark%20VAE%20SDXL%20Weak.safetensors, crystalVAESDXL_vaeV3.safetensors
custom_vae_2COMBO3 options: AAA%20Anime%20VAE%20SDXL%20v2.safetensors, Dark%20VAE%20SDXL%20Weak.safetensors, crystalVAESDXL_vaeV3.safetensors
custom_vae_3COMBO3 options: AAA%20Anime%20VAE%20SDXL%20v2.safetensors, Dark%20VAE%20SDXL%20Weak.safetensors, crystalVAESDXL_vaeV3.safetensors
━━ BASE HIRES ━━STRING━━ BASE HIRES ━━
base_sourceCOMBOmain5 options: main, dual_sampling, support1, usdu1, usdu2
base_vaeCOMBOnone9 options: none, main, dual_sampling, support1, usdu1, usdu2, +3
━━ MID HIRES ━━STRING━━ MID HIRES ━━
mid_sourceCOMBOmain5 options: main, dual_sampling, support1, usdu1, usdu2
mid_vaeCOMBOnone9 options: none, main, dual_sampling, support1, usdu1, usdu2, +3
━━ FINAL HIRES ━━STRING━━ FINAL HIRES ━━
final_sourceCOMBOmain5 options: main, dual_sampling, support1, usdu1, usdu2
final_vaeCOMBOnone9 options: none, main, dual_sampling, support1, usdu1, usdu2, +3
━━ LAST HIRES ━━STRING━━ LAST HIRES ━━
last_sourceCOMBOmain5 options: main, dual_sampling, support1, usdu1, usdu2
last_vaeCOMBOnone9 options: none, main, dual_sampling, support1, usdu1, usdu2, +3

Outputs (10)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
base_modelMODEL
base_vaeVAE
mid_modelMODEL
mid_vaeVAE
final_modelMODEL
final_vaeVAE
last_modelMODEL
last_vaeVAE