Forward Model
A named, typed socket to break your model wire at
- model
- ->
Forward Model is the model-flavored member of this pack's forwarding trio (Forward Any, Forward Conditioning, and this one). You feed it a MODEL - the loaded diffusion model that comes out of a checkpoint loader - and it hands back the same object, unchanged. That's it. No options, no compute, no side effects.
The usefulness is entirely about graph structure. The model is the most heavily wired object in a ComfyUI workflow: it goes from the loader to the LoRA to the sampler, and it's easy to end up with a single thick wire that's hard to tap or reattach. Dropping a Forward Model node on that wire gives you a stable, typed endpoint you can:
- pull a copy of the model off at a specific point - say, to feed a second sampler before the LoRA applies,
- hang a model inspector or a second branch off a clean socket instead of a flying wire,
- give yourself one named connection to rewire when you're reorganizing a big graph.
Unlike the any-type Forward Any, its sockets are typed MODEL on both ends, so ComfyUI enforces that only real model objects connect. That's a feature: miswiring fails at the socket, not somewhere downstream.
Input is model, output is ->, both MODEL. Nothing to set.
Honest take: for most purposes a reroute does this job with less overhead. Forward Model earns its slot in the pack when you want a named, self-documenting connection point - in a shared workflow, a subgraph, or a template you hand to other people - where "this node says Model, so a model goes here" is worth more than an anonymous wire. It's organization, not functionality, and that's fine.
Installing it
Part of ComfyUI-ImmacTools by Immac: MIT-licensed, personal-use, no dependencies beyond what ComfyUI already ships, no model files. Install with ComfyUI Manager by repo URL, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Immac/ComfyUI-ImmacTools
Then restart ComfyUI. It uses the newer ComfyExtension registration API, so update ComfyUI if the node doesn't appear; it lives under the Example category, searchable as "Forward Model" or "Immac".
Common issues
Again: the only way to be disappointed is to expect a transformation. It doesn't fuse, patch, or clone - the same object passes through. And while a pass-through is cheap, it doesn't skip the upstream loader; if your real goal was not loading a model at all, bypass that branch. One more: because it's typed MODEL, you can't pass a VAE or CLIP through it - use Forward Any for mixed data.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| -> | MODEL | — |