Nodes/renderzero-comfyui-nodes/RenderZero Video Output
ComfyUI Node

RenderZero Video Output

RenderZero Video Output — the picky node that claims your video for the platform

By jamesstothard·Created 4 months ago·Updated 4 months ago· 1
RenderZero Video Output
  • video_payload

    Video workflows end differently from image workflows. Instead of tensors, your final result is a video file produced by some save/combine node, and RenderZero Video Output is the bridge that tells the platform where that file is. It accepts the filename or path payload from an upstream save/combine node - most commonly VHS_VideoCombine.Filenames in a Wan workflow - normalizes it into a stable history entry, and reports it so RenderZero can fetch and play the clip.

    How it works

    The interesting part is how much validation it does for a one-input node. video_payload is typed as * (anything), because save/combine nodes emit differently shaped results: some give a dict with filename/subfolder, some a fullpath, some a plain string. The node figures out which shape it got, resolves the file against ComfyUI's output directory, and insists the file actually exists there - absolute paths that escape the output directory are rejected outright. Then it infers a MIME type from the extension (.mp4, .webm, .mov, .mkv, .avi, .gif, .webp, .m4v all recognized) and emits {"ui": {"gifs": [...]}} with filename, subfolder, type, and full path. That history entry is the contract: it's how RenderZero finds your video.

    The input that matters

    There's exactly one: video_payload. Wire into it the filename output of your video save/combine node. For Wan workflows, connect VHS_VideoCombine.Filenames - the README says so explicitly. If your graph has multiple save/combine branches (say, one for preview and one for final), that's allowed; only the branch wired into this node is treated as the RenderZero result, so be deliberate about which one you connect.

    Installing it

    Identical to the rest of the pack. ComfyUI Manager - search "renderzero-comfyui-nodes" - Install, restart. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jamesstothard/renderzero-comfyui-nodes renderzero_bridge_nodes
    

    Restart ComfyUI. No extra Python dependencies and no model downloads; the pack only uses ComfyUI's built-in helpers.

    Common issues

    The two failure modes are both visible in the error messages, which is rare and worth appreciating. First: "missing a filename or path from the upstream save/combine node" - your video_payload is empty or the connected node doesn't expose a filename output, so check what you wired in. Second: "only accepts files saved inside the ComfyUI output directory" - your save node wrote somewhere else, or you hand-fed an absolute path that points outside output/. Both are config problems, not bugs. One timing note: the video file must exist when this node runs, so your save/combine node has to execute before or alongside it in the graph - if you reorder things so the output node runs first, you'll get a file-not-found error. And remember the contract: one Video Output per video workflow, and never mix it with the image-side bridges.

    CategoryRenderZero

    Inputs (1)

    NameTypeDefaultDescription
    video_payload*

    Outputs (0)

    No outputs