SenseNova_SM_Sampler
SenseNova-U1's T2I, Edit, VQA and Interleave
- model
- image
- image
- text
This is the node where SenseNova-U1 actually does the work. The pack is two nodes - SenseNova_SM_Model loads the weights, this sampler runs them - and "runs them" covers four different jobs depending on what you feed it. Text-to-image. Image editing. Image question-answering. And interleaved generation, where the model writes text and draws images in the same response, like a caption-and-illustrate machine. Most samplers in ComfyUI do one thing. This one is a Swiss Army knife, which is both its appeal and the main source of confusion.
How it works
SenseNova-U1 is a native multimodal model in the NEO-Unify style: language and vision share one transformer, so understanding and generation are the same mechanism. The sampler drives it via flow-matching steps rather than classic denoising, which is why cfg defaults to a mild 1.0 instead of 7, and why there's a second knob, img_cfg, that scales how strongly the input image conditions an edit. Turn on think_mode and the model first emits a <think>...</think> reasoning block, then generates. Nothing here calls an API - it's all local, all in the weights you loaded.
The img_mode dropdown picks the job, and it's worth understanding the fallthrough in the source because it surprises people:
t2iis implicit. No input image + any mode that isn'tinterleave= plain text-to-image. Soimg_modeset toeditwith no image silently becomes T2I. Feed it an image and it's an edit.edit- image editing with a prompt. This is the mode the pack was built around (infographic work is the model's showcase).vqa- image understanding: you ask a question about the image, thetextoutput is the answer.interleave- text + up tointerleave_maximages, in or out. This one works with or without an input image.
The inputs you'll actually touch
Most of the schema is pass-through text-decoding knobs (temperature, top_p, top_k, repetition_penalty) that only matter for the VQA/interleave text output. The ones that change your life:
- prompt - multiline, obvious.
- seed / steps -
stepsdefaults to 8, which only works if you loaded the 8-step LoRA in the model node. Without it, expect to crank this toward 50 and it will hurt. - target_pixels - the model trains on fixed resolution buckets, so you pick an aspect ratio, not a pixel count:
1:1maps to 2048×2048,16:9to 2720×1536, and so on. No free-form resolution. - cfg / img_cfg - guidance scale and image-guidance scale.
1.0is a fine place to start for both; pushcfgup if generations look washed out. - prefetch_count - layer-swap offload control. Default 1 is the RAM-hungry safe mode for small cards; set 0 on 16 GB+ VRAM to disable swapping and speed things up.
- image (optional) - the IMAGE input that flips you from T2I into edit/VQA/interleave.
Outputs
- image - an
IMAGEtensor, wired straight to a Save/Preview node. - text - a
STRING. In VQA mode this is the actual product. In T2I/edit mode it's the<think>block if you enabledthink_mode, otherwise a placeholder like "not think mode."
One quirk worth knowing: in vqa mode the image output is literally a black placeholder tensor, because the job produced text, not pixels. Don't panic and don't save it - read the text output.
Installing it
It ships in the same pack as the loader, so you get both at once: ComfyUI Manager → search "SenseNova", or:
cd ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_SenseNova_U1
pip install -r requirements.txt
Then restart ComfyUI and grab the models (GGUF + optional 8-step LoRA) per the loader's README. Dependencies include transformers >= 4.57.1, < 4.58.0 - the upper pin matters, so don't let a newer transformers from another pack clobber it.
Common issues
The recurring ones, all grounded in the pack README and the author's own update posts:
- OOM or crash on load - check your system RAM first, not your VRAM. The model wants 36 GB+ of RAM to load via layer swapping; 8 GB VRAM is genuinely fine.
- Slow generations - you're missing the 8-step LoRA, or you're on
prefetch_countswapping when you have the VRAM to disable it. - Known 8-step LoRA artifacts - the community has flagged occasional text repetition and white-background fills with the fast LoRA. It's a tracked trade-off, not your config.
- Black "image" in VQA - not a bug, see above. The answer is in the text output.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| img_mode | COMBO | 3 options: edit, interleave, vqa | |
| prompt | STRING | a photo of a cat | — |
| seed | INT | 00–2147483647 | — |
| steps | INT | 81–10000 | — |
| target_pixels | COMBO | 11 options: 1:1, 16:9, 9:16, 3:2, 2:3, 4:3, +5 | |
| cfg | FLOAT | 1.00–10 | — |
| img_cfg | FLOAT | 1.00–100 | — |
| timestep_shift | FLOAT | 3.0-1–10 | — |
| batch_size | INT | 11–64 | — |
| prefetch_count | INT | 10–64 | — |
| interleave_max | INT | 41–2147483647 | — |
| cfg_norm | COMBO | 3 options: none, global, channel | |
| enhance | BOOLEAN | false | — |
| think_mode | BOOLEAN | false | — |
| do_sample | BOOLEAN | true | — |
| max_new_tokens | INT | 1024256–10241024 | — |
| temperature | FLOAT | 0.70–1 | — |
| top_p | FLOAT | 0.90–1 | — |
| top_k | INT | 00–1024 | — |
| repetition_penalty | FLOAT | 0.00–10 | — |
| imageopt | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| text | STRING | — |