Nodes/ComfyUI/Apply SeedVR2 Conditioning
ComfyUI Node Runs on cloud

Apply SeedVR2 Conditioning

The glue that lets Comfy's own sampler drive the best upscaler around

By Comfy-Org·Created 4 years ago·Updated about 5 hours ago· 128,055
Apply SeedVR2 Conditioning
  • model
  • vae_conditioning
  • positive
  • negative

If you've been anywhere near image upscaling in the last year you've heard of SeedVR2 - ByteDance's one-step restoration model that the community turned into the default image upscaler. The community verdict is unusually consistent: FP16, run it on 6GB, use it everywhere. What you might not know is that ComfyUI now ships native support for it (July 2026), and this node is the middle of that pipeline: the bit that turns your encoded image into the conditioning the model samples from.

Where it fits

The native SeedVR2 flow is a chain:

  1. Pre-Process SeedVR2 Input - aligns and pads your frames
  2. Encode with the SeedVR2 VAE → a LATENT
  3. Apply SeedVR2 Conditioning ← this node
  4. A normal sampler - one step, because SeedVR2 is a one-step model
  5. Decode, then Post-Process SeedVR2 Output for color correction

The big deal is that SeedVR2 is now just another model you drive with Comfy's standard sampler. No custom sampler, no third-party wrapper, no special video-upscaler node. Load, condition, sample, done.

What it does

Mechanically it's small and precise. SeedVR2 doesn't read text prompts, so it ships with learned positive and negative conditioning vectors baked into the model - you never type a negative prompt. This node takes those two built-in vectors and pairs each with your latent: it appends an all-ones mask channel to the latent (every pixel is "known" - this is restoration, not generation) and hands the same condition to both branches. Output is positive and negative CONDITIONING, straight into the sampler.

The inputs - both of them

  • model - the SeedVR2 diffusion model. Comfy auto-detects its structure, so you load it like any checkpoint; the weights come from ByteDance's repo (ByteDance-Seed/SeedVR, 3B or 7B, Apache 2.0). The tip that still applies from the community playbook: run FP16. GGUF damages skin texture and FP8 leaves tiling grids; FP16 is clean.
  • latent (vae_conditioning) - the VAE-encoded image or video. It must be 5-D, channel-first, with SeedVR2's 16 latent channels.

That last part is the classic failure: encode with the wrong VAE (say, the plain SD VAE) and the shape check fires with an error message telling you exactly which layout it expected. The fix is to encode with the SeedVR2 VAE - the pipeline detects it by key.

Tips that actually matter

  • Keep the sampler at one step. If you leave it at 30, you're not using it wrong, you're just wasting time - SeedVR2 is a one-step model.
  • OOM on big frames? Use the sibling Split SeedVR2 Latent / Merge SeedVR2 Latents nodes to chunk temporally. The early OOM reputation was earned; the native pipeline is built to chunk around it.
  • Watch the contrast lift. SeedVR2 consistently raises contrast, and some people read the result as "more AI than the input." That's the model, not you - drop it in when you want it, and don't blame your settings.
  • Soft sources. If the input is blurry rather than small, Comfy Org's handbook suggests downscaling to ~0.35MP first so the model has real detail to rebuild from.

If you've been Frankensteining SeedVR2 into every workflow - and the community absolutely has - this native path is the cleanest version yet.

Categorymodel/conditioning

Inputs (2)

NameTypeDefaultDescription
modelMODELThe SeedVR2 model.
vae_conditioningLATENT

Outputs (2)

NameTypeDescription
positiveCONDITIONINGThe positive conditioning for sampling.
negativeCONDITIONINGThe negative conditioning for sampling.