Nodes/ComfyUI-SplatKit/Save Upscaled Frames (Streaming)
ComfyUI Node

Save Upscaled Frames (Streaming)

A ComfyUI node in SplatKit with 10 inputs and 1 output.

By mickmumpitz·Created 19 days ago·Updated a day ago· 0
Save Upscaled Frames (Streaming)
  • images
  • meta_batch
  • images_dir
canonical_dir
out_suffix_upscaled
out_dir
filename_pattern{i:05d}.png
source_names_dir
order_names
passthrough_json
job
CategorySplatKit

Inputs (10)

NameTypeDefaultDescription
imagesIMAGEThe upscaled frame(s) for THIS chunk. Under a Meta Batch Manager this is one (or a few) frames per iteration.
canonical_diroptSTRINGWire Resolve Dataset Images -> canonical_dir. Frames are written to <canonical_dir><out_suffix> (a NEW folder next to the originals). Ignored if out_dir is set.
out_suffixoptSTRING_upscaledSuffix for the derived output folder when out_dir is blank.
out_diroptSTRINGExplicit output folder. Overrides canonical_dir+out_suffix. Absolute, or relative to ComfyUI/output.
filename_patternoptSTRING{i:05d}.pngPython format for each frame's filename; {i} is the running 0-based frame index. Sequential naming keeps temporal order. Ignored when source_names_dir is set.
source_names_diroptSTRINGOptional folder of the ORIGINAL images. When set, each upscaled frame is written under the original filename (lexical order, matching the VHS loader) instead of filename_pattern -- required for an in-place COLMAP dataset upscale so sparse/0/images.bin keeps matching. Wire Prepare Dataset Upscale -> load_dir here.
order_namesoptSTRINGJSON list of the filenames in the EXACT order the frames arrive. Wire Load Dataset Images (Ordered) -> order_names here whenever the stream is CAMERA-MAJOR -- a lexical source_names_dir listing would map the frames to the wrong files. Takes precedence over source_names_dir.
passthrough_jsonoptSTRINGWire Load Dataset Images (Ordered) -> passthrough_json. Names listed there are NOT written from the upscaled tensor: their untouched ORIGINAL file is copied to the output instead, at its native resolution. Frame 00000 is the real panorama and has its own larger COLMAP camera, so it is passed through the model only to give it temporal context -- the generated version is discarded and the real pixels are kept.
joboptSTRINGWire Load Dataset Images (Ordered) -> job and this node needs NOTHING else configured: the target folder, the exact arrival order and the passthrough list all travel down that one link. It fills in out_dir / order_names / passthrough_json, and any of those you set explicitly still wins.
meta_batchoptVHS_BatchManagerWire the SAME Meta Batch Manager that drives the loader here so this node accumulates across iterations and finalises on the last chunk. Leave unconnected for a single full-batch save.

Outputs (1)

NameTypeDescription
images_dirSTRING