This workflow brings FlashVSR to ComfyUI with three ready-to-run paths: an ultra-fast upscaler for quick turnarounds, a streaming-quality sampler for higher fidelity, and a WanVideo-integrated route that fuses FlashVSR conditioning with a text-to-video backbone. It is designed for editors, colorists, and creators who need real-time video super-resolution and restoration while preserving temporal consistency.
FlashVSR uses one-step diffusion, locality-constrained sparse attention, and a tiny conditional decoder to upscale and clean up low-resolution or AI-generated footage with minimal compute. The graph keeps your audio, provides side-by-side comparison renders, and writes separate deliverables per branch so you can pick the best result for your shot.
At a glance: load a source clip, then choose one or more branches to render. All branches inherit the same input and audio and can run independently, producing their own output files and optional comparison videos.
Global Parameters
VHS_LoadVideo (#123) loads your source clip and passes audio to every renderer to preserve sound. VHS_VideoInfo (#129) exposes FPS for consistent exports. Two helper nodes, “Before Resize” GetImageSizeAndCount (#162) and “After Resize” GetImageSizeAndCount (#163), report dimensions and frame count so you always know what each branch is processing.LayerUtility: ImageScaleByAspectRatio V2 (#140, #154, #155) normalizes frames for each path using letterbox scaling. Pick your long-side target per branch to control tradeoffs between quality and speed.FlashVSR Ultra-Fast
ImageScaleByAspectRatio V2 (#154)) and sent to two variants of FlashVSRNode (#152 set to “full”, #143 set to “tiny”) so you can compare speed and sharpness.VHS_VideoCombine (#144 and #153) with audio passthrough. Use this when you need quick client checks, upscaling dailies, or fast AI footage cleanup.FlashVSR_SM_KSampler
FlashVSR_SM_Model loaders (#158 with TCDecoder, #150 without) feed two FlashVSR_SM_KSampler passes (#146 and #148) for A/B comparisons on challenging footage.ImageScaleByAspectRatio V2 (#155)), then processed in Pass 1 and Pass 2. LayerUtility: PurgeVRAM V2 (#145, #147) frees memory between passes for stability on limited GPUs.VHS_VideoCombine #157 “Pass_1”, #156 “Pass_2”). Two comparison composers (ImageConcanate #165 and #167) generate side-by-side videos of source vs result (VHS_VideoCombine #166, #168) so you can quickly judge which pass to keep.KJ Wan Flash VSR
WanVideoModelLoader (#22) loads the FlashVSR-tuned Wan model, while LoadWanVideoT5TextEncoder (#11) and WanVideoTextEncode (#104) provide prompt embeddings if you want stylistic guidance.ImageScaleByAspectRatio V2 (#140)), then WanVideoEmptyEmbeds (#78) sets the correct width, height, and frame count. WanVideoAddFlashVSRInput (#114) fuses the prepared images with the FlashVSR embeds that the sampler expects.WanVideoSampler (#27) performs one-step inference; WanVideoDecode (#121) reconstructs frames with the FlashVSR TCDecoder loader (#119). A ColorMatch (#142) stage restores the original look, followed by an optional side-by-side join (ImageConcatMulti #117). Final outputs are written via VHS_VideoCombine (#135, #30).FlashVSRNode (#152, full)
scale for 2x/4x work, enable color_fix to stabilize luminance, and use tiled_vae or tiled_dit when working at larger resolutions. Tune sparse_ratio, kv_ratio, and local_range only if you see motion softness or temporal drift. Implementation reference: ComfyUI-FlashVSR_Ultra_Fast.FlashVSRNode (#143, tiny)
FlashVSR_SM_KSampler (#146, Pass 1)
scale first, then balance cfg and steps for detail vs speed. If VRAM is tight at high resolutions, enable full_tiled and reduce split_num. Implementation details and weights: ComfyUI_FlashVSR.FlashVSR_SM_KSampler (#148, Pass 2)
kv_ratio and local_range consistent across passes when you want a controlled A/B.WanVideoAddFlashVSRInput (#114)
strength control determines how assertively FlashVSR restoration is applied relative to any prompt influence. Increase strength when the source is very compressed or AI-generated.WanVideoSampler (#27)
steps to one for true FlashVSR behavior in this route.ColorMatch (#142)
This workflow implements and builds upon the following works and resources. We gratefully acknowledge smthemex for the ComfyUI FlashVSR node (FlashVSR Source) and lihaoyun6 for the ComfyUI FlashVSR Ultra Fast node (FlashVSR Ultra Fast) for their contributions and maintenance. For authoritative details, please refer to the original documentation and repositories linked below.
Note: Use of the referenced models, datasets, and code is subject to the respective licenses and terms provided by their authors and maintainers.
RunComfy is the premier ComfyUI platform, offering ComfyUI online environment and services, along with ComfyUI workflows featuring stunning visuals. RunComfy also provides AI Playground, enabling artists to harness the latest AI tools to create incredible art.