ComfyUI Node

Flux Continuum Model Router

The node that swaps your Flux dev model by task

By robertvoy·Created 2 years ago·Updated 9 months ago· 239
Flux Continuum Model Router
  • flux_fill
  • flux_depth
  • flux_canny
  • flux_dev
  • MODEL
condition

Flux comes in specialized flavors: the base dev model for normal generation, a Fill model for inpainting and outpainting, a Depth model, and a Canny model. Each is a separate multi-gigabyte checkpoint, and loading all four just so you can pick one is a great way to blow up your VRAM budget. Flux Continuum Model Router is the pack's built-in solution - it looks at what task the workflow is currently doing and hands back exactly one of those four models.

How it works

The node takes a condition string and four lazy MODEL inputs - flux_fill, flux_depth, flux_canny, and flux_dev. At execution it checks the condition:

  • "inpainting" or "outpainting" → returns flux_fill
  • "depth" → returns flux_depth
  • "canny" → returns flux_canny
  • anything else → returns flux_dev

The important part is lazy loading. Each model input is marked lazy, and check_lazy_status only requests the model the current condition actually needs - so four checkpoint loaders can hang off this node and only the relevant one ever loads. That's the pack's "only activates the nodes and models required for the current task" principle working at the model level: switch the Output selector to inpainting and the fill model loads, switch back to txt2img and it unloads, dev takes over. On a 12GB card this is the difference between a usable workflow and an OOM crash.

Inputs and outputs

  • condition - STRING, default empty. The workflow feeds this from its task selector.
  • flux_fill / flux_depth / flux_canny / flux_dev - optional MODEL inputs, all lazy.

Output is one MODEL.

Installing it

This is the pack's own router, so it lives in robertvoy/ComfyUI-Flux-Continuum:

cd ComfyUI/custom_nodes
git clone https://github.com/robertvoy/ComfyUI-Flux-Continuum

or ComfyUI Manager ("Flux Continuum"), restart. No dependencies beyond the pack - but to have anything to route, you need the actual model files: flux1-dev.safetensors, flux1-fill-dev.safetensors, flux1-depth-dev.safetensors, and flux1-canny-dev.safetensors in models/unet/, per the README's model list. The README is honest about this: skip the canny/depth models and bypass their loaders if you don't use them.

Where people get burned

The node's own description says "For Flux Continuum workflow only" - it's hardcoded to those four BFL dev models and their condition strings. Use it outside the workflow (or with a non-BFL model) and it'll route to the wrong thing. If you need a general purpose model switch, the pack's ConfigurableModelRouter with its JSON map is the flexible one. And if a model input is left disconnected for a condition that fires, you'll get a None back - the workflow expects all four loaders wired even if lazy loading keeps most of them from actually loading.

CategoryFlux-Continuum/Utilities

Inputs (5)

NameTypeDefaultDescription
conditionSTRING
flux_filloptMODEL
flux_depthoptMODEL
flux_cannyoptMODEL
flux_devoptMODEL

Outputs (1)

NameTypeDescription
MODELMODEL