SeedVR2 ComfyUI: Native Nodes or the numz Node, Files and VRAM

Updated 2026-10-10

Two ways to run SeedVR2 in ComfyUI: built-in nodes since v0.28.0, or the numz upscaler node. Every model file with exact sizes, block swap, tiling and 4n+1.

Quick answer

There are two ways to run SeedVR2 in ComfyUI, and every seedvr2 comfyui guide describes one of them. They use different nodes and different model files. On ComfyUI v0.28.0 or later, the first is already installed.

RouteNeedsModel files fromFoldersMemory controls
RouteNative nodes, built into ComfyUINeedsComfyUI v0.28.0 or laterModel files fromComfy-Org/SeedVR2Foldersdiffusion_models/ and vae/Memory controlsTiled VAE encode and decode, automatic temporal chunking
Routenumz/ComfyUI-SeedVR2_VideoUpscalerNeedsThe custom node, v2.5.24 (24 Dec 2025)Model files fromnumz/ and AInVFX/ reposFoldersSEEDVR2/, downloaded on first useMemory controlsBlock swap, tiled VAE, offload devices, GGUF

The simplest native setup is the Video Upscale: SeedVR2 3B Int8 template. It loads two files, 3.96 GB together: seedvr2_3b_int8_convrot.safetensors and seedvr2_ema_vae_fp16.safetensors.

The search phrase "comfyui seedvr2 block swap" belongs to the second route. Block swap is a setting on the numz node's DiT loader; the native nodes do not have it.

We have not run SeedVR2 ourselves. File sizes below were read from the Hugging Face API on 2026-10-10 and are exact. Node names and defaults come from each project's source code. Every VRAM figure is somebody else's, and says whose.

What SeedVR2 is

SeedVR2 is ByteDance Seed's video restoration model. It cleans up and upscales video, and images, in one diffusion step instead of the usual dozens. The paper, "SeedVR2: One-Step Video Restoration via Diffusion Adversarial Post-Training", was accepted at ICLR 2026. It comes in a 3B and a 7B version, and the 7B also has a "sharp" variant.

ByteDance's own code runs from the command line, not ComfyUI. Its README says one 80 GB H100 handles 100 frames at 720×1280, and that 1080p and 2K need four of them. Both ComfyUI routes exist to bring that down to a desktop card.

The README also gives a limitation that matters if you upscale AI video. The model tends to invent too much detail on inputs that are only lightly degraded. ByteDance's example is 720p AI-generated video, with 480p and other small inputs the worst. The result can look oversharpened.

Route 1: the native nodes

ComfyUI added SeedVR2 in pull request #14424, merged on 10 July 2026. It was first released in v0.28.0. The template index lists 0.28.0 as the minimum version for every SeedVR2 template.

The native workflow uses ComfyUI's standard loaders and sampler, plus five SeedVR2 nodes:

Node, as shown in ComfyUIWhat it does
Node, as shown in ComfyUIPre-Process SeedVR2 InputWhat it doesPads frames to multiples of 16 pixels and 4n+1 frames; drops the alpha channel
Node, as shown in ComfyUIApply SeedVR2 ConditioningWhat it doesBuilds the positive and negative conditioning from the encoded latent
Node, as shown in ComfyUISplit SeedVR2 LatentWhat it doesSplits a long video latent into chunks; auto sizes them to the free VRAM
Node, as shown in ComfyUIMerge SeedVR2 LatentsWhat it doesJoins the chunks again, crossfading any overlap
Node, as shown in ComfyUIPost-Process SeedVR2 OutputWhat it doesAligns the result to the input and applies colour correction (lab by default)

The model loads through Load Diffusion Model, the VAE through Load VAE, and sampling is a normal KSampler set to 1 step, CFG 1, euler, simple, denoise 1. The upscale itself happens before the model: the templates first enlarge the input with a Lanczos resize, 2× for video and 4× for images, then SeedVR2 restores it at that size.

Five SeedVR2 templates run locally, under Image Tools and Video Tools. Three use the native nodes, and two use the numz node from route 2:

