Generated reference · ComfyUI workflow · Video & motion

Video Restore

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 …

Video & motion5nodesGPU L40Sout video~300sv1.0.0

On this page

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

5Graph nodes
5Node classes
8Inputs
5Models

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_sequencerequired
Source video frames (comma-separated uploaded filenames, in order)
frame_countintegerdefault 49min 1max 241
Number of frames to restore
fpsintegerdefault 24min 8max 60
Frame rate of the re-encoded output video
target_resolutionintegerdefault 1080min 512max 2160
Target shortest-edge resolution; aspect ratio is preserved
model_qualityenumdefault fast_3b
DiT restore model: 3B fp8 (fast), 3B fp16, 7B fp16 (best fidelity), 7B sharp fp16 (crispest detail)
options: fast_3bquality_3bquality_7bsharp_7b
color_correctionenumdefault lab
Color match of the restored frames back to the source
options: labwaveletwavelet_adaptivehsvadainnone
batch_sizeenumdefault 5
Frames restored per temporal batch (the model requires 4n+1); larger is faster but needs more VRAM
options: 15913
seedintegerdefault -1
Random seed (-1 for random)

ComfyUI 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.

flowchart TD n0["1: IsisLoadImageList"] n1["2: SeedVR2LoadDiTModel"] n2["3: SeedVR2LoadVAEModel"] n3["4: SeedVR2VideoUpscaler"] n4["5: VHS_VideoCombine"] n0 -->|image| n3 n1 -->|dit| n3 n2 -->|vae| n3 n3 -->|images| n4 classDef custom fill:#12b886,stroke:#0b6b4f,color:#04110c; class n0,n1,n2,n3,n4 custom;
Data-flow DAG — scroll to zoom, drag to pan.

Nodes (5)#

1IsisLoadImageListcustom pack
filenames = {{source_frames}} tmplframe_count = {{frame_count}} tmpl
outputs: IMAGE
2SeedVR2LoadDiTModelcustom pack
model = {{dit_models[model_quality]}} tmpldevice = cuda:0
outputs: SEEDVR2_DIT
3SeedVR2LoadVAEModelcustom pack
model = ema_vae_fp16.safetensorsdevice = cuda:0
outputs: SEEDVR2_VAE
4SeedVR2VideoUpscalercustom pack
image = ◂ 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}} tmpl
outputs: IMAGE
5VHS_VideoCombinecustom pack
images = ◂ node 4 · out[0]frame_rate = {{fps}} tmplloop_count = 0filename_prefix = video_restoreformat = video/h264-mp4save_output = true
outputs: VHS_FILENAMES

Parameter 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_3b
seedvr2_ema_3b_fp8_e4m3fn.safetensors
quality_3b
seedvr2_ema_3b_fp16.safetensors
quality_7b
seedvr2_ema_7b_fp16.safetensors
sharp_7b
seedvr2_ema_7b_sharp_fp16.safetensors

Models & 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_VideoCombine

Models required (5)#

ema_vae_fp16.safetensors
seedvr2_ema_3b_fp16.safetensors
seedvr2_ema_3b_fp8_e4m3fn.safetensors
seedvr2_ema_7b_fp16.safetensors
seedvr2_ema_7b_sharp_fp16.safetensors

Output contract#

What a successful run of this workflow returns.

type
video
format
mp4

Taxonomy & 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.

assetFamily
restored-video-master
outputPackageProfile
video-master-profile
controlModalities
temporal-lockseed-lockmodel-lockcolor-script-lock
consistencyDimensions
motioncolor-script
notes
SeedVR2 2.5 one-step diffusion restore: 3B/7B DiT enum, 4n+1 temporal batching, lab/wavelet/adain color match.