Nodes/ComfyUI-SenseNova-SI/SenseNova SI Loader
ComfyUI Node

SenseNova SI Loader

The node that drags a second repo along for the ride

By OpenSenseNova·Created 5 months ago·Updated 4 months ago· 2
SenseNova SI Loader
    • model
    model_pathsensenova/SenseNova-SI-1.1-Qwen3-VL-8B
    model_typeauto
    repo_path
    dtypeauto
    device_mapauto
    generation_config_path
    force_reloadfalse

    This is the node that actually loads SenseNova-SI, SenseTime's open-source vision-language model, into your ComfyUI graph so you can ask questions about images in plain English and get text back. No API key, no cloud - the whole thing runs on your own GPU.

    First, the naming trap, because it's real: if you've heard "SenseNova" in ComfyUI circles it was probably SenseNova-U1, the infographic image generation model that had a moment in 2026. That's a diffusion model. SenseNova-SI is a different animal - a reasoning VLM ("SI" = self-instruction), and it reads images instead of drawing them. The community that buzzes about U1 is barely talking about SI, which is exactly the situation where you end up installing the wrong thing. This loader only touches the SI family.

    How it loads, and the second-repo gotcha

    The first thing to know: this pack is a wrapper around a source checkout of the upstream OpenSenseNova/SenseNova-SI repo. It isn't pip-installed. The loader imports the upstream model classes by dropping the repo onto sys.path at runtime, and if it can't find that repo you get a FileNotFoundError that helpfully lists every path it tried.

    It looks, in order, for:

    1. the repo_path you type into the node
    2. the SENSENOVA_SI_REPO environment variable
    3. deps/SenseNova-SI inside the pack (the documented spot)
    4. the parent directory of the pack (so local development inside the upstream repo works)

    Once found, the loader builds the model once and caches it, keyed by repo path, model path, model type, dtype, device map, and generation config. ComfyUI re-runs loaders constantly, and that cache is what keeps a workflow from spending ten minutes re-importing a model on every run. Flip force_reload to tear it down and rebuild.

    Inputs that actually matter

    • model_path - a local path or a Hugging Face model id. The default is sensenova/SenseNova-SI-1.1-Qwen3-VL-8B, so a bare first run downloads an 8B model from HF. Change it if you want an InternVL variant or a local copy.
    • model_type - auto, qwen, or internvl. auto sniffs the model path for "qwen" or "internvl" and falls back to qwen.
    • repo_path - the second repo. Leave blank if you cloned upstream into deps/; fill it if you keep the checkout elsewhere.
    • dtype - auto, bfloat16, float16, or float32. Worth knowing: dtype and device_map are only passed to Qwen models. The InternVL path just hands upstream a model_path, so don't go hunting for a dtype setting InternVL quietly ignores.

    The output is a single model handle of the custom SENSENOVA_SI_MODEL type. It won't display anywhere meaningful and you can't save it - it wires straight into a SenseNova SI Generate node, and there's no point loading it without one.

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/GACLove/ComfyUI-SenseNova-SI.git
    cd ComfyUI-SenseNova-SI
    git clone https://github.com/OpenSenseNova/SenseNova-SI.git deps/SenseNova-SI
    pip install -r requirements.txt
    

    Then restart ComfyUI. The requirements.txt pulls the heavy stack - transformers, accelerate, timm, einops, opencv-python - and the upstream repo has model-specific dependencies on top of that, so follow its README for whichever model you picked. You also want Python 3.10+ and a GPU that can hold an 8B VLM; on a shared card that's a real budget question. ComfyUI Manager may install the pack by URL if you prefer, but with a second repo to wrangle, the manual clone above is honestly the cleaner path.

    Where people get burned

    The #1 failure is the missing second clone - the pack ships an empty deps/ folder, and skipping the upstream step produces that path-listing error. The #2 is the model download: the default id means a multi-gigabyte HF fetch on first run, and an 8B VLM will happily eat your VRAM while it sits loaded. And the example workflow references a file called Q2_1.png that doesn't exist in your install - reconnect LoadImage to your own image or the graph fails at the start.

    CategorySenseNova-SI

    Inputs (7)

    NameTypeDefaultDescription
    model_pathSTRINGsensenova/SenseNova-SI-1.1-Qwen3-VL-8B
    model_typeCOMBOauto3 options: auto, qwen, internvl
    repo_pathSTRING
    dtypeCOMBOauto4 options: auto, bfloat16, float16, float32
    device_mapSTRINGauto
    generation_config_pathSTRING
    force_reloadBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    modelSENSENOVA_SI_MODEL