Nodes/ComfyUI_Yc_JanusPro/Load Janus-Pro Model
ComfyUI Node

Load Janus-Pro Model

The node that gets DeepSeek's Janus-Pro into your graph

By yichengup·Created 2 years ago·Updated 2 years ago· 7
Load Janus-Pro Model
    • janus_model
    model_path

    DeepSeek's Janus-Pro is a genuinely weird model in the best way: one set of weights does both image understanding (describe or answer questions about a picture) and image generation (draw one from text). This loader is the front door to that in ComfyUI - and the name is a small trap. "Pro" here is DeepSeek's model line, not some advanced mode, and the node doesn't call any API or need a key. It's a plain local loader, the thing every other node in this pack expects to be wired into first.

    What it does

    JanusProLoader scans your ComfyUI/models/Janus-Pro/ folder for installed model directories, gives you a dropdown, loads the one you pick, and hands the whole thing downstream as a single janus_model wire. That bundle contains both the model and its processor, so the sibling nodes - Analyze Image, Janus Chat, and Janus Text2Image - only ever see one clean connection. Think of it like a checkpoint loader: one per workflow, everything else plugs into it.

    How it works

    Under the hood it does the honest, unglamorous thing. It lists folders under models/Janus-Pro and only offers you ones that actually contain a model: config.json, tokenizer.json, tokenizer_config.json, plus either a single pytorch_model.bin or sharded pytorch_model-*.bin files. Then it loads the processor with VLChatProcessor.from_pretrained and the model with transformers' AutoModelForCausalLM using trust_remote_code=True, bfloat16, and low-CPU-memory mode, and parks it on ComfyUI's GPU device. It caches by path, so re-running a workflow doesn't redo the (slow) load. If loading fails, it returns an error bundle instead of crashing - the downstream nodes just echo the message to you.

    The inputs and outputs that matter

    There's exactly one input, and it's all you set: model_path, a dropdown of the folders it found in models/Janus-Pro. If nothing valid is there, the dropdown shows a Chinese placeholder that translates to "please put the model files in the models/Janus-Pro directory" - which is ComfyUI's way of saying "you haven't downloaded anything yet."

    The single output, janus_model, wires into any of the pack's three other nodes. That's the whole job.

    How to install

    Use ComfyUI Manager and search for ComfyUI_Yc_JanusPro (display name "ComfyUI_Yc_JanusPro"), or do it by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/yichengup/ComfyUI_Yc_JanusPro
    

    Restart ComfyUI. The pack's requirements.txt installs DeepSeek's official janus package straight from GitHub (git+https://github.com/deepseek-ai/Janus.git), which is the actual heavy dependency - ComfyUI's bundled transformers, torch, and numpy handle the rest. Then the model itself, which is the real download:

    mkdir -p ComfyUI/models/Janus-Pro
    # grab from Hugging Face: deepseek-ai/Janus-Pro-1B or deepseek-ai/Janus-Pro-7B
    # each model needs its own folder, e.g. ComfyUI/models/Janus-Pro/Janus-Pro-1B/
    

    Where people get burned

    • It wants .bin weights, not safetensors. The loader explicitly sets use_safetensors=False and validates for pytorch_model.bin files. If you grab a safetensors-only conversion from somewhere, the dropdown will mysteriously stay empty. The official HF repos ship the .bin form, so use those.
    • The 7B is ~14GB in bf16. It fits on a 16GB card but the first load is a long coffee break. The 1B is the version most people actually run for understanding tasks.
    • Transformers version drift. Janus is built against a specific transformers release; if generation later throws attribute errors, a mismatched transformers in your shared ComfyUI environment is the classic culprit (the whole ecosystem's dependency-hell problem, not this pack specifically).

    Download the 1B first, get one workflow running end to end, then decide whether the 7B is worth the VRAM.

    CategoryYc_JanusPro

    Inputs (1)

    NameTypeDefaultDescription
    model_pathCOMBO1 options: 请将模型文件放置在models/Janus-Pro目录下

    Outputs (1)

    NameTypeDescription
    janus_modelJANUS_MODEL