Anymatix SeedVR2 Load DiT Model
This 'loader' doesn't load anything — it hands config to a SeedVR2 node that lives in the app
- SEEDVR2_DIT
Read the name and you'll picture a node that loads a SeedVR2 DiT model into memory. It doesn't. AnymatixSeedVR2LoadDiTModel never touches a GPU - it assembles a configuration dictionary - which model file to use, where to put it, how to make it fit - and hands that config to a downstream node that actually does the upscaling. In Anymatix's own workflows, that consumer is part of the app itself; the exported graph keeps this node because it's how the "which SeedVR2 model" decision travels with the workflow.
That's the first thing to understand, because it changes how you read the inputs: this is a settings node, not a model loader. Its output type is SEEDVR2_DIT, a type that only Anymatix's integrated SeedVR2 machinery consumes. On a stock ComfyUI with no Anymatix, nothing downstream understands it. So if you're here because you wanted SeedVR2 upscaling in plain ComfyUI, this isn't the on-ramp - you want a community SeedVR2 node pack instead. If you're reproducing an Anymatix workflow, you set this node and leave it alone.
The inputs, decoded
- model (default
seedvr2_ema_3b_fp8_e4m3fn.safetensors) - which SeedVR2 weights. The default name tells you the pack's stock choice: the 3B model, in FP8. The KB panel on SeedVR2 is blunt about precision: FP16 is cleanest, FP8 can leave tiling artefacts, and GGUF quants "mess with skin." If quality is the goal and you have the VRAM, point this at an FP16 file and thank yourself later. - device (default
cuda:0) - where the model runs. - offload_device (default
none) - where it goes when idle. This is the low-VRAM lever, and it's entangled with the next two: setting it tocpuis how you run a 3B upscaler on a card that can't hold it all. - cache_model (default false) - keep the model resident between runs. On, it requires
offload_deviceto be set - the node raises a clear error if you combinecache_model=truewithoffload_device=none, because caching needs somewhere to cache. - blocks_to_swap (0–36) - how many transformer blocks to offload to
offload_device. This is the SeedVR2-style VRAM triage knob: swap enough blocks and the model fits; swap too many and it thrashes. Needsoffload_deviceto differ fromdevice. - swap_io_components - also offload the input/output projection components. Same requirement.
- attention_mode -
sdpa(default),flash_attn_2,flash_attn_3,sageattn_2,sageattn_3. Flash-attention backends are faster on NVIDIA cards that support them but need the extra packages installed;sdpais the safe default that just works. If you're on a card where nothing else loads, sdpa is where you retreat.
The one output, SEEDVR2_DIT, is the config object - it isn't wired to anything in stock ComfyUI, and that's expected.
Why SeedVR2 at all
Context from the KB: SeedVR2 is ByteDance's one-step video-restoration model that the community repurposed as the best single-image upscaler available - it adds plausible detail rather than just interpolating pixels, runs on surprisingly little VRAM for images, and is Apache 2.0. It's the default "more detail, not just more pixels" answer. These two config nodes (this one and the VAE sibling) are just how the Anymatix build of that pipeline expresses its choices.
Install and reality check
The node ships in the anymatix-comfy-nodes pack (Manager: search "anymatix-comfy-nodes"; or git clone https://github.com/Anymatix/anymatix-comfy-nodes into custom_nodes, restart). But installing the pack does not give you a working SeedVR2 upscale in stock ComfyUI - the consumer of SEEDVR2_DIT is the Anymatix app. Keep expectations set accordingly: in a bare ComfyUI this node is inert plumbing. The honest answer to "how do I use SeedVR2" is still a community SeedVR2 node pack on top of ComfyUI proper.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | STRING | seedvr2_ema_3b_fp8_e4m3fn.safetensors | — |
| device | STRING | cuda:0 | — |
| offload_device | STRING | none | — |
| cache_model | BOOLEAN | false | — |
| blocks_to_swap | INT | 00–36 | — |
| swap_io_components | BOOLEAN | false | — |
| attention_mode | COMBO | sdpa | 5 options: sdpa, flash_attn_2, flash_attn_3, sageattn_2, sageattn_3 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SEEDVR2_DIT | SEEDVR2_DIT | — |