Nodes/ComfyUI_tinyterraNodes/pipeEncodeConcat
ComfyUI Node Runs on cloud

pipeEncodeConcat

PipeEncodeConcat

By TinyTerraΒ·Created 3 years agoΒ·Updated 3 months agoΒ· 604
pipeEncodeConcat
  • pipe
  • optional_positive_from
  • optional_negative_from
  • optional_clip
  • pipe
  • positive
  • negative
  • clip
β—„toggleβ–Ύβ–Ί
β—„positivePositiveβ–Ί
β—„positive_token_normalizationβ–Ύβ–Ί
β—„positive_weight_interpretationβ–Ύβ–Ί
β—„negativeNegativeβ–Ί
β—„negative_token_normalizationβ–Ύβ–Ί
β—„negative_weight_interpretationβ–Ύβ–Ί

Standard ComfyUI text encoding treats (word:1.2) weight syntax as literal text - it was built on comfy weight interpretation, where you emphasize by repeating a token or using specific formatting. If you came from Automatic1111, you expect (keyword:1.4) and [keyword:0.8] to just work. tinyterra's pipeEncodeConcat (ttN pipeEncodeConcat) is the node that gives you that A1111-style prompt engineering inside a ttN pipe, then concatenates the result onto the pipe's existing conditioning instead of replacing it.

It's the standalone version of the text encoding that pipeLoader v2 and pipeKSampler v2 embed - the pack vendors BlenderNeko's Advanced CLIP Text Encode logic (adv_encode.py) so the whole family shares the same weight interpretation machinery.

The inputs that matter

  • pipe - incoming ttN pipe. Its existing positive/negative conditioning is what your new text gets appended to.
  • toggle (True/False) - master switch for the whole operation. Off means the pipe passes through untouched and no encoding happens. Handy for A/B comparing with/without the appended prompt.
  • positive / negative - the text boxes. Note they come with defaults of literally "Positive" and "Negative", which trips up everyone once: if you leave a box at its default and expect it to be ignored, you'll be adding the word "Positive" to every prompt. Clear them.
  • positive_token_normalization / negative_token_normalization - none, mean, length, or length+mean. Token normalization rescales emphasis weights; mean and length are the two flavors that keep very long or short prompts from over- or under-emphasizing.
  • positive_weight_interpretation / negative_weight_interpretation - this is the star: comfy, A1111, compel, comfy++, down_weight. Set it to A1111 and your old (prompt:1.2) syntax finally means something.

Optional wiring: optional_positive_from / optional_negative_from let you pass in conditioning from elsewhere to append to, and optional_clip overrides which CLIP does the encoding (defaults to the pipe's clip).

The mechanism, in short

The node runs the prompt text through the ADV_CLIP_emb encoder with your chosen normalization/interpretation, then concatenates the new conditioning onto the pipe's existing positive and negative conditioning. Concat - not replace - is the point: you can bolt a style tag or a quality boost onto an already-encoded pipeline without re-encoding everything.

Outputs: pipe (with the new conditioning inside), plus positive, negative and clip as separate outputs so you can grab them for non-pipe consumers.

Install and the gotchas

One-time pack install - ComfyUI Manager β†’ search ComfyUI_tinyterraNodes, or clone into ComfyUI/custom_nodes and restart. The encoding logic is vendored, so there's no separate ADV_CLIP_emb install and no dependency to break.

Two traps, both common:

  1. The default "Positive"/"Negative" strings. If your workflow seems to have "Positive" baked into every prompt, this node is why. Blank them out.
  2. A1111 interpretation is not comfy. If you flip interpretation and your image quality suddenly changes, that's expected - A1111 mode parses emphasis syntax differently. Test with toggle off/on to hear the difference rather than assuming something broke.
Category🌏 tinyterra/pipe

Inputs (11)

NameTypeDefaultDescription
pipePIPE_LINEβ€”
toggleCOMBO2 options: true, false
positiveoptSTRINGPositiveβ€”
positive_token_normalizationoptCOMBO4 options: none, mean, length, length+mean
positive_weight_interpretationoptCOMBO5 options: comfy, A1111, compel, comfy++, down_weight
negativeoptSTRINGNegativeβ€”
negative_token_normalizationoptCOMBO4 options: none, mean, length, length+mean
negative_weight_interpretationoptCOMBO5 options: comfy, A1111, compel, comfy++, down_weight
optional_positive_fromoptCONDITIONINGβ€”
optional_negative_fromoptCONDITIONINGβ€”
optional_clipoptCLIPβ€”

Outputs (4)

NameTypeDescription
pipePIPE_LINEβ€”
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”
clipCLIPβ€”