SeedVR2 ComfyUI: Native Nodes or the numz Node, Files and VRAM
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.
| Route | Needs | Model files from | Folders | Memory controls |
|---|---|---|---|---|
| RouteNative nodes, built into ComfyUI | NeedsComfyUI v0.28.0 or later | Model files fromComfy- | Foldersdiffusion_ and vae/ | Memory controlsTiled VAE encode and decode, automatic temporal chunking |
| Routenumz/ComfyUI-SeedVR2_VideoUpscaler | NeedsThe custom node, v2.5.24 (24 Dec 2025) | Model files fromnumz/ and AInVFX/ repos | FoldersSEEDVR2/, downloaded on first use | Memory 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_ and seedvr2_.
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 ComfyUI | What it does |
|---|---|
| Node, as shown in ComfyUIPre-Process SeedVR2 Input | What it doesPads frames to multiples of 16 pixels and 4n+1 frames; drops the alpha channel |
| Node, as shown in ComfyUIApply SeedVR2 Conditioning | What it doesBuilds the positive and negative conditioning from the encoded latent |
| Node, as shown in ComfyUISplit SeedVR2 Latent | What it doesSplits a long video latent into chunks; auto sizes them to the free VRAM |
| Node, as shown in ComfyUIMerge SeedVR2 Latents | What it doesJoins the chunks again, crossfading any overlap |
| Node, as shown in ComfyUIPost-Process SeedVR2 Output | What 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:
| Template | Loads | Custom nodes needed |
|---|---|---|
| TemplateVideo Upscale: SeedVR2 3B Int8 | Loadsseedvr2_ + VAE | Custom nodes neededNone |
| TemplateImage Upscale: SeedVR2 3B Int8 | Loadsseedvr2_ + VAE | Custom nodes neededNone |
| TemplateImage Upscale: SeedVR2 7B Int8 | Loadsseedvr2_ + VAE | Custom nodes neededNone |
| TemplateVideo Upscale: SeedVR2 | LoadsThe numz node's own files | Custom nodes neededseedvr2_ |
| TemplateImage Upscale: SeedVR2 | LoadsThe numz node's own files | Custom nodes neededseedvr2_, comfyui_ |
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-. The pull request says these files have the conditioning built in, so one diffusion model file is all you need.
| File | Folder | Bytes | Size |
|---|---|---|---|
Fileseedvr2_ | Folderdiffusion_ | Bytes1,996,687,726 | Size2.00 GB |
Fileseedvr2_ | Folderdiffusion_ | Bytes3,392,794,232 | Size3.39 GB |
Fileseedvr2_ | Folderdiffusion_ | Bytes3,458,259,704 | Size3.46 GB |
Fileseedvr2_ | Folderdiffusion_ | Bytes3,557,857,550 | Size3.56 GB |
Fileseedvr2_ | Folderdiffusion_ | Bytes6,784,268,336 | Size6.78 GB |
Fileseedvr2_ | Folderdiffusion_ | Bytes4,759,694,792 | Size4.76 GB |
Fileseedvr2_ | Folderdiffusion_ | Bytes8,240,979,248 | Size8.24 GB |
Fileseedvr2_ | Folderdiffusion_ | Bytes8,334,897,976 | Size8.33 GB |
Fileseedvr2_ | Folderdiffusion_ | Bytes8,581,725,960 | Size8.58 GB |
Fileseedvr2_ | Folderdiffusion_ | Bytes16,480,583,960 | Size16.48 GB |
Fileseedvr2_ | Foldervae/ | Bytes501,324,814 | Size0.50 GB |
Each seedvr2_ file also comes in a seedvr2_ version of exactly the same size. The repository holds the VAE twice, as seedvr2_ and ema_; 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/ 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_ 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 ComfyUI | Node ID |
|---|---|
| Node, as shown in ComfyUISeedVR2 (Down)Load DiT Model | Node IDSeedVR2LoadDiTModel |
| Node, as shown in ComfyUISeedVR2 (Down)Load VAE Model | Node IDSeedVR2LoadVAEModel |
| Node, as shown in ComfyUISeedVR2 Torch Compile Settings | Node IDSeedVR2TorchCompileSettings |
| Node, as shown in ComfyUISeedVR2 Video Upscaler (v2.5.24) | Node IDSeedVR2VideoUpscaler |
The loaders download the chosen file on first use into ComfyUI/. The default DiT is seedvr2_. 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:
| File | Repository | Bytes | Size |
|---|---|---|---|
Fileseedvr2_ | RepositoryAInVFX/ | Bytes1,995,344,224 | Size2.00 GB |
Fileseedvr2_ (default) | Repositorynumz/ | Bytes3,391,544,696 | Size3.39 GB |
Fileseedvr2_ | RepositoryAInVFX/ | Bytes3,660,613,984 | Size3.66 GB |
Fileseedvr2_ | Repositorynumz/ | Bytes6,783,018,808 | Size6.78 GB |
Fileseedvr2_ | RepositoryAInVFX/ | Bytes4,758,306,592 | Size4.76 GB |
Fileseedvr2_ | RepositoryAInVFX/ | Bytes8,466,296,338 | Size8.47 GB |
Fileseedvr2_ | Repositorynumz/ | Bytes16,479,334,424 | Size16.48 GB |
Fileema_ (VAE) | Repositorynumz/ | Bytes501,324,814 | Size0.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/ at 8.24 GB.
More GGUF quants, Q3_K_M to Q8_0 for 3B, 7B and 7B sharp, are in cmeka/, 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- holds seedvr2_ at 13,566,090,228 bytes (13.57 GB), and ByteDance- holds seedvr2_ and seedvr2_ at 32,958,774,606 bytes (32.96 GB) each. Both carry ema_ 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_ on the main node to see it.
- OOM while upscaling: block swap. On the DiT loader, set
offload_todevice cpu, thenblocks_to 16. Raise it to 24 or 32 if needed; the 3B has 32 blocks and the 7B has 36. Then turn onto_ swap swap_. Block swap needs an offload device different from the main device, and it is switched off on macOS.io_ components - OOM while encoding or decoding: tiled VAE. On the VAE loader, turn on
encode_ortiled decode_. The tile size defaults to 1024 pixels and the overlap to 128. Lower the tile size, to 768 or 512, if it still fails.tiled - Only then, smaller batches or resolution. The README warns that both cost quality.
The README's low-VRAM example for 8 GB uses seedvr2_, offload_ cpu, blocks_ 32 and swap_ on.
The batch size rule: 4n+1
The numz node's batch_ 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
| Figure | Whose | Setup | Measured? |
|---|---|---|---|
| FigureOne 80 GB H100 for 100 frames at 720×1280 | WhoseByteDance README | SetupByteDance's own script, not ComfyUI | Measured?Not stated |
| Figure8 GB or less: GGUF Q4_K_M with block swap and VAE tiling | Whosenumz node README | Setupnumz node | Measured?No, a guideline |
| Figure12–16 GB: FP8, with block swap or tiling as needed | Whosenumz node README | Setupnumz node | Measured?No, a guideline |
| Figure24 GB and up: FP16, no memory options | Whosenumz node README | Setupnumz node | Measured?No, a guideline |
| Figure32 GB RTX 5090 ran out of memory about 75% through 25 s | WhoseA user, ComfyUI #15422 | SetupNative template, August 2026, before v0.38.0 | Measured?One report |
| Figure12 GB RX 6700 XT ran out upscaling 1328 px to 2656 px | WhoseA user, numz issue #483 | Setup3B FP8, blocks_ 32, batch 1, AMD | Measured?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
- The numz README gives
waveletas the default colour correction. The node's code defaults tolab, as the README's own release notes and CLI section say. - The native templates set colour correction to
none. Post-Process SeedVR2 Output itself defaults tolab. - 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-, numz/, AInVFX/ and cmeka/. 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.
- ByteDance-Seed/SeedVR on GitHub — what SeedVR2 is, the H100 figure, the limitations notice, the ComfyUI link, licence.
- SeedVR2 paper, arXiv 2506.05301 — title and one-step method.
- ByteDance-Seed/SeedVR2-3B and ByteDance-Seed/SeedVR2-7B — official files, byte counts and licence tags.
- ComfyUI pull request #14424 and #16530 — native support and the frame-at-a-time VAE change; release tags for when each shipped.
- ComfyUI
comfy_— native node names, defaults and 4n+1 padding.extras/ nodes_ seedvr .py - Comfy-Org/workflow_templates — the six SeedVR2 templates, their files, settings and minimum version.
- Comfy-Org/SeedVR2 — native files, byte counts, folders, hashes.
- numz/ComfyUI-SeedVR2_VideoUpscaler — README, release notes, node IDs, model registry, licence.
- numz/SeedVR2_comfyUI, AInVFX/SeedVR2_comfyUI and cmeka/SeedVR2-GGUF — the node's files and byte counts.
- Comfy Registry: seedvr2_videoupscaler and ComfyUI-Manager's node list — registry status and latest version.
- ComfyUI issue #15422 and numz issue #483 — the two out-of-memory reports.