Nodes/comfyui-watdafox-nodes/Unet Arg (watdafox)
ComfyUI Node

Unet Arg (watdafox)

A front door for your diffusion models — and the fp8 weight dtype to go with it

By postosh·Created 9 months ago·Updated 8 months ago· 0
Unet Arg (watdafox)
    • unet_name
    • weight_dtype
    • str_unet_name
    • str_weight_dtype
    unet_name
    weight_dtype

    Unet Arg is the checkpoint-arg idea pointed at the diffusion_models folder - the one where Flux, SD3, and standalone UNet checkpoints live - plus a bonus: a weight_dtype picker that defaults to default and offers fp8_e4m3fn, fp8_e4m3fn_fast, and fp8_e5m2.

    If you work with Flux, this second half is the reason you're here. ComfyUI's fp8 weight loading is one of the standard ways to squeeze a large model into a smaller card - fp8 is roughly half the memory of fp16 with negligible quality loss for most use, and fp8_e4m3fn is the usual choice people land on (there's a whole ecosystem of fp8-quantized Flux checkpoints floating around for exactly this reason). fp8_e4m3fn_fast and fp8_e5m2 are the variants with slightly different precision/performance tradeoffs; default just loads whatever the file ships as. The node hands you that choice as a value you can wire into a UNETLoader's weight_dtype input instead of fiddling with loader widgets.

    How it works

    Two required combos, four outputs. unet_name is populated from folder_paths.get_filename_list("diffusion_models") - your models/diffusion_models folder, same source as UNETLoader. weight_dtype is a hardcoded four-choice list from the pack's utils. The execute returns all four: unet_name, weight_dtype, and string versions str_unet_name and str_weight_dtype for logging or text routing. Nothing loads, nothing moves to VRAM. It's a decision point, not a loader.

    The inputs that matter

    • unet_name - combo of your diffusion models.
    • weight_dtype - default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2. When in doubt for a fp8 workflow, fp8_e4m3fn is the conservative pick that most community workflows use.

    Wire unet_name and weight_dtype into a UNETLoader, and keep str_unet_name / str_weight_dtype for your metadata text.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/OhSeongHyeon/comfyui-watdafox-nodes.git
    

    Restart ComfyUI (or ComfyUI Manager → "comfyui-watdafox-nodes"). No pip dependencies and no model downloads - it reads whatever you already have in models/diffusion_models.

    The catch

    Like every Arg node in this pack, it's ceremony until you have a real need: multiple models to switch, a shared workflow template, or metadata that records which model/dtype a run used. It's also worth noting the weight_dtype output is a value for the loader, not a magic switch - you still need the actual fp8 model file or a loader that honors the dtype for it to mean anything.

    Categorywatdafox/parameter

    Inputs (2)

    NameTypeDefaultDescription
    unet_nameCOMBO0 options:
    weight_dtypeCOMBO4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2

    Outputs (4)

    NameTypeDescription
    unet_name
    weight_dtypedefault,fp8_e4m3fn,fp8_e4m3fn_fast,fp8_e5m2
    str_unet_nameSTRING
    str_weight_dtypeSTRING