👁 S42 CutFlow Quick Preview
Edit at 480p, render at full res
- clip
- clip
- frame_count
- info
Quick Preview is the workflow node of the pack, and it's the one I'd install S42 CutFlow for even if nothing else existed. You drop it right after your video loader and it downsamples your footage to 480p before it hits the rest of your chain. Every downstream node - filters, color, compositing - now processes a fraction of the pixels. That's roughly 4–8× faster iteration on 1080p source, more on 4K. When you're happy with the edit, you flip it to passthrough and re-queue the final render at full resolution. That's the entire trick, and it's a good one.
The inputs
- mode -
preview(downsample) orpassthrough(no-op, full-res flows through unchanged). This is the only input you flip between edit and render. - preview_height (int, default 480, range 120–1080) - the height to downscale to; width scales proportionally. The tooltip's guidance is right: 480 = fast, 720 = balanced. There's no reason to go above 720 for preview purposes.
- frame_skip (int, default 1) - process every Nth frame. Set to 2 and you see half the frames, roughly doubling speed again. The catch: frame_skip changes the frame count, so it's a preview-only knob. Don't render with it on, and don't let a frame-skipped clip flow into anything length-sensitive.
How it works and why it matters
The mechanism is dumb in the best way: resize the batch to preview_height with width rounded to a multiple of 8 (so downstream nodes that care about alignment stay happy), and in passthrough mode it returns the clip untouched. No approximation, no lossy preview format - it's literally smaller frames. The output clip is a normal IMAGE batch, so everything downstream just works, and you get frame_count and info outputs for visibility.
The reason this matters so much is the context the README spells out: ComfyUI executes nodes sequentially, so there's no real-time preview. Iterating at full resolution means every parameter tweak costs a full-res pass through your whole chain. Put Quick Preview at the start, do all your fiddling at 480p, and save the slow full-res run for the final render. The pack's own example workflows start with exactly this node for that reason.
Installing it
Same one-time install as the whole suite:
cd ComfyUI/custom_nodes/
git clone https://github.com/GeekyGhost/S42-CutFlow.git
pip install -r S42-CutFlow/requirements.txt # or ComfyUI Manager, search "S42 CutFlow"
Restart ComfyUI, find it under S42 CutFlow/Preview.
Gotchas
Three ways people shoot themselves. First - and this is the big one - leaving mode on preview for the final render. Your "1080p" export is actually 480p and you don't notice until it's on the timeline. The flip to passthrough before rendering is a habit, not a setting. Second, frame_skip > 1 in a finished render gives you a stuttery, half-length video; it's a look-at-it knob only. Third, don't forget the node outputs a changed clip - anything wired downstream of it genuinely sees the downsampled frames, so if you're comparing "original vs processed," grab the original from before the preview node. And one workflow-level tip: keep the preview node's output feeding the rest of the graph, but take your "after" comparison straight from the full-res branch when you want to judge quality honestly.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | IMAGE | Video clip to preview. | |
| mode | COMBO | preview | 'preview' = downsample to preview_height for fast processing. 'passthrough' = no-op, full resolution passes through unchanged. Switch to passthrough for final render. |
| preview_height | INT | 480120–1080 | Preview resolution height in pixels. Width scales proportionally. 480 = fast, 720 = balanced. |
| frame_skip | INT | 11–10 | Process every Nth frame for even faster preview. 1 = all frames, 2 = half, etc. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| clip | IMAGE | — |
| frame_count | INT | — |
| info | STRING | — |