One-step diffusion video restoration and upscaling on SeedVR2 (2.5): an uploaded frame sequence is restored to the target resolution with temporal consistency and selectable color correction, then re-encoded as MP4 — the 2026-standard generative upscale pass for archival, AI-generated, and low-quality footage
Tags: videorestorationupscaleseedvr2enhancement2026-sota
Inputs (8)#
The typed parameter surface callers bind when they request this workflow. Enum options and numeric bounds are the values the workflow document declares.
source_framesimage_sequencerequiredframe_countintegerdefault 49min 1max 241fpsintegerdefault 24min 8max 60target_resolutionintegerdefault 1080min 512max 2160model_qualityenumdefault fast_3bfast_3bquality_3bquality_7bsharp_7bcolor_correctionenumdefault lablabwaveletwavelet_adaptivehsvadainnonebatch_sizeenumdefault 515913seedintegerdefault -1ComfyUI node graph (5)#
The executable ComfyUI prompt graph: 5 nodes across 5 distinct node classes, wired by 4 data dependencies. Nodes tinted green come from a custom node pack this workflow declares; the rest are ComfyUI core / baked-community classes.
Nodes (5)#
1IsisLoadImageListcustom packfilenames = {{source_frames}} tmplframe_count = {{frame_count}} tmplIMAGE2SeedVR2LoadDiTModelcustom packmodel = {{dit_models[model_quality]}} tmpldevice = cuda:0SEEDVR2_DIT3SeedVR2LoadVAEModelcustom packmodel = ema_vae_fp16.safetensorsdevice = cuda:0SEEDVR2_VAE4SeedVR2VideoUpscalercustom packimage = ◂ node 1 · out[0]dit = ◂ node 2 · out[0]vae = ◂ node 3 · out[0]seed = {{seed}} tmplresolution = {{target_resolution}} tmplmax_resolution = 0batch_size = {{int(batch_size)}} tmpluniform_batch_size = falsecolor_correction = {{color_correction}} tmplIMAGE5VHS_VideoCombinecustom packimages = ◂ node 4 · out[0]frame_rate = {{fps}} tmplloop_count = 0filename_prefix = video_restoreformat = video/h264-mp4save_output = trueVHS_FILENAMESParameter banks (1)#
The prompt / configuration lookup tables this workflow keys into from its inputs — the vocabulary that turns a style / palette / preset selection into graph parameters.
dit_models (4)#
fast_3bseedvr2_ema_3b_fp8_e4m3fn.safetensorsquality_3bseedvr2_ema_3b_fp16.safetensorsquality_7bseedvr2_ema_7b_fp16.safetensorssharp_7bseedvr2_ema_7b_sharp_fp16.safetensorsModels & dependencies#
Custom node packs (5)#
The non-core ComfyUI node classes this graph requires; the RunPod worker image the workflow runs on must bake or install a pack that provides every one of them.
IsisLoadImageListSeedVR2LoadDiTModelSeedVR2LoadVAEModelSeedVR2VideoUpscalerVHS_VideoCombineModels required (5)#
ema_vae_fp16.safetensorsseedvr2_ema_3b_fp16.safetensorsseedvr2_ema_3b_fp8_e4m3fn.safetensorsseedvr2_ema_7b_fp16.safetensorsseedvr2_ema_7b_sharp_fp16.safetensorsOutput contract#
What a successful run of this workflow returns.
typevideoformatmp4Taxonomy & routing#
How the control plane classifies this workflow — from the committed workflow-taxonomy-registry.json. It drives the consistency / control surface the agentic director can exercise over the workflow.
assetFamilyrestored-video-masteroutputPackageProfilevideo-master-profilecontrolModalitiestemporal-lockseed-lockmodel-lockcolor-script-lockconsistencyDimensionsmotioncolor-scriptnotesSeedVR2 2.5 one-step diffusion restore: 3B/7B DiT enum, 4n+1 temporal batching, lab/wavelet/adain color match.