🧩Janus Model Loader
Getting DeepSeek's Janus-Pro into ComfyUI
- model
- processor
- tokenizer
This is the front door to a model that wants to hold two jobs at once. Janus-Pro-7B is DeepSeek's early-2025 "unified" model: the same weights that describe an image will also generate one. Janus Model Loader is how you get those weights into a ComfyUI graph, and it's a mandatory first stop - the other two nodes in this pack are useless without the three things it hands you.
The name is not a lie about an API. Nothing here calls DeepSeek's servers, you don't need a key, and the only network traffic is the one-time model download. It's as local as a ComfyUI checkpoint, just bigger and weirder.
What it actually does
Under the hood it's a plain transformers load: AutoConfig plus AutoModelForCausalLM.from_pretrained(..., trust_remote_code=True), cast to bfloat16 on CUDA (fp16 otherwise), with the model's VLChatProcessor and its tokenizer loaded alongside. The janus/ modeling code ships inside the repo, so the whole thing runs from your own custom_nodes folder - no extra package to pip.
That "same weights for both jobs" bit is the interesting part, and it's why this pack exists. Janus-Pro is autoregressive: it does image understanding and image generation as the same next-token prediction, not as diffusion plus a separate captioner. That's why one loader can feed both of the other nodes here.
The inputs and outputs that matter
There's exactly one input you'll ever touch:
- model_path - a free-text box that defaults to
deepseek-ai/Janus-Pro-7B. Leave it alone and the loader pulls the model from HuggingFace into your HF cache. Point it at a local folder and it loads from disk instead. The loader also registers aComfyUI/models/Janusfolder, so you can drop the model files there (e.g.ComfyUI/models/Janus/Janus-Pro-7B) and set this to the local path if you'd rather keep downloads out of your HF cache.
Three outputs come out, and they only make sense to this pack:
- model (
JANUS_MODEL) - the loaded weights - processor (
PROCESSOR) - the VLChatProcessor that turns images+text into tensors - tokenizer (
TOKENIZER) - the text tokenizer
All three feed straight into Janus_ImageGeneration or Janus_MultimodalUnderstanding. They're custom types, so nothing else in ComfyUI understands them - this is a self-contained little island, which is very on-brand for its author.
How to install it
ComfyUI Manager: open it, search "DeepSeek JanusPro", install, restart. Or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/ZHO-ZHO-ZHO/ComfyUI-DeepSeek-JanusPro
# restart ComfyUI
The requirements.txt pins exactly one thing: attrdict. Everything else - torch, transformers, Pillow - comes from your ComfyUI environment, which is good (no dependency hell) and bad (you inherit whatever transformers version ComfyUI bundled).
The heavy lift isn't install, it's the model. First run downloads Janus-Pro-7B, roughly 15 GB, and the 7B needs ~14 GB of VRAM to be comfortable. People with 12 GB cards report it just won't fit.
Where people get burned
- First run looks frozen. That's the download. Let it sit; watch the console for progress.
- A typo'd
model_pathdownloads something you didn't mean, or fails with a confusing resolve error. There's no dropdown to save you. - A load that dies with a transformers attribute error is almost always your ComfyUI's transformers being too old - the pack pins nothing, so it inherits whatever's there.
- CPU-only machines technically run it (fp16 on CPU) but you will age visibly waiting.
One honesty note: this pack is a snapshot. ZHO-ZHO-ZHO's claim to fame here is that DeepSeek's R1 model wrote all the code - which makes it a fun artifact, but it's been folded into his bigger ComfyUI-DeepSeek-All-In-One project, so this loader isn't exactly getting feature updates. It still works; just know what you're installing.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_path | STRING | deepseek-ai/Janus-Pro-7B | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | JANUS_MODEL | — |
| processor | PROCESSOR | — |
| tokenizer | TOKENIZER | — |