TemplateLoadsCustom nodes needed
TemplateVideo Upscale: SeedVR2 3B Int8Loadsseedvr2_3b_int8_convrot + VAECustom nodes neededNone
TemplateImage Upscale: SeedVR2 3B Int8Loadsseedvr2_3b_int8_convrot + VAECustom nodes neededNone
TemplateImage Upscale: SeedVR2 7B Int8Loadsseedvr2_7b_int8_convrot + VAECustom nodes neededNone
TemplateVideo Upscale: SeedVR2LoadsThe numz node's own filesCustom nodes neededseedvr2_videoupscaler
TemplateImage Upscale: SeedVR2LoadsThe numz node's own filesCustom nodes neededseedvr2_videoupscaler, comfyui_essentials

A sixth, Image Upscale: WaveSpeed SeedVR2, sends the image to WaveSpeed's hosted service instead of running it on your GPU.

Native model files

All from Comfy-Org/SeedVR2. The pull request says these files have the conditioning built in, so one diffusion model file is all you need.

FileFolderBytesSize
Fileseedvr2_3b_nvfp4.safetensorsFolderdiffusion_models/Bytes1,996,687,726Size2.00 GB
Fileseedvr2_3b_fp8_e4m3fn.safetensorsFolderdiffusion_models/Bytes3,392,794,232Size3.39 GB
Fileseedvr2_3b_int8_convrot.safetensorsFolderdiffusion_models/Bytes3,458,259,704Size3.46 GB
Fileseedvr2_3b_mxfp8.safetensorsFolderdiffusion_models/Bytes3,557,857,550Size3.56 GB
Fileseedvr2_3b_fp16.safetensorsFolderdiffusion_models/Bytes6,784,268,336Size6.78 GB
Fileseedvr2_7b_nvfp4.safetensorsFolderdiffusion_models/Bytes4,759,694,792Size4.76 GB
Fileseedvr2_7b_fp8_e4m3fn.safetensorsFolderdiffusion_models/Bytes8,240,979,248Size8.24 GB
Fileseedvr2_7b_int8_convrot.safetensorsFolderdiffusion_models/Bytes8,334,897,976Size8.33 GB
Fileseedvr2_7b_mxfp8.safetensorsFolderdiffusion_models/Bytes8,581,725,960Size8.58 GB
Fileseedvr2_7b_fp16.safetensorsFolderdiffusion_models/Bytes16,480,583,960Size16.48 GB
Fileseedvr2_ema_vae_fp16.safetensorsFoldervae/Bytes501,324,814Size0.50 GB

Each seedvr2_7b_* file also comes in a seedvr2_7b_sharp_* version of exactly the same size. The repository holds the VAE twice, as seedvr2_ema_vae_fp16.safetensors and ema_vae_fp16.safetensors; the two have the same SHA-256, so you need only one. The templates load the first name.

The model notes inside the templates give 478.1 MB, 3.22 GB and 7.76 GB for the VAE and the two INT8 models. Those are the same bytes counted in binary units. What NVFP4 needs from a GPU is on our MiniMax H3 NVFP4 page.

Route 2: the numz custom node

numz/ComfyUI-SeedVR2_VideoUpscaler is by NumZ and Adrien Toupet of AInVFX, under Apache 2.0. ByteDance's SeedVR README links to it and thanks them for it. It is in the Comfy Registry as seedvr2_videoupscaler and in ComfyUI-Manager's node list, so you can search for it in the Custom Nodes Manager. The latest release, 2.5.24, is from 24 December 2025, and the repository has had no push since.

Version 2.5.0 rebuilt it as four nodes, and workflows from before 2.5.0 have to be recreated:

Node, as shown in ComfyUINode ID
Node, as shown in ComfyUISeedVR2 (Down)Load DiT ModelNode IDSeedVR2LoadDiTModel
Node, as shown in ComfyUISeedVR2 (Down)Load VAE ModelNode IDSeedVR2LoadVAEModel
Node, as shown in ComfyUISeedVR2 Torch Compile SettingsNode IDSeedVR2TorchCompileSettings
Node, as shown in ComfyUISeedVR2 Video Upscaler (v2.5.24)Node IDSeedVR2VideoUpscaler

