SVFR_LoadModel
The fiddly loader that breaks every SVFR workflow (until you fix file placement)
- model
SVFR is a video diffusion model for face video restoration - taking a blurry, low-res, damaged face video and cleaning it up (see the sibling SVFR_Sampler article for what that pipeline actually does). This node is the whole enchilada up front: it loads the SVD base model, the SVFR fine-tuned UNet, a face detector, an identity encoder, and the VAE, and bundles all of it into a single MODEL_SVFR object the sampler consumes. There's no generation happening here, so you can't tweak it into producing anything - but get this node wrong and you never even reach the sampler. It's the part of the pack where almost everyone actually gets stuck.
What it loads, and why it's four dropdowns
Look at the required inputs and it looks like model-loading overkill. It isn't - SVFR is a Frankenstein of SVD's architecture plus its own adapters, and they all ship as separate files:
checkpoints- the SVD base,svd_xt.safetensorsorsvd_xt_1_1.safetensors, picked from your normalmodels/checkpointsfolder. Despite the name, it is not a normal SD checkpoint; the loader reads it withsafetensors.load_fileand uses it as the base UNet.vae- the SVD VAE, picked frommodels/vae. The README is blunt about why this exists: running SVFR through ComfyUI's own VAE gives you bad color shift, so the loader builds its own diffusers-style pipeline and needs this raw safetensors VAE.unet,yolo_ckpt,id_ckpt,insightface- the four SVFR-specific weights, all picked frommodels/SVFR/: the fine-tuned UNet, the YOLOv5 face detector, the identity projection, and the ArcFace (glint360k) backbone.
The mechanism: it builds a LQ2VideoLongSVDPipeline from configs bundled inside the pack, loads the SVD checkpoint as the base UNet, layers unet.pth on top (strict), then wires up the face detector, ArcFace encoder, and identity projection. dtype (fp16/bf16/fp32) is the one real choice here - leave it on fp16 unless you're chasing NaN or artifact weirdness, then try bf16.
The output
One output: model (MODEL_SVFR), which feeds the model input on SVFR_Sampler. Nothing else. If you're staring at a graph and wondering where the image went, you're at the wrong node.
Models & install
Install is the standard custom-node dance:
cd ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_SVFR
pip install -r requirements.txt
(Or grab it via ComfyUI Manager - search "ComfyUI_SVFR" - and let it handle the deps: accelerate, diffusers, moviepy, omegaconf, opencv-python, scikit-video, transformers.) Restart ComfyUI, then the heavy part: model files. The four SVFR weights come from a Google Drive folder and go flat in ComfyUI/models/SVFR/ - no subfolders:
ComfyUI/models/SVFR/
├── id_linear.pth
├── insightface_glint360k.pth
├── unet.pth
└── yoloface_v5m.pt
Plus svd_xt.safetensors (or svd_xt_1_1.safetensors) in models/checkpoints/ and the SVD VAE safetensors in models/vae/ (grab it from the HF repo's vae subfolder; renaming isn't required).
Where people get burned
The #1 failure mode, straight from the community thread on this pack: "Value not in list: yolo_ckpt: 'yoloface_v5m.pt' not in ['none']". That error means the dropdowns are still stuck on "none" because the node only lists files whose names contain the right keyword - yolo, insightface, unet, id. So: don't rename the files, and restart ComfyUI after you drop them in. Files placed before a restart simply don't appear. Second gotcha: the checkpoints and vae dropdowns want raw safetensors files, not a diffusers folder - point it at the wrong thing and you'll hit the classic "no file named pytorch_model.fp16.bin… found in directory" diffusers error. Load time is also chunky on first run (it's assembling an SVD-sized pipeline), and this pack wants ~16GB VRAM per the shared workflows, though there are reports of it limping along on 8GB.
If the dropdowns finally populate and the sampler errors about missing files after that, you've fixed the hard part.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| checkpoints | COMBO | 0 options: | |
| vae | COMBO | 0 options: | |
| unet | COMBO | 1 options: none | |
| yolo_ckpt | COMBO | 1 options: none | |
| id_ckpt | COMBO | 1 options: none | |
| insightface | COMBO | 1 options: none | |
| dtype | COMBO | 3 options: fp16, bf16, fp32 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL_SVFR | — |