Nodes/ReActor Node for ComfyUI/Image Dublicator (List) 🌌 ReActor
ComfyUI Node Runs on cloud

Image Dublicator (List) 🌌 ReActor

Turn one image into a list of N copies

By GourieffΒ·Created 3 years agoΒ·Updated 2 years agoΒ· 1,747
Image Dublicator (List) 🌌 ReActor
  • image
  • IMAGES
β—„count1β–Ί

ReActor Image Dublicator (class ReActorImageDublicator) - yes, "Dublicator," the typo is baked into the class name - takes a single image and spits out a list of that same image repeated N times. That's it. It's a tiny utility ReActor added in 0.5.0 for a specific chore: when a downstream node wants a sequence of frames and you only have one picture, this fans that one picture out into however many copies you ask for. The README's own example is live avatars - duplicate one image across many frames, feed them to a VAE Encoder, and drive a video/animation pipeline from a single still.

If you're doing pure face-swap work you may never touch it. Its home is video and batch workflows, where "one image β†’ many identical frames" is a real setup step and there's otherwise no clean node to do it.

How it works

The node outputs an image list - not a stacked batch tensor, but a Python-style list where each element is the same image. That distinction matters in ComfyUI: some nodes iterate over a list and run once per item, which is exactly the behavior you want when you're generating or encoding frame by frame. So count = 24 gives you 24 discrete copies to be consumed one at a time downstream (a VAE Encode across frames, a video combine, a per-frame swap). It's a fan-out, nothing more.

The inputs and outputs that matter

Two inputs, and only one you think about:

  • image - the single image to duplicate.
  • count - how many copies to emit (default 1, minimum 0). This is the frame count. Set it to the number of frames your video/animation step expects.

The single output is IMAGES, flagged as a list. Wire it into whatever consumes a sequence of frames - a VAE Encoder for a video pipeline, a batch/list-processing node, or a per-image loop. Because it's a list rather than a batch, pair it with nodes that iterate; a node expecting a single image won't magically animate from it.

How to install it

It's bundled with the ReActor pack. ComfyUI Manager: Install Custom Nodes, search ReActor, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/Gourieff/comfyui-reactor-node

then run install.bat / install.py and restart. No models, no downloads - it's a pure utility. (The pack's InsightFace install is only for the swap nodes; this one doesn't need it.)

Common issues & troubleshooting

The downstream node only processed one frame / didn't loop. The consumer needs to accept an image list and iterate over it. If it treats the input as a single image or a batch, duplicating won't produce per-frame behavior. Check that the next node actually loops over a list; some expect a batched tensor instead, which is a different shape.

I set a huge count and ran out of memory. Each copy is a real image in the list, so a big count at high resolution is a lot of data held at once. Keep the count to the frames you actually need, and downsize the source image if you're fanning out to hundreds of frames.

count = 0 returned nothing. That's literal - zero copies is an empty list. Use at least 1.

The node/menu won't load. If the whole ReActor pack fails to appear, that's the pack's InsightFace dependency failing to build (the well-worn Visual Studio / C++ toolchain problem), which can take down even the utility nodes that don't use it. Fix InsightFace with the prebuilt wheel the README links for your Python version and restart. This particular node carries no licensing baggage of its own, but the pack it lives in runs on InsightFace's non-commercial weights, so the swap work you'd pair it with stays personal/research use.

Category🌌 ReActor

Inputs (2)

NameTypeDefaultDescription
imageIMAGEβ€”
countINT1β€”

Outputs (1)

NameTypeDescription
IMAGESIMAGEβ€”