Jolly Cosmos3 Text-to-Image
The head you'll mostly skip (and that's fine)
- cosmos3_pipe
- image
Straight talk: this is the weakest node in the pack, and it isn't the node's fault. JollyCosmos3TextToImage runs Cosmos3-Nano's image head - the omni pipeline called with num_frames=1 - and Cosmos3's image generation was built as synthetic-data fodder for robotics training, not as art. People who tried the Nano T2I on a DGX Spark came back with "the quality is very bad" and, in fairness, the model card doesn't really promise better. If you want text-to-image, the ecosystem's actual image models (Flux, Z-Image, HiDream, and friends) are leagues ahead and far lighter. You're here because you're already running Cosmos3 for video and want a quick still out of the same pipe - that's the legitimate use, so let's keep it useful.
It takes a cosmos3_pipe from JollyCosmos3ModelLoader plus a prompt and returns a single image (IMAGE tensor, straight into a Save Image or Preview Image node). Mechanically it's the same spec-compliance core as the video nodes: prompt through the Qwen2 chat template with the eos and <|end_of_256|> special tokens, unified 3D mRoPE sequence, flow matching under UniPCMultistepScheduler(flow_shift=10.0).
The inputs
- prompt - multiline STRING. It accepts plain English, but feeding it the JSON from
JollyCosmos3StructuredPrompt(in t2i mode) gets you closer to what the model was trained on. - negative_prompt - exists, and on a flow-matching LLM-encoded model it's a weak lever, so don't build your workflow around it.
- width / height - defaults 832x480, the official 480p tier. The 16-step quantization (128–2048) means you can go bigger, but quality doesn't scale up the way it does on SDXL.
- steps / guidance_scale / seed - 35 steps and CFG 6 shipped as defaults and they're reasonable. The seed is applied directly, so 0 is a fixed seed - same seed reproduces the same image; change it for variety.
No audio output here - it's a still, so it just returns the image.
Installing and running
Identical to the rest of the pack, including the mandatory diffusers-from-git-main step:
cd ComfyUI/custom_nodes
git clone https://github.com/JOLLYKRONK/jolly-cosmos3-comfyuinodes
pip install -U 'diffusers @ git+https://github.com/huggingface/diffusers.git'
huggingface-cli download nvidia/Cosmos3-Nano --local-dir ComfyUI/models/diffusers/cosmos3_nano
Restart, and it's under the Cosmos3 category with the other four nodes. It inherits the same hardware reality: ~32GB of BF16 weights on the card, so if you can run the video nodes you can run this - it's just a single frame, after all.
The honest verdict: keep this node around for quick consistency checks inside a Cosmos3 workflow, or as a cheap thumbnail pass over a scene idea before you burn the full video generation. Don't come here for finished images. It's a utility head on a video pack, and treating it like one is exactly the right level of expectation.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| cosmos3_pipe | COSMOS3_PIPE | — | |
| prompt | STRING | — | |
| negative_prompt | STRING | — | |
| width | INT | 832128–2048 | — |
| height | INT | 480128–2048 | — |
| steps | INT | 351–200 | — |
| guidance_scale | FLOAT | 6.01–20 | — |
| seed | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |