Nodes/ComfyUI Deadline Distributed/Distributed Video Collector
ComfyUI Node

Distributed Video Collector

Shipping finished clips back to the master

By doubletwisted·Created about a year ago·Updated 3 months ago· 9
Distributed Video Collector
  • video
  • manifest
filename_prefixvideo/DeadlineDistributed
formatauto
codecauto

Images travel between master and worker as raw PNG chunks. Video can't - a finished clip is big, and no one wants a hundred PNGs re-encoded on the master. So this node does the sensible thing: the worker renders its clip, encodes it to an mp4, uploads the file to the master, and the master saves it into its output folder and reports back a JSON manifest. It's the video-flavored sibling of the Distributed Collector, built on ComfyUI's native video API (the same VIDEO type the Wan and LTX workflows use), and it's a proper output node.

The inputs that matter. video takes the VIDEO stream from your sampler chain. filename_prefix defaults to video/DeadlineDistributed and controls where the file lands in your output directory - change it to keep farm renders separate from local ones. format (auto or mp4) and codec (auto or h264) are the container and codec for the upload; leave them on auto and it picks sensible defaults. The output is a manifest STRING, a JSON document with the save status, the saved file's path, and - this is the useful part - missing_workers and errors arrays, so you can see at a glance whether a clip is incomplete because a worker dropped out.

How it behaves in and out of a job. The mechanism mirrors the image collector. In a normal local workflow (no multi_job_id injected) it just saves the video locally and returns the manifest - effectively a slightly chatty video saver. In a distributed job, the worker side saves its clip to a temp file, reads back dimensions and frame count, and uploads it to the master's result endpoint. The master collects until every worker reports in, then returns the combined manifest. Since it's an output node, the manifest is what you'd route to a text display or just read in the console.

The gotcha worth knowing. Because it leans on ComfyUI's video API types, it needs a ComfyUI build that has video support enabled - if your worker machines are on an old install without the video module, the node fails on import or at the _get_video_api() call, not with a friendly message. Keep your workers on the same ComfyUI version as the master. And the same timeout reality as the image collector applies: if a worker dies mid-job, you get a manifest with missing_workers populated, not an error-free render.

One more thing to decide: whether you need this node at all. If your distributed job is pure image work, use the plain image collector and save on the master afterwards. The video collector earns its place when workers are rendering clips (frame chunks, shot-level segments) that would be painful to ship back as raw frames.

Categoryvideo

Inputs (4)

NameTypeDefaultDescription
videoVIDEO
filename_prefixSTRINGvideo/DeadlineDistributed
formatCOMBOauto2 options: auto, mp4
codecCOMBOauto2 options: auto, h264

Outputs (1)

NameTypeDescription
manifestSTRING