Reinterpret As List Cast
Present any value as a batch, don't convert it
- anything
- *
ReinterpretAsListCast is the list-flavored twin of the pack's Blind Cast node. Same philosophy - reinterpret a value as a different type without actually changing it - except here the target type is "list," and the node flags both its input and output as list-shaped to the graph engine.
The name is doing real work: it reinterprets, it does not convert. A single image doesn't become a batch of one; a scalar doesn't get wrapped in brackets. The object passes through untouched, but ComfyUI is told to treat the output as a list slot.
When you'd reach for it
You're in the "this node wants a batch, I have a single value" conversation again, and you're sure the value is fine as-is. ReinterpretAsListCast declares both INPUT_IS_LIST and OUTPUT_IS_LIST, which means the graph engine hands it an incoming list and advertises its output as a list to whatever's downstream.
That's genuinely useful for adapting wildcard utilities that expect to fan out, or for satisfying a list-expecting input when you're certain the payload is compatible. It's also a debug-friendly way to confirm whether the engine's list handling is where your workflow breaks.
Pair it with the plain ReinterpretCast (Blind Cast) to cover both directions: one presents a value as generic *, the other presents it as a list. This is exactly the kind of "connection surgery" the comfy-ovum pack is built around - the author describes the whole thing as utility nodes he couldn't live without.
How it works
Mechanically it's the same one-liner as its sibling: accept anything (wildcard *), return (anything,). The difference is two flags on the class - INPUT_IS_LIST = True and OUTPUT_IS_LIST = True - which change how ComfyUI's execution engine treats the node's sockets without altering the data semantics. It also inherits the pack's NewPointer base, so IS_CHANGED returns NaN and the node never gets cached away.
Inputs and outputs
- anything (required,
*) - the value to pass through, expected as a list by the engine. - * (output,
*, declared list) - the same value, presented as a list.
No widgets to configure.
Installing it
Part of the comfy-ovum pack:
cd ComfyUI/custom_nodes
git clone https://github.com/sfinktah/comfy-ovum
Restart ComfyUI, or go through ComfyUI Manager → search "comfy-ovum". Dependencies are light and there are no model downloads.
Common gotchas
- "Reinterpret" is not "convert." If you need a real conversion - scalar to
[scalar], string to list of chars - use a proper node. This one only changes the type flags. - The list-ness is a claim, not a promise. Since nothing is validated, a downstream node that genuinely needs a well-formed batch may still fail at runtime if what you fed in wasn't list-shaped.
- Keep the pair straight. ReinterpretCast = any type, ReinterpretAsListCast = list. Grabbing the wrong one and wondering why the wire still won't connect is a rite of passage.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| anything | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | — |