━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔼 SeedVR2 Batch Upscaler — Sleep On It, Wake Up 4K
Drop a folder, come back to 4K
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ComfyUI batch image upscaler powered by SeedVR2, the SOTA diffusion-based restoration model from ByteDance. Load an entire folder of QC-approved images, queue once (one image per batch), and watch them upscale to 4K in a single session. No single-image re-queuing, no repetition—feed sequential images through the same upscaler instance to your output folder, all with automatic date-stamped organization. Built for production stock photography, concept art detail recovery, and QC'd generation batches.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✨ Features
✅ Batch Folder Iterator — Place 10–100 images in input folder, queue once-per-image, all process sequentially without re-loading model
✅ Whole-Folder Workflow — ImageIterator node handles file discovery, sorting, and index auto-increment
✅ SeedVR2 7B fp16 (default) — Diffusion-based upscaler, SOTA quality; fp8 and 3B variants available for speed/VRAM trade-off
✅ 4K Short-Edge Target — short edge upscaled to 4096, long edge capped at 4096 (1024×1024 → 4096×4096; 1280×1600 → 3276×4096). The effective upscale factor depends on the input's aspect ratio.
✅ Block-Swap Ready — Pre-configured with blocks_to_swap=36 + CPU offload + SDPA attention for 16GB VRAM fit (requires ~33GB system RAM)
✅ Automated Output Organization — Results saved to output/ folder with automatic date stamp [YYYY-MM-DD]
✅ Torch.compile Optional — Node included but disabled by default; enable if you have triton-windows for inference speedup
✅ Metadata-Safe Export — PNG output; embedded workflow metadata has no machine paths or language-specific notes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 Required Models (3 files, ~7-16 GB depending on variant)
Primary (default — recommended)
• seedvr2_ema_7b_fp16.safetensors — Main diffusion upscaler (highest quality, fits 16GB with block-swap)
• ema_vae_fp16.safetensors — VAE codec for image reconstruction
Alternative Variants (choose one — do NOT mix in same batch)
• seedvr2_ema_7b_fp8_e4m3fn.safetensors + ema_vae_fp16.safetensors — Faster, near-identical quality, lower VRAM
• seedvr2_ema_3b_fp16.safetensors + ema_vae_fp16.safetensors — Fastest option, fits 16GB without block-swap
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⬇️ Download Links (verified HuggingFace repositories)
7B fp16 (default — recommended for quality)
• seedvr2_ema_7b_fp16.safetensors — https://huggingface.co/numz/SeedVR2_comfyUI/blob/main/seedvr2_ema_7b_fp16.safetensors
• ema_vae_fp16.safetensors — https://huggingface.co/numz/SeedVR2_comfyUI/blob/main/ema_vae_fp16.safetensors
7B fp8 (faster, lower VRAM)
• seedvr2_ema_7b_fp8_e4m3fn.safetensors — https://huggingface.co/numz/SeedVR2_comfyUI/blob/main/seedvr2_ema_7b_fp8_e4m3fn.safetensors
• ema_vae_fp16.safetensors — https://huggingface.co/numz/SeedVR2_comfyUI/blob/main/ema_vae_fp16.safetensors
3B (fastest, native 16GB fit)
• seedvr2_ema_3b_fp16.safetensors — https://huggingface.co/numz/SeedVR2_comfyUI/blob/main/seedvr2_ema_3b_fp16.safetensors
• ema_vae_fp16.safetensors — https://huggingface.co/numz/SeedVR2_comfyUI/blob/main/ema_vae_fp16.safetensors
Installation Path:
• Diffusion models: ComfyUI/models/diffusion_models/
• VAE files: ComfyUI/models/vae/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🧩 Required Custom Nodes
⚠️ Manual Install Step (do this first — it's the only one not in ComfyUI Manager):
Image_Anything (Batch Folder Iterator) — NOT in ComfyUI Manager registry
1. Open terminal/PowerShell in your ComfyUI root directory
2. Navigate to custom_nodes: cd custom_nodes
3. Clone the repo: git clone https://github.com/ComfyUI-Kelin/ComfyUI_Image_Anything.git
4. Restart ComfyUI
Then install these via ComfyUI Manager (search → install):
• ComfyUI-SeedVR2_VideoUpscaler (numz) — canonical SeedVR2 node pack, in Manager registry, searchable by name
- Install via Manager: Manager → Install Custom Nodes → search "SeedVR2" → select numz's ComfyUI-SeedVR2_VideoUpscaler → Install
• was-node-suite-comfyui (ltdrdata) — Image Save node (PNG/WebP export); MIT license, in Manager registry
- Install via Manager: search "was-node-suite" → install
Verify Installation: After restart, load this workflow in ComfyUI. If nodes resolve (no red outlines), you're good to go.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 How to Use
1. Prepare Images — Place your QC-approved images (PNG/JPG, any resolution 256–4096px) in ComfyUI's ./input folder
2. Load This Workflow — Open SeedVR2_Batch_Upscale_v1.1.json in ComfyUI
3. Run It — Click Run once per image (older ComfyUI builds label this button Queue; Ctrl+Enter does the same thing)
- The ImageIterator advances to the next file on every run, so 10 presses processes 10 images — nothing to install, no batch setting to configure
4. Monitor Progress — Watch the ImageIterator node report "current_index / total_count" as it walks the folder
5. Collect Output — Check ComfyUI's ./output folder for upscaled images, organized by date [YYYY-MM-DD]
Example Workflow:
- Input folder: ComfyUI/input/ (contains 5 PNG files)
- Click Run 5 times (or press Ctrl+Enter 5 times)
- Wait ~1 minute per image on the default 7B fp16 config (measured — see the benchmark table below); slower if your system RAM is tight
- Output appears in ComfyUI/output/[YYYY-MM-DD]/, named from the Image Save prefix (default Up VR2 [time(...)] plus a counter — edit the prefix widget on the Image Save node to change it)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ Settings & Parameters
Model Loading
• Model Path: Automatically detects from ComfyUI/models/diffusion_models/ (VAE loads from ComfyUI/models/vae/)
• Device: CUDA (GPU); falls back to CPU if CUDA unavailable
• Offload Device: CPU (system RAM) — keeps VRAM lean
Upscale Output
• Resolution: 4096 — target for the SHORT edge; aspect ratio is preserved
• Max Resolution: 4096 — cap on the LONG edge; if an image exceeds it after the short-edge target is applied, both dimensions scale down proportionally. This keeps VRAM predictable on tall or wide images.
• Batch Size: 1 per queue (sequential processing)
• Color Correction: "lab" (perceptually-aware color preservation)
• Attention Mode: "sdpa" (scaled-dot-product attention — memory-efficient)
Block-Swap (VRAM Management)
• blocks_to_swap: 36 (default, pre-configured for 16GB VRAM)
- Swaps 36 UNet blocks to system RAM to fit model on GPU
- Requires ~33GB system RAM; 64GB recommended for smooth performance
- If you have less RAM, switch to 7B fp8 or 3B variant
Torch.compile (Optional Speedup)
• Status: DISABLED by default (node present, not connected)
• Reason: Requires triton-windows, which most Windows users lack → would error on first run
• How to Enable (if you have triton): Reconnect the SeedVR2TorchCompileSettings node output → the torch_compile_args input on SeedVR2LoadDiTModel. The same input also exists on SeedVR2LoadVAEModel if you want to compile the VAE too. Can add ~20–30% speed boost, but only if dependencies are met.
Seed & Noise
• Seed: 42, with control_after_generate set to "fixed" — every run is reproducible. Set the control to "randomize" if you want variation between runs.
• Input Noise Scale: 0.05 · Latent Noise Scale: 0.0 — low values preserve detail and prevent hallucination
VAE Tiling (if image >2048px)
• Encode Tiled: Enabled (1024px tiles, 128px overlap)
• Decode Tiled: Enabled (same tiling)
→ Prevents OOM on large inputs
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 Performance Tips
VRAM & System RAM Honesty
| Variant | VRAM Required | System RAM Offloaded | Notes |
|---------|---|---|---|
| 7B fp16 + swap36 (default, shipped) | ~16GB | ~33GB to CPU | Highest quality. Requires 64GB system RAM for smooth batch processing; 32GB will thrash/be very slow. Measured: ~62s/image (steady-state, 17-image production batch, 1280×1600→3276×4096)* |
| 7B fp8_e4m3fn | ~9GB | ~18GB to CPU | Faster inference (~30% speedup estimated, not yet benchmarked). Quality near-identical to fp16. Fits 32GB system RAM comfortably. |
| 3B fp16 | ~16GB native | None (no swap needed) | Fastest option (not yet benchmarked). No block-swap overhead. Fits 16GB without offload. |
*Measured on RTX 5080, 7B fp16 variant only, back-to-back queue (model already loaded). fp8/3B timings not yet benchmarked — estimates only.
Practical Guidance
• For highest quality + 64GB system RAM: Use 7B fp16 (default config)
• For speed + 32GB RAM: Switch model to 7B fp8 (same setup, different checkpoint file)
• For minimal VRAM/RAM: Use 3B variant (nearly as good, no block-swap delays)
• Batch 10+ images together to amortize the one-time model load
• Avoid running alongside heavy generation (e.g., Krea2 gen) — too much total VRAM pressure
• Input image quality: Sharp, well-lit images upscale better than low-contrast originals (expected for all upscalers)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔗 My Workflow Suite
I maintain a growing library of ComfyUI workflows. Check them out:
• LTX-2.3 Image-to-Video — Lock-camera i2v with auto motion prompt (QwenVL)
• Krea2 Turbo Dual-Mode — Fast diffusion gen (text or image-to-image)
• [Z-Image-Turbo](https://civarchive.com/models/2742740/z-image-turbo-qwenvl-dual-mode-auto-prompt) — Another fast gen option with auto-prompt
• SeedVR2 Batch Upscaler — This workflow (batch folder upscale to 4K)
Find LTX-2.3 and Krea2 Turbo on my Civitai profile page. More coming soon — follow for updates!
GitHub Mirror: https://github.com/Thinni63/comfyui-workflows/tree/main/seedvr2-batch-upscale
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 Changelog
v1.1 (2026-08-17)
• Fixed: SeedVR2 was never actually connected. The Preview node carried a phantom output slot that ComfyUI drops when loading the file, which cut the link into SeedVR2, while a stale link ID made the Save node read the preview image instead. Net effect: saved files came out identical to the input. Thanks to daze45230 for the detailed report.
• Changed: SeedVR2 is no longer hidden inside a subgraph. The model loaders, upscaler, and torch.compile node now sit directly on the canvas, so every setting is visible and editable without opening a container — and a subgraph-capable ComfyUI build is no longer required.
• Improved: Node layout reorganized into labelled groups (start guide / run settings / model setup / pipeline).
• Settings and model requirements are unchanged — drop-in replacement for v1.
v1 (2026-07-03)
• Initial release.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Notes & AI Disclosure
• AI-Generated Example Images — All provided examples are AI-generated via Krea2 + upscaled with this workflow
• Hardware Tested — Verified on RTX 5080 16GB VRAM, Windows 11, CUDA 12.1+
• ComfyUI Version — No subgraph support required as of v1.1 (the graph is flat). Any reasonably recent ComfyUI with the three custom node packs installed will load it.
• Model Weights License — SeedVR2 weights are NOT distributed with the workflow; you download them separately from HuggingFace (see Download Links above)
• Metadata Safety — This workflow JSON has no machine paths or language-specific notes; it's safe to share and distribute
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⭐ Found this useful?
• Like if it saved you time
• Comment your results — I read every one
• Follow for new ComfyUI workflows, all tested on 16 GB VRAM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Roadmap Teaser
A video-batch variant of this upscaler is coming soon. Stay tuned!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚖️ Model Attribution & Licensing
SeedVR2 (ByteDance Seed Team)
• License: Apache License 2.0 — https://huggingface.co/ByteDance-Seed/SeedVR2-7B
• Attribution Required: "SeedVR2 by ByteDance Seed Team, licensed under Apache License 2.0."
• Safetensors Conversion: Hosted at https://huggingface.co/numz/SeedVR2_comfyUI for ComfyUI-compatible format
• Free for commercial and non-commercial use (see license for full terms)
Custom Nodes
• ComfyUI-SeedVR2_VideoUpscaler (numz) — Check repository for license
• was-node-suite-comfyui (ltdrdata) — MIT License
• ComfyUI_Image_Anything (ComfyUI-Kelin) — MIT License
This Workflow (JSON Configuration)
• Original work by TP_AI_63 (Civitai) / Thinni63 (GitHub)
• Shared under MIT License; credit appreciated
• Model weights must be downloaded separately (not included)
All example outputs are AI-generated via Krea2 generation and SeedVR2 upscaling.
Description
Bug fix release — v1 did not actually upscale.
FIXED: SeedVR2 was never connected. The Preview node carried a phantom output slot that ComfyUI discards when loading the file, which cut the link into SeedVR2, while a stale link ID made the Save node read the preview image instead. Saved files came out identical to the input. Thanks to daze45230 for the detailed report.
CHANGED: SeedVR2 is no longer hidden inside a subgraph. Model loaders, upscaler, and torch.compile now sit directly on the canvas — every setting is visible and editable, and a subgraph-capable ComfyUI build is no longer required.
IMPROVED: Node layout reorganized into labelled groups (start guide / run settings / model setup / pipeline).
Settings and model requirements are unchanged. Drop-in replacement for v1.







