Nodes/ComfyUI_Yc_JanusPro/Janus Text2Image
ComfyUI Node

Janus Text2Image

The text-to-image node that actually follows your prompt

By yichengup·Created 2 years ago·Updated 2 years ago· 7
Janus Text2Image
  • janus_model
  • images
promptA stunning princess
seed42
batch_size1
cfg_weight5.0
temperature1.0
top_p0.90

The generation half of Janus-Pro, and the node with the most distinctive personality in this pack. Where diffusion models drift and reinterpret, Janus Text2Image is obedient - when the model launched in early 2025, the community's comparison posts kept landing on the same point: Janus-Pro-1B followed the prompt more literally than Flux.schnell, SD1.5, or SDXL in head-to-head tests. That is its superpower. The catch, and it's a big one, is that everything it draws is a fixed 384×384 image, and it does not do photorealism the way a diffusion checkpoint does. This is a compact, literal-minded illustrator, not your next realistic-photo model - reach for it when adherence beats fidelity.

How it works

No diffusion under the hood. The prompt is tokenized and templated, then the model autoregressively predicts 576 image tokens in a fixed loop - one token at a time, feeding each back in - and finally decodes the token grid through the vision model's codebook into pixels. That's why there's no "steps" parameter like a sampler: the loop is the process. The cfg_weight (default 5) is applied directly to the logits each step as uncond + cfg * (cond − uncond), the classic classifier-free-guidance trick reimplemented on a token level. temperature and top_p shape the sampling, seed locks reproducibility, and batch_size runs multiple generations in parallel - a batch of three costs barely more than a batch of one, because the token loop is the bottleneck, not the batch.

The inputs that matter

  • prompt - your text prompt. This is the node's whole point; Janus earns its reputation here.
  • cfg_weight - guidance strength, default 5. Lower for more variety, higher for stricter adherence to a complex prompt.
  • temperature - default 1.0. Set 0 for greedy, deterministic output; nudge it up if results look samey.
  • batch_size - how many images to generate at once (1–64). Remember the near-free batching.

seed and top_p (default 0.9) round it out. The required janus_model input comes from the pack's loader.

The output

images, a standard IMAGE tensor - so it plugs into anything in ComfyUI: a preview node, Save Image, an upscaler, a face detailer. At a hard 384×384 you'll almost always want it upscaled downstream, which is also where this node shines: its prompt-faithful output survives upscaling well.

Install and gotchas

Same as the rest of the pack: Manager → search ComfyUI_Yc_JanusPro, or clone into custom_nodes and restart. The real dependencies are DeepSeek's janus package (installed via the pack's requirements.txt) and a model in ComfyUI/models/Janus-Pro/ - the 1B is the sweet spot here, the 7B wants ~14GB of VRAM.

Watch out for two things. First, a failed generation returns black image tensors instead of an error - if your output is all black rectangles, something threw, and the real message is in the ComfyUI console. Second, don't judge Janus by photorealism; if a diffusion-realism result is the goal, this is the wrong tool. For prompt adherence, multi-image comparison setups, or just a tiny model that draws what you asked, it's genuinely fun.

CategoryYc_JanusPro

Inputs (7)

NameTypeDefaultDescription
janus_modelJANUS_MODEL
promptSTRINGA stunning princess
seedINT420–18446744073709550000
batch_sizeINT11–64
cfg_weightFLOAT5.00–20
temperatureFLOAT1.00–2
top_pFLOAT0.900–1

Outputs (1)

NameTypeDescription
imagesIMAGE