Nodes/Anymatix/Anymatix VAE Loader
ComfyUI Node

Anymatix VAE Loader

A VAE loader that takes a path, for workflows whose VAE hasn't downloaded yet

By Anymatix·Created about a year ago·Updated 2 days ago· 0
Anymatix VAE Loader
    • VAE
    vae_name

    A VAE is the encoder/decoder that turns images into latents and back, and ComfyUI's stock VAELoader picks one from a dropdown of files already in your vae folder. AnymatixVAELoader is the Anymatix-pack twin: same load, same VAE output, one difference - the file is named by a string path instead of chosen from a list. If you're building a workflow by hand you'll barely notice the difference; if you're opening a workflow exported from the Anymatix app, this is why the graph works at all.

    The mechanism is a thin inheritance: the node subclasses ComfyUI's own VAELoader, overrides the input type to a STRING, and in load_vae just strips the incoming path to its basename before calling the parent. Nothing about loading is reimplemented - deliberately, because the fewer reimplementations of "load a VAE checkpoint" there are, the fewer ways there are for it to subtly break. Its sibling loader AnymatixCheckpointLoader returns the VAE bundled with a checkpoint; this one exists when the workflow wants a standalone VAE file addressed on its own.

    Why it's a path and not a dropdown

    This is the pack's core trick, and it repeats across every loader here. Anymatix, the desktop app this pack serves, addresses models by URL rather than filename: a workflow says "this VAE," a fetcher node downloads it on demand, verifies its SHA-256, deduplicates against what it already holds, and hands a loader a local path. The path can point at a file that didn't exist when the graph was saved - which is exactly what a dropdown can't express, because a dropdown only lists files present at graph-build time. So the loader's contract is simple: accept the string, resolve the basename, load.

    Inputs and output

    • vae_name (STRING) - the path to the VAE .safetensors, from a fetcher output or typed by hand. Resolution happens against your vae folder after the basename is extracted.

    Output: VAE. Wire it into whatever node asks for a VAE input - typically a VAE Encode ahead of the sampler and a VAE Decode after it. There's a common beginner trap here worth naming: mismatched VAEs are a real failure mode in this ecosystem (the wrong VAE quietly producing washed-out or noisy latents), so if you're swapping VAEs, use the one your checkpoint was trained with unless you know what you're doing.

    Install

    Shipped in the anymatix-comfy-nodes pack under the "Anymatix" category. ComfyUI Manager: search "anymatix-comfy-nodes", install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Anymatix/anymatix-comfy-nodes
    

    Restart and it appears. No Anymatix app required - the pack is published specifically so its workflows open on stock ComfyUI.

    Gotchas

    The "file not found" you get when there's no fetcher ahead of the loader isn't a bug - the loader downloads nothing itself. And since it resolves by basename, two VAEs with identical filenames in different folders will collide; rename one. Everything else behaves exactly like ComfyUI's own VAE loader, because underneath, it is.

    CategoryAnymatix

    Inputs (1)

    NameTypeDefaultDescription
    vae_nameSTRING

    Outputs (1)

    NameTypeDescription
    VAEVAE