Nodes/GENKAI Nodes/Video Compare Loader (genkai)
ComfyUI Node

Video Compare Loader (genkai)

Two clips, one wire, one shared prompt

By GENKAIx·Created about a month ago·Updated 21 days ago· 9
Video Compare Loader (genkai)
    • videos
    ◄media_json{}►

    Comparing two generations is the most useful thing you can do with a video model, and the most annoying to set up: two loaders, two players, and a prompt you're scrolling back to in a text editor while you try to judge which take actually followed the brief.

    Video Compare Loader is the input half of this pack's comparison pair. Load two videos into it, name them, optionally paste the shared prompt, and one videos output carries all of it to PromptSync Video Compare.

    How it works

    Two slots - load or drag a file into each, then give them names you'll recognise ("seed 44" vs "seed 912"). Below them, a PROMPT · OPTIONAL field that grows to twelve lines and then scrolls internally. That prompt is the timed prompt the comparison panel will highlight scene by scene; leave it empty and you get a plain A/B video comparison with the prompt panel hidden.

    The single output, videos, is type GENKAI_VIDEO_PAIR: a bespoke type carrying both file references, their names and the prompt. Native ComfyUI has no equivalent - this exists so the pair travels down one link instead of you juggling four.

    Server-side, the node probes each file for its duration, resolution and whether it has an audio stream, using PyAV (the av package that ComfyUI already ships). It's an IS_CHANGED implementation worth knowing about if you're the type to wonder why things re-run: the node fingerprints each file by size and modification time, so replacing a video on disk with the same filename does correctly re-trigger it, and re-queuing an unchanged setup doesn't.

    The node isn't an output node - it runs because the compare node downstream asks for its data. On its own, with nothing consuming it, it does nothing visible.

    What you actually get out of it

    The pairing: click + Add PromptSync Video Compare in the loader and it creates the second node, wires videos for you and brings it into view. Do that rather than hand-wiring; the type is specific and the button is right there.

    Files stay local. Uploaded videos are stored inside your ComfyUI installation (input directory) and referenced by path from the workflow - nothing is sent anywhere, and nothing is transcoded. If you feed it something the browser can't decode, the loader will still pass it along and the compare panel will be the thing that looks wrong: MP4 with H.264 video and AAC audio is the safe choice.

    Inputs and outputs at a glance

    • media_json - the state blob the frontend writes: slot paths, names and the prompt. Hands off, exactly like the media-bank and prompt-bank state inputs in this pack.
    • videos - GENKAI_VIDEO_PAIR, out to PromptSync Video Compare and nowhere else. If you were hoping to feed this into a save node, you can't; the pair is for review.

    How to install it

    cd ComfyUI/custom_nodes
    git clone https://github.com/GENKAIx/Genkai-ComfyUI-Nodes
    

    ComfyUI Manager → Genkai-ComfyUI-Nodes also works. Restart, Ctrl+F5 (there's frontend JS involved - the soft refresh will bite you). Category: GENKAI → Video. No models and no pip installs beyond what ComfyUI already has, though the compare node does import PyAV, which ships with current ComfyUI.

    The pack ships an example workflow with both nodes pre-wired and empty slots - a faster start than building the pair by hand.

    Common issues

    Load video A first. One slot is empty. Both are required; there's no "compare against nothing" mode.

    A path error instead of a video. Both files must live inside ComfyUI's input, output or temp directories - that's how the files get served to the browser. Move the file into ComfyUI/input and reload it.

    Everything is blank after reopening the workflow. Names, prompt, mode and audio settings are saved with the workflow, but the video files are references, not data. Move or delete the source files and the slots come back empty.

    It plays, but one side is silent. Videos start muted - volume 25%, both tracks disabled, in the compare node. That's a deliberate default, not a broken audio track; enable the track you want in Audio tracks.

    CategoryGENKAI/Video

    Inputs (1)

    NameTypeDefaultDescription
    media_jsonSTRING{}—

    Outputs (1)

    NameTypeDescription
    videosGENKAI_VIDEO_PAIR—