ComfyUI Node
Save Upscaled Frames (Streaming)
A ComfyUI node in SplatKit with 10 inputs and 1 output.
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)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The upscaled frame(s) for THIS chunk. Under a Meta Batch Manager this is one (or a few) frames per iteration. | |
| canonical_diropt | STRING | Wire 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_suffixopt | STRING | _upscaled | Suffix for the derived output folder when out_dir is blank. |
| out_diropt | STRING | Explicit output folder. Overrides canonical_dir+out_suffix. Absolute, or relative to ComfyUI/output. | |
| filename_patternopt | STRING | {i:05d}.png | Python 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_diropt | STRING | Optional 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_namesopt | STRING | JSON 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_jsonopt | STRING | Wire 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. | |
| jobopt | STRING | Wire 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_batchopt | VHS_BatchManager | Wire 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)
| Name | Type | Description |
|---|---|---|
| images_dir | STRING | — |