Nodes/SenseNova U1.5 (T8)/SenseNova 1.x Text Encode
ComfyUI Node

SenseNova 1.x Text Encode

The node that turns SenseNova into a 'thinking' image model

By T8mars·Created 24 days ago·Updated 12 days ago· 21
SenseNova 1.x Text Encode
  • clip
  • CONDITIONING
text
modeimage
thinkingfalse
max_think_tokens1024

In an ordinary SenseNova U1.5 workflow you'd use CLIP Text Encode and call it a day. This node is what you swap in when you want the model to think before it draws. It's the difference between "here's a poster of fried chicken" and "here's a poster of fried chicken where the model first reasoned out the layout, the text, and where the highlights go."

It's part of T8mars' Comfyui-SenseNova-U1.5-Wrapper-T8 pack - the local wrapper for the open 8B SenseNova U1.5 model, no API and no key. The trick that makes this node interesting is that SenseNova's "CLIP" isn't CLIP at all. It's a real multimodal language model sitting inside the checkpoint. So when this node encodes your prompt it's doing proper language understanding, not squeezing text into a frozen tag vector - which is exactly why the model renders legible text in images instead of scrambling it into mush.

What the inputs actually do

Only four inputs, and only two of them are things you'll fiddle with:

  • clip - feed it from the pack's own Loader (SenseNova U1.5 Loader or the GGUF loader). A generic CLIP won't carry the multimodal tokenizer this needs.
  • text - your prompt, natural language. This model likes full descriptive sentences, not comma soup.
  • mode - image (default) or interleave. image is plain text-to-image conditioning. interleave prepares the same prompt for the SenseNova 1.x Interleave node, which expects both the positive and negative branches encoded this way.
  • thinking (BOOLEAN, default false) - the big one. Turn it on for the positive prompt and the model runs autoregressive reasoning tokens before diffusion starts: it plans the image, then draws it. The README's suggested starting point for max_think_tokens is 512; raise it only if you're doing something genuinely complex. Keep thinking off on the negative prompt - the author's guidance is explicit about that.

How the thinking works under the hood

When thinking is on, the node flags the tokenization and attaches metadata to the output conditioning - including a slot where the sampler later parks the actual reasoning tokens it generated. The KSampler sees that metadata, does the autoregressive "think" pass, then samples the image conditioned on both your prompt and the model's own plan. You can read the reasoning afterward by wiring this same conditioning (plus the KSampler's samples) into SenseNova Thinking Preview. If thinking is off, this node is functionally a smarter text encoder and none of that machinery fires.

What comes out

One CONDITIONING output, plugging in anywhere a CLIP Text Encode output would go - positive into KSampler, or (in interleave mode) into the SenseNova 1.x Interleave node.

Installing

The whole pack installs at once - this node has no separate dependencies of its own.

ComfyUI Manager: search "SenseNova U1.5 (T8)" (registry sensenova-u15-t8) and restart. Manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-SenseNova-U1.5-Wrapper-T8.git

If you cloned by hand and GGUF loading is missing, pip install "gguf>=0.13.0" (Manager does this automatically). The model itself is a separate ~35 GB download (SenseNova-U1.5-8B-MoT-BF16-T8.safetensors into models/diffusion_models/, or a GGUF into models/gguf/) - Manager won't fetch it. CUDA + BF16 only, tested on 24 GB VRAM; ComfyUI 0.31+.

Where people get burned

  • Thinking on the negative prompt. The most common mistake, and it wastes the exact VRAM you were trying to protect. Negative stays a plain encode.
  • Expecting speed. With thinking enabled the first image takes noticeably longer than ordinary text-to-image, because autoregressive reasoning runs before any diffusion step. That's not a hang - it's the feature.
  • max_think_tokens too high. 8192 is the ceiling, not the goal. Start at 512 and bump only if the model is cutting its reasoning short.
  • Interleave mode on only one branch. Both positive and negative must be mode = interleave or the downstream node refuses to run.

Worth remembering: a whole pack of ready-made workflows (including thinking and 8-step LoRA variants) ships in the repo's examples/ folder, so you can see the intended wiring before building your own.

Categoryconditioning/SenseNova

Inputs (5)

NameTypeDefaultDescription
clipCLIP
textSTRING
modeCOMBOimage2 options: image, interleave
thinkingBOOLEANfalse
max_think_tokensINT10241–8192

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING