๐จ Janus Image Generator
Janus-Pro's generator, quirks included
- model
- processor
- images
The ๐จ Janus Image Generator is the creative half of this pack: it turns a text prompt into actual images using DeepSeek's Janus-Pro. And right up front, the part nobody says loudly: output is fixed at 384ร384, and the community consensus when Janus-Pro launched was "average to good" at drawing. This is not a Flux killer and it was never meant to be. It's a compact autoregressive model living inside the same weights as a genuinely good vision-language model - think of it as a toy worth having, a concept-sketch machine, or a research curiosity, not your new primary sampler.
How it works
Janus-Pro isn't a diffusion model. It's autoregressive: after the prompt, the model predicts an image token-by-token into a VQ codebook, and then decodes those tokens back into pixels via a learned vision codec. Concretely, this node builds a VLChat conversation, applies Janus's SFT template, seeds RNG with your seed, then generates 576 image tokens in parallel streams and runs them through decode_code to produce the images.
One detail makes the internal plumbing visible: to do classifier-free guidance it runs two token streams per image - one conditioned on the prompt, one not - and combines them. That doubling is why num_images is really "parallel size" and why every extra image roughly doubles the VRAM and compute for the batch.
Inputs worth knowing
- model + processor - from the ๐ฎ Janus-Pro Model Loader. Non-negotiable.
- prompt - the actual text. Multiline, default "A beautiful sunset over mountains". Be descriptive; Janus rewards it.
- num_images - how many images to generate in one run (default 1). Low-VRAM cards: keep this at 1โ2. The README suggests 16โ32 on a big GPU as a speed multiplier.
- seed - reproducibility (default 666). Same seed, same images.
- image_size - looks free-form, isn't. It's a string, but only
384works; anything else throws "Currently only support 384 resolution". - temperature and cfg_scale - here's the honest gotcha. These inputs exist in the UI, but in this revision of the pack they don't reach the generation code. Inside the node, temperature is hardcoded to 1.0 and CFG weight to 5.0, so cranking the sliders does nothing. Pretend they're documentation. Same story for system_prompt: it's threaded through the interface, but the actual generation path re-templates with an empty system prompt. The dials that actually do something are
prompt,num_images,image_size, andseed.
Output
One output: images (IMAGE), a standard ComfyUI tensor you can wire straight into a Preview Image or Save Image node. If you want the results in a real workflow, run them through an upscaler - 384px is small, and the model's textures don't survive a big upscale gracefully, but for concept exploration it's fine.
Installing the pack
It's one of three nodes in greengerong/ComfyUI-JanusPro-PL. ComfyUI Manager: search "Janus-Pro ComfyUI Plugin" and install. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/greengerong/ComfyUI-JanusPro-PL
pip install -r requirements.txt
Restart ComfyUI. The requirements.txt installs the Janus library from DeepSeek's GitHub plus transformers, torch, bitsandbytes, Pillow, numpy - and yes, bitsandbytes is required even if you run bf16, because the loader imports it unconditionally. First generation will also wait on the model download from Hugging Face (~16 GB for the 7B) if you haven't run it yet.
Troubleshooting
- "Currently only support 384 resolution" - you typed something other than 384 into
image_size. Type384. That's the whole fix. - CUDA out of memory -
num_imagesis your VRAM multiplier. Drop it to 1, and if that's still too much, switch the loader toJanus-Pro-1Bwithint4. - Images look mediocre - that's Janus, not you. It generates at 384px and the community found its outputs middling at launch. Write more descriptive prompts, upscale after, or use it for what it's actually good at: the understanding node's captions.
Bottom line: reach for this node when you want to play with a unified autoregressive model that also talks about images, or when you need quick sketch-level variations in a pipeline. Want wallpapers? Look elsewhere. Want to poke at one of 2025's more interesting model releases for the price of a download? This is a tidy way to do it.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model | JANUS_PRO_MODEL | โ | |
| processor | VLC_PROCESSOR | โ | |
| prompt | STRING | A beautiful sunset over mountains | โ |
| system_prompt | STRING | โ | |
| temperature | FLOAT | 0.80โ1 | โ |
| num_images | INT | 1 | โ |
| cfg_scale | FLOAT | 5.00 | โ |
| image_size | STRING | 384 | โ |
| seed | INT | 6660โ18446744073709550000 | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | โ |