Nodes/ComfyUI-Distributed/Distributed Empty Image
ComfyUI Node

Distributed Empty Image

The placeholder that lets your master coordinate without rendering

By robertvoy·Created about a year ago·Updated 24 days ago· 582
Distributed Empty Image
    • IMAGE
    height64
    width64
    channels3

    Distributed Empty Image is a plumbing node, and you'll only ever want it for one specific setup: orchestrator-only mode, where your main machine coordinates workers but doesn't render anything itself. In that mode the master still has to run the graph - ComfyUI graphs need every required input filled - but it isn't supposed to produce a real image. This node supplies the blank stand-in that keeps the graph valid while the actual work happens on the workers.

    If you're not running orchestrator-only mode, you will never touch this node, and that's fine. It's here for a niche, and the niche is real.

    Why orchestrator-only mode exists

    ComfyUI-Distributed lets you uncheck the master's own toggle in the Distributed panel so it becomes a pure coordinator - it dispatches the workflow to workers and collects results, but its own GPU stays out of the render. People do this when the master is a weak laptop GPU that would only drag the batch down (remember: the slowest participant sets the pace), or when the master card is busy with something else, or simply to keep a workstation responsive while a rack of workers grinds.

    The wrinkle is that the master still executes the graph to orchestrate it. So any node that demands an IMAGE input needs something plugged in, even though the master isn't generating a real one. Distributed Empty Image is that something: a valid, correctly-shaped, empty IMAGE batch that satisfies the wiring without doing any real diffusion on the master. (And a reassuring detail from the pack: if every worker drops offline mid-run, the master automatically re-enables itself so your workflow still completes rather than dying with no one to render.)

    The inputs and outputs

    Everything here just describes the shape of the blank tensor it emits:

    • width (INT, default 64) and height (INT, default 64) - the dimensions of the empty image. The defaults are deliberately tiny; it's a placeholder, so there's rarely a reason to make it big. If a downstream node cares about matching dimensions, match them, otherwise leave it small.
    • channels (INT, default 3, range 1–4) - colour channels. 3 is standard RGB; bump to 4 only if something downstream expects an alpha channel.

    The single output is IMAGE - an empty batch of exactly those dimensions. It goes wherever the master's graph needs an image it isn't actually producing.

    Installing it

    It's bundled in the ComfyUI-Distributed pack, so install the pack once. ComfyUI Manager: search ComfyUI-Distributed, install, restart. Or: cd ComfyUI/custom_nodes && git clone https://github.com/robertvoy/ComfyUI-Distributed.git and restart ComfyUI. No downloads, no dependencies beyond ComfyUI itself. Since orchestrator-only setups almost always involve workers on other machines, this is one where the master really does need --enable-cors-header on its launch line.

    Where people get burned

    • Using it when you didn't need to. If your master is a rendering participant (the normal case), you don't want this node - you want a real generation path. Distributed Empty Image is strictly for the master-doesn't-render mode.
    • Expecting content out of it. It's empty by design. If a blank frame shows up in your saved output, check whether the master accidentally saved its placeholder instead of a worker's result.
    • Forgetting the workers still need the model. Orchestrator-only mode offloads rendering to workers, but each of those workers must still have the checkpoint and be able to fit it in its own VRAM - the pack pools nothing. If a worker can't load the model, delegating to it doesn't help. Pair this with Distributed Model Name when the workers need to be pointed at a model the master doesn't even have.
    • Master silently doing nothing. If you flipped off the master and forgot to enable any workers, the run has no one to render on. The pack's failsafe re-enables the master, but if you expected worker output and got master output, that's the tell.
    Categoryimage

    Inputs (3)

    NameTypeDefaultDescription
    heightINT641–4096
    widthINT641–4096
    channelsINT31–4

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE