Nodes/ComfyUI OmniSVG Nodes/πŸ”§ OmniSVG Model Loader
ComfyUI Node

πŸ”§ OmniSVG Model Loader

The 17GB gatekeeper β€” or why your dropdown only says 'Download Required'

By A043-studiosΒ·Created about a year agoΒ·Updated about a year agoΒ· 4
πŸ”§ OmniSVG Model Loader
    • omnisvg_model
    β—„model_nameDownload Requiredβ–Ί

    Every pack has the one node that's really doing the heavy lifting, and in ComfyUI-OmniSVG it's this one. The loader scans your disk for an OmniSVG installation, loads it into VRAM, and hands you an omnisvg_model that the Text-to-SVG and Image-to-SVG nodes feed on. Nothing else in the pack runs without it - except the two lightweight utility nodes (SVG to Image, SVG Saver), which never touch the model. It's also where the most common "why doesn't this work" moment happens, so read this before anything else.

    How it works

    When the node is created, it scans ComfyUI/models/omnisvg/ for folders containing config.yaml and pytorch_model.bin, plus a hardcoded fallback at /mnt/storage/OmniSVG-3B (leftover from the author's own setup - harmless if it doesn't exist). Pick a model name and it builds an OmniSVGModelBundle:

    • loads the model's config.yaml
    • pulls the Qwen2.5-VL-3B-Instruct tokenizer and processor from Hugging Face - an extra multi-gigabyte download that happens silently on your first run
    • loads the DeepSVG sketch decoder weights from pytorch_model.bin
    • moves everything to CUDA in eval mode

    That's the whole thing loaded and pinned in memory. There's an unload_models method in the code, but nothing in the UI calls it - freeing the memory means restarting ComfyUI.

    Inputs

    • model_name - a dropdown built from whatever the scan found. Here's the trap: with no model downloaded, the list contains exactly one option, "Download Required", and running the graph raises an error telling you where to put the files. It doesn't auto-download; it just points.

    Outputs

    • omnisvg_model (OMNISVG_MODEL) - wire it into OmniSVG Text to SVG and/or OmniSVG Image to SVG. One loader can feed both.

    Getting the model

    cd ComfyUI
    huggingface-cli download OmniSVG/OmniSVG --local-dir models/omnisvg/OmniSVG-3B
    

    Then restart ComfyUI. The dropdown is built when the node is created, so dropping files in while the app is open won't refresh it.

    Where people get burned

    • It specifically wants pytorch_model.bin. When the weights dropped in mid-2025, people quickly converted them to safetensors - but this loader does torch.load() on pytorch_model.bin and throws "pytorch_model.bin not found" if that file is missing. Keep the original .bin in the folder.
    • VRAM is real. The README says 17GB+ for optimal performance, and it means it. Under that, expect CUDA out-of-memory errors at generation time.
    • Heavy dependencies. requirements.txt pulls transformers, qwen-vl-utils, accelerate, and cairosvg - big installs, and they share the same Python environment as every other custom node you own. If another pack pins a conflicting transformers version, that's your import error.
    • The pack itself is young. Single commit, placeholder URLs still in the README's quick-start - a thin wrapper around the upstream OmniSVG repo. It works, but don't expect a mature update cadence.

    Install

    ComfyUI Manager (search "OmniSVG"), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/A043-studios/ComfyUI-OmniSVG
    cd ComfyUI-OmniSVG
    python install.py
    

    Then do the model download above and restart. Once the model's in place and the loader shows a real name instead of "Download Required", you're past the hard part.

    CategoryOmniSVG

    Inputs (1)

    NameTypeDefaultDescription
    model_nameCOMBODownload Required1 options: Download Required

    Outputs (1)

    NameTypeDescription
    omnisvg_modelOMNISVG_MODELβ€”