Nodes/FlashVSR+ T8/FlashVSR+ Model Loader
ComfyUI Node

FlashVSR+ Model Loader

Four dropdowns decide your whole upscale

By T8mars·Created 15 days ago·Updated 15 days ago· 5
FlashVSR+ Model Loader
    • model
    • model_info
    ◄mode▾►
    ◄precision▾►
    ◄attention▾►
    ◄decoder▾►
    ◄auto_downloadtrue►
    ◄keep_loadedfalse►
    ◄model_directory►

    FlashVSR is the open video super-resolution model that actually got adopted instead of just getting upvoted - it landed in October 2025, and the reason people picked it up was speed. Not "best quality ever", just: it runs on a normal card and finishes. The FlashVSR+ T8 pack is T8mars' ComfyUI front end for the Plus variant, and this loader is where you commit to a configuration.

    Which is the whole point of the node. Unlike an AIO checkpoint loader with one filename widget, you're picking four things at once: the model tier, the numeric precision, the attention backend and the decoder. Get those right and everything downstream just works. Get them wrong and you find out twenty minutes into a 5-second clip.

    What the four dropdowns actually do

    mode is turbo, base or v1. Turbo is the distilled streaming checkpoint and the one the author's own default workflow ships with. Base is the undistilled sibling, v1 is the older FlashVSR v1.1 weights. Each mode needs its own DiT plus its own lq_proj_in pair - they aren't interchangeable, and the loader will fetch the pair you asked for.

    precision is bf16, int8_convrot or fp16. This is the interesting one. The bf16 DiT is about 5.7GB. The INT8 ConvRot version is about 1.45GB, and it isn't a whole-model quantise: only the Linear layers inside the transformer blocks run W8A8 (through Comfy Kitchen), everything else stays float. That's roughly a quarter of the weight VRAM for a quant that, on the author's own comparison samples, lands within SSIM 0.9933–0.9965 of bf16. Use it.

    attention is auto, triton_block_sparse, block_sparse or sdpa. auto probes in order - official Block-Sparse-Attention if it's installed, then the bundled Triton kernel, then PyTorch SDPA. For HD output the README's advice is to aim at Triton. SDPA will literally refuse a large canvas rather than quietly allocate a mask the size of a small country.

    decoder is tiny (the 189MB TCDecoder) or vae (the 508MB Wan 2.1 VAE). Tiny supports incremental segmented decoding, which is how you get through long clips without holding everything in VRAM. vae is full-clip only - more on that in the Options article, because it's a real trap.

    The inputs worth touching

    Of the seven widgets, two matter beyond setup:

    • auto_download (default true) - pulls the pinned files from the t8star/Flashvsr-Plus-Comfy mirror at a fixed revision, chunked and resumable, then SHA-256 verifies them. Leave it on unless you've staged files yourself.
    • keep_loaded - "Keep weights in CPU RAM between requests. GPU memory is released after each request." The node parks the pipeline on CPU after every run either way; this only decides whether the CPU copy survives, so the next run skips a cold load.

    Then model_directory, whose tooltip says it all: "Optional model root; blank discovers models/flashvsr_plus and the bundled ckpts folder." Blank is right for 95% of people.

    Outputs

    model goes into either FlashVSR+ Upscale Frames or FlashVSR+ Upscale Video. model_info is a JSON string - mode, precision, decoder, attention, resolved directory, device, plus per-backend diagnostics saying which attention kernels are actually available and why the others aren't. When Triton silently isn't being used, that string is how you find out. Wire it to a Show Text node once and keep it.

    Installing

    ComfyUI Manager, search FlashVSR+ T8, install, restart. Registry ID is flashvsr-plus-t8. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/T8mars/Comfyui-Flashvsr-Plus-T8.git
    python -m pip install -r Comfyui-Flashvsr-Plus-T8/requirements.txt
    

    Use ComfyUI's own Python for that pip. The requirements file is refreshingly harmless - einops, imageio, imageio-ffmpeg, opencv, Pillow, safetensors, tqdm, huggingface_hub, requests. No torch, no transformers, so it won't redecorate your environment. You'll want a recent ComfyUI (the pack declares >=0.36.0) because the video node speaks the native VIDEO type.

    Where people get burned

    No CUDA, no party. The loader raises Official FlashVSR+ requires an NVIDIA CUDA GPU on anything else. There's no CPU path and no Mac path here.

    INT8 needs Comfy Kitchen >=0.2.35. If it's missing, the conversion step fails rather than falling back. The README pins Triton on Windows to triton-windows==3.3.1.post21 against PyTorch 2.7.0+cu128, which is the combination that was actually validated.

    Checksum mismatch. The pack verifies every download against size and SHA-256 and refuses to proceed: Model checksum/size mismatch. That's a feature. Don't "fix" it by editing the receipt - re-download the file.

    Choosing vae with a long clip. Full-clip decode is how you meet your VRAM ceiling at speed. Tiny plus segmented decoding is the reason long videos are practical at all.

    One expectation to set: the community verdict on FlashVSR was always speed over quality, and by mid-2026 SeedVR2 had won the heavy-lift comparisons (256px → 1024px and up). Reach for this pack when your source is already decent and you want it done tonight.

    CategoryFlashVSR+

    Inputs (7)

    NameTypeDefaultDescription
    modeCOMBO3 options: turbo, base, v1
    precisionCOMBO3 options: bf16, int8_convrot, fp16
    attentionCOMBO4 options: auto, triton_block_sparse, block_sparse, sdpa
    decoderCOMBO2 options: tiny, vae
    auto_downloadBOOLEANtrue—
    keep_loadedBOOLEANfalseKeep weights in CPU RAM between requests. GPU memory is released after each request.
    model_directorySTRINGOptional model root; blank discovers models/flashvsr_plus and the bundled ckpts folder.

    Outputs (2)

    NameTypeDescription
    modelFLASHVSR_PLUS_MODEL—
    model_infoSTRING—