The loaders download the chosen file on first use into ComfyUI/models/SEEDVR2/. The default DiT is seedvr2_ema_3b_fp8_e4m3fn.safetensors. The README lists Python 3.12 or later.

numz node model files

These are the files in the DiT loader's built-in list, from the two repositories the node downloads from:

FileRepositoryBytesSize
Fileseedvr2_ema_3b-Q4_K_M.ggufRepositoryAInVFX/SeedVR2_comfyUIBytes1,995,344,224Size2.00 GB
Fileseedvr2_ema_3b_fp8_e4m3fn.safetensors (default)Repositorynumz/SeedVR2_comfyUIBytes3,391,544,696Size3.39 GB
Fileseedvr2_ema_3b-Q8_0.ggufRepositoryAInVFX/SeedVR2_comfyUIBytes3,660,613,984Size3.66 GB
Fileseedvr2_ema_3b_fp16.safetensorsRepositorynumz/SeedVR2_comfyUIBytes6,783,018,808Size6.78 GB
Fileseedvr2_ema_7b-Q4_K_M.ggufRepositoryAInVFX/SeedVR2_comfyUIBytes4,758,306,592Size4.76 GB
Fileseedvr2_ema_7b_fp8_e4m3fn_mixed_block35_fp16.safetensorsRepositoryAInVFX/SeedVR2_comfyUIBytes8,466,296,338Size8.47 GB
Fileseedvr2_ema_7b_fp16.safetensorsRepositorynumz/SeedVR2_comfyUIBytes16,479,334,424Size16.48 GB
Fileema_vae_fp16.safetensors (VAE)Repositorynumz/SeedVR2_comfyUIBytes501,324,814Size0.50 GB

The 7B sharp variant has a Q4_K_M, a mixed FP8 and an FP16 file of the same sizes. The mixed FP8 7B keeps its last block in FP16; the node's notes say this was added to fix artifacts from the plain FP8 7B file, which is still in numz/SeedVR2_comfyUI at 8.24 GB.

More GGUF quants, Q3_K_M to Q8_0 for 3B, 7B and 7B sharp, are in cmeka/SeedVR2-GGUF, which the README points to. They run from 1.55 GB (3B Q3_K_M) to 8.84 GB (7B Q8_0). Its 3B Q4_K_M has the same SHA-256 as AInVFX's.

The VAE is byte-identical to Comfy-Org's. The DiT files are not: same names aside, their hashes differ from the native files. We have not tested whether either route loads the other's DiT files, so download the set your route asks for.

ByteDance's own files are not what either route loads. ByteDance-Seed/SeedVR2-3B holds seedvr2_ema_3b.pth at 13,566,090,228 bytes (13.57 GB), and ByteDance-Seed/SeedVR2-7B holds seedvr2_ema_7b.pth and seedvr2_ema_7b_sharp.pth at 32,958,774,606 bytes (32.96 GB) each. Both carry ema_vae.pth at 1.00 GB.

Memory settings, by route

numz node: block swap, tiling, offload

The README's order for an out-of-memory error depends on the phase the debug log names. Turn on enable_debug on the main node to see it.

  • OOM while upscaling: block swap. On the DiT loader, set offload_device to cpu, then blocks_to_swap to 16. Raise it to 24 or 32 if needed; the 3B has 32 blocks and the 7B has 36. Then turn on swap_io_components. Block swap needs an offload device different from the main device, and it is switched off on macOS.
  • OOM while encoding or decoding: tiled VAE. On the VAE loader, turn on encode_tiled or decode_tiled. The tile size defaults to 1024 pixels and the overlap to 128. Lower the tile size, to 768 or 512, if it still fails.
  • Only then, smaller batches or resolution. The README warns that both cost quality.

The README's low-VRAM example for 8 GB uses seedvr2_ema_3b-Q8_0.gguf, offload_device cpu, blocks_to_swap 32 and swap_io_components on.

The batch size rule: 4n+1

The numz node's batch_size must be 1, 5, 9, 13, 17, 21 and so on. The README calls it critical and ties it to how the model keeps frames consistent. Its advice:

  • 5 is the default and the minimum for video; 1 is for single images.
  • Ideally match the batch to the shot, such as 21 for a 20-frame shot.
  • More frames per batch means better consistency and speed, and more VRAM.

The native nodes enforce the same rule themselves. Pre-Process SeedVR2 Input pads a clip to 4n+1 frames by repeating the last frame, and Split SeedVR2 Latent's manual chunk size steps by 4 from 1.

Native nodes: tiles and chunks

The native video template uses VAE Encode (Tiled) and VAE Decode (Tiled) at tile size 512, overlap 128, 64 frames at a time with 8 frames of overlap. Split SeedVR2 Latent is set to auto, which predicts the largest chunk that fits in free VRAM.

There is no block swap. The model loads through Load Diffusion Model, so ComfyUI's ordinary memory management applies; our ComfyUI out of memory page covers those flags.

Two changes since release matter for long clips. The template's own note says to trim long videos and upscale them in pieces. And ComfyUI v0.38.0 added a change from Kijai that processes the SeedVR2 VAE a frame at a time where it can. Its pull request says VRAM use then depends on one frame's working set, not the whole clip.

Images and video

SeedVR2 is a video model that also does single images. On the numz node an image is a batch of 1, using the same Video Upscaler node. The native route has separate image templates, at 4× by default against 2× for video.

To try it without installing anything, ByteDance runs a SeedVR2-3B demo Space on Hugging Face.

Whose VRAM figures are these

FigureWhoseSetupMeasured?
FigureOne 80 GB H100 for 100 frames at 720×1280WhoseByteDance READMESetupByteDance's own script, not ComfyUIMeasured?Not stated
Figure8 GB or less: GGUF Q4_K_M with block swap and VAE tilingWhosenumz node READMESetupnumz nodeMeasured?No, a guideline
Figure12–16 GB: FP8, with block swap or tiling as neededWhosenumz node READMESetupnumz nodeMeasured?No, a guideline
Figure24 GB and up: FP16, no memory optionsWhosenumz node READMESetupnumz nodeMeasured?No, a guideline
Figure32 GB RTX 5090 ran out of memory about 75% through 25 sWhoseA user, ComfyUI #15422SetupNative template, August 2026, before v0.38.0Measured?One report
Figure12 GB RX 6700 XT ran out upscaling 1328 px to 2656 pxWhoseA user, numz issue #483Setup3B FP8, blocks_to_swap 32, batch 1, AMDMeasured?One report, open

Neither the README tiers nor any native template give a peak VRAM figure for a stated resolution and frame count. The two failures are single reports, not limits; the first got no reply and closed as stale.

Where the docs disagree

  1. The numz README gives wavelet as the default colour correction. The node's code defaults to lab, as the README's own release notes and CLI section say.
  2. The native templates set colour correction to none. Post-Process SeedVR2 Output itself defaults to lab.
  3. The numz repository calls itself the official release; ComfyUI-Manager's description calls it non-official. It is a community project that ByteDance's README endorses. ByteDance did not write it.

What nobody has published

  • A table of peak VRAM and system RAM per resolution and frame count, for either route.
  • A side-by-side of the native nodes and the numz node on the same clip and card.
  • A measured run of either route on an 8 GB card.

The system requirements checker does not include SeedVR2 yet; MiniMax H3 is its only preset. Our only measured run is MiniMax H3 on an RTX 3060, written up on our RTX 3060 test card.

Licence and downloads

ByteDance's README says SeedVR and SeedVR2 are licensed under Apache 2.0. Both official model cards carry the same tag. So do Comfy-Org/SeedVR2, numz/SeedVR2_comfyUI, AInVFX/SeedVR2_comfyUI and cmeka/SeedVR2-GGUF. The numz node's code is Apache 2.0 too; its 2.5.9 notes say it moved back from MIT to match ByteDance.

We do not host any of these files. Download them from the repositories named above. For running whole workflows, start with our ComfyUI workflows page.

GenVidKit is an independent guide. It is not affiliated with ByteDance, the Seed team, NumZ, AInVFX, Comfy Org, Kijai, cmeka, WaveSpeed or Hugging Face.

Sources

All read on 2026-10-10.