Compare Video Options
The settings bundle that keeps your before/after videos honest
- options
Compare Video Options doesn't make a single frame of video. It's the config bundle for the two video-making nodes in the same pack - Create Fade Compare Video and Create Wipe Compare Video - and it exists so you can set the look of your comparison once and reuse it everywhere.
Here's the situation it solves: you're testing a checkpoint against its LoRA-tuned sibling, or a hires-fix setting against the original, and you want a clean before/after clip to post. The naive path is rendering a fade and a wipe separately and re-entering the same fps, background, and resampling choices in both. This node is the single source of truth for those choices. It packages them into one object you feed into either creator, so the fade and the wipe of the same pair come out matching. If you're doing a whole grid of comparisons, that consistency is the whole point.
Mechanically it's dead simple: it builds a small options object of a custom NYNXZ_COMPAREVIDEO_OPTS type. The create nodes read its fields with sensible fallbacks, so nothing here is actually mandatory to wire up.
The inputs that matter
- background_color - a hex string like
#000000, shown behind the images. This is what you see as letterbox bars when your two images have different aspect ratios. Default black is fine. - scale_mode - how each image is fit to the shared canvas:
contain(fit inside, letterbox),cover(fill and crop the overflow),stretch,pad, orcrop_center. Defaultcontain, which is the honest choice for comparisons - you're not stretching pixels to fake a match. - fps - the frame rate of the resulting clip, 1–60, default 8. Whatever you export at, this should match so the timing you set in
durationis what you actually get. - upscale_method - resampling used when the images are resized to match:
nearest-exact,bilinear,area,bicubic, orlanczos. Defaultlanczosis the right call for stills. - fade_width - pixels-wide blend band across the wipe edge. It only does anything on the wipe node; the fade node ignores it.
- wipe_angle (optional) - leave at
-1to make the wipe follow the direction input on the wipe node, or set an angle in degrees for diagonal sweeps.
The output
One options output, wired into the options input on either create node. If you skip this node entirely and just set the create nodes' fields, the defaults take over - nothing breaks.
Install & troubleshooting
It ships in the Nynxz/ComfyUI-NynxzNodes pack, which is on the Comfy Registry under publisher nynxz. Easiest path: ComfyUI Manager → search "Nynxz" or "ComfyUI-NynxzNodes" → Install → restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzNodes
Then restart ComfyUI. There's no requirements.txt to run and no model to download - the whole pack is pure Python that leans on numpy/PIL/torch, which ComfyUI already ships. The one real gotcha: the pack is built on the newer comfy_api.latest extension API, so if the nodes don't appear after a restart, update ComfyUI itself first, not the pack. The author (Nynxz) also maintains ComfyUI-IdeogramHelper, and the repo recently moved to the nynxz-dev org - old links redirect, so an older clone still updates fine.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| background_color | STRING | #000000 | Background color for the preview |
| scale_mode | COMBO | contain | Choose how images are scaled to fit the target size |
| fps | FLOAT | 81–60 | Frames per second of the compare video |
| upscale_method | COMBO | lanczos | Resampling method used when resizing images |
| fade_width | INT | 200–100 | Width of the fade transition in pixels |
| wipe_angleopt | INT | -1-1–360 | Angle of the wipe in degrees (-1 for direction-based) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| options | NYNXZ_COMPAREVIDEO_OPTS | Compare Video Options Object |