Flux Continuum Model Router
The node that swaps your Flux dev model by task
- flux_fill
- flux_depth
- flux_canny
- flux_dev
- MODEL
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
MODELinputs, 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.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| condition | STRING | — | |
| flux_fillopt | MODEL | — | |
| flux_depthopt | MODEL | — | |
| flux_cannyopt | MODEL | — | |
| flux_devopt | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |