SparkVSR_SM_Model
The front door to a 20GB video upscaler with actual temporal awareness
- model
SparkVSR_SM_Model is the loader that puts SparkVSR into your graph. SparkVSR is a video super-resolution model from a Texas A&M + YouTube/Google research group (the "sparse keyframe propagation" paper), and this node is smthemex's ComfyUI port of it. It's the first node in a three-node pipeline: this loads the model, SparkVSR_SM_PreRefer builds the conditioning, SparkVSR_SM_KSampler runs the actual upscale.
Why you'd reach for it at all: video upscaling is a different animal from images. Run a good image upscaler frame by frame and fine repeating texture - wallpaper, brick, fabric - shimmers and swims, because nothing forces consecutive frames to make the same choices. SparkVSR is one of the handful of open models built with real temporal awareness, so it propagates decisions across frames instead of redrawing them 24 times a second.
The honest caveat, before you download 20.7GB: this is bleeding-edge territory. In community tracking it sits at "watch it, don't plan around it" - real reception, a handful of threads, no adoption yet. FlashVSR and SeedVR2 are the video upscalers people actually run today. You're an early adopter by definition here.
How it works
The loader builds a CogVideoX 1.5 5B image-to-video diffusion pipeline from the config bundled inside the pack, then slots in the SparkVSR-S2 transformer weights - that's the part that was actually fine-tuned for super-resolution. It attaches the CogVideoX VAE, can layer a LoRA on top, can load GGUF-quantized weights instead of the raw safetensors, and swaps in a DPM scheduler with trailing timestep spacing. The output is a single MODEL that feeds straight into SparkVSR_SM_KSampler.
The inputs that matter
- dit - the SparkVSR-S2 weights, picked from
ComfyUI/models/diffusion_models/. UseSparkVSR-S2-F32.safetensorsor the bf16 variant. - vae -
CogVideoX1.5-5B-I2V-VAE.safetensors(822MB) fromComfyUI/models/vae/. Don't skip it; nothing decodes without it. - gguf - optional. If you point this at
SparkVSR-S2-Q8_0.gguf, set dit to "none". This is your budget-card path. - lora - optional, leave at "none" for a first run.
- dtype -
bfloat16is the sane default.float32means a 20.7GB weight file before the VAE and activations even join in.
Installing it
The pack installs the usual way: ComfyUI Manager (search "ComfyUI_SparkVSR_SM") or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_SparkVSR_SM
pip install -r requirements.txt
Then restart ComfyUI. Two things to know up front. First, the requirements are heavy - diffusers, transformers, SwissArmyTransformer, moviepy, decord, av, opencv - and several of those love to collide with other nodes, so be ready to fight pip in your ComfyUI environment. Second, this pack uses the newer ComfyUI extension API (comfy_api.latest), so you want a current ComfyUI; an old install will error at startup.
Weights for this node, from the README:
ComfyUI/models/diffusion_models/SparkVSR-S2-F32.safetensors # 20.7GB, or bf16
ComfyUI/models/gguf/SparkVSR-S2-Q8_0.gguf # optional
ComfyUI/models/vae/CogVideoX1.5-5B-I2V-VAE.safetensors # 822MB
The model files come from the smthemex HF page and the official JiongzeYu/SparkVSR HF repo.
Common issues
- Empty dropdowns - files in the wrong folder, or you didn't refresh. They must be in
diffusion_models/,vae/,gguf/respectively. - Out of memory - the obvious one. On a 24GB card, fp32 is right at the edge once the VAE and activations join in. bf16 or the Q8 GGUF is the move, and the KSampler's offload and tiling options are where the real relief lives.
- Startup errors mentioning
comfy_api- your ComfyUI predates the extension API this pack needs. Update.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| dit | COMBO | 1 options: none | |
| gguf | COMBO | 1 options: none | |
| vae | COMBO | 1 options: none | |
| lora | COMBO | 1 options: none | |
| dtype | COMBO | 3 options: bfloat16, float16, float32 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |