Nodes/LLS-node/LLS Simple Prompt Encode
ComfyUI Node

LLS Simple Prompt Encode

One prompt node that knows whether you're on SDXL or FLUX

By Gin3601·Created 3 months ago·Updated 3 months ago· 0
LLS Simple Prompt Encode
  • text_encoder
  • clip
  • positive
  • negative
  • prompt_info
positive_prompt
negative_prompt
clip_skip-1
model_familyAuto

Stock ComfyUI handles positive and negative prompts as two separate nodes, and it treats SDXL's dual text encoders as something you must not think about. LLS Simple Prompt Encode collapses both ideas at once: one node, both prompts, and it quietly picks the correct encoding path for whatever model family you're actually running - SD 1.5, SDXL, SDXL Turbo, or FLUX.

The "simple" in the name isn't a downgrade. It means you stop writing per-family spaghetti.

How it works

The node takes a CLIP input (labelled text_encoder, with a legacy clip alias so any checkpoint loader's output works) and dispatches to a family-specific encoding path. The family comes from your model_family dropdown - set to Auto by default, in which case the node infers it from the CLIP object you connected. Then it applies the family rules:

  • SD 1.5 - standard single-encoder CLIP encode of both prompts.
  • SDXL - encodes using both text encoders at the model's default 1024×1024 framing, which SDXL conditioning needs to be told about.
  • SDXL Turbo - encodes normally but weakens the negative prompt (drops it if you provided one), because Turbo models are distilled to run on positive guidance and don't respond well to strong negatives.
  • FLUX - ignores your negative prompt entirely (it encodes it as empty) and, importantly, forces clip_skip to -1, since FLUX's T5 encoder isn't a CLIP stack and the whole clip-skip dial is meaningless there.

Those last two are the bits that trip people: negative prompts do not mean the same thing on every model family, and the node is quietly enforcing that so you don't have to remember.

clip_skip (default -1) is worth understanding because of where it doesn't work. Clip skip exists for one historical reason - the anime checkpoint line (Pony, Illustrious, NoobAI) all expect conditioning from CLIP's penultimate layer, so SD 1.5/SDXL anime models want -2. It does nothing on FLUX, and on vanilla SDXL it changes little because both encoders already default to the penultimate layer. So: leave it at -1 unless your checkpoint's page prints "Clip Skip: 2", in which case set it.

Outputs

positive and negative are standard CONDITIONING tensors feeding any sampler - including LLS Simple KSampler or a stock KSampler. The third output, prompt_info, is a JSON string recording which family it detected, whether the negative was weakened/ignored, and the effective clip skip. Wire it to a text display node once if you want proof of what the node decided; otherwise ignore it.

Wiring it in

Pair it with an LLS loader (Simple Checkpoint Loader or Universal Model Loader):

LLS Simple Checkpoint Loader → LLS Simple Prompt Encode → LLS Simple KSampler → VAE Decode → Preview

Installing

Via ComfyUI Manager (search "LLS-node"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/Gin3601/LLS-node

Restart ComfyUI, then look under LLS/Conditioning. No requirements.txt in the pack - it only uses ComfyUI's built-in CLIP machinery.

Gotchas

  • It needs an encoder, and it's loud about it. Leave text_encoder unwired and you get a [LLS] Missing text encoder error rather than a silent empty conditioning. Connect the CLIP from your loader - the clip input exists so old workflows keep working.
  • Set model_family to Auto and trust the inference. Manually pinning the wrong family is the fastest way to produce broken conditioning; the only time to override is when inference misreads an unusual model, which is rare.
  • Remember the FLUX behavior: negative prompts are dropped. If you're coming from SD 1.5 habits and your Flux images look fine anyway, this is why.
CategoryLLS/Conditioning

Inputs (6)

NameTypeDefaultDescription
positive_promptSTRING
negative_promptSTRING
clip_skipCOMBO-125 options: , -1, -2, -3, -4, -5, +19
model_familyCOMBOAuto9 options: Auto, SD1.5, SD15, SDXL, SDXL_TURBO, FLUX_SCHNELL, +3
text_encoderoptCLIP
clipoptCLIP

Outputs (3)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
prompt_infoSTRING