Nodes/Pirog's Nodes for ComfyUI/CLIP Text Encode Flux (Multiple)
ComfyUI Node

CLIP Text Encode Flux (Multiple)

Flux runs on two text encoders — this node feeds them both, in bulk

By Pirog17000·Created about a year ago·Updated 10 months ago· 3
CLIP Text Encode Flux (Multiple)
  • clip
  • CONDITIONING
clip_l_texts
t5xxl_texts
guidance3.5

Flux isn't one text encoder, it's two. There's CLIP-L - the same "soup of keywords" encoder you know from SD1.5 and SDXL - and T5-XXL, a much bigger transformer that understands full sentences. The standard Flux text encode node handles one prompt pair at a time. This node from Pirog's Nodes does the same encoding for many pairs in a single pass, and it's a small thing until you're doing tiled or batch work and suddenly need a different prompt per tile. Then it's the thing that keeps your graph from turning into fifty text-encode nodes.

How it works

You feed it a clip plus two lists: clip_l_texts and t5xxl_texts. It zips them together by index - prompt pair 1, pair 2, pair 3 - tokenizes each side with its own encoder, and returns a list of CONDITIONING with one entry per pair. If one list is shorter than the other it pads the short one by repeating its last element, so you can vary just the T5 side while keeping one stable CLIP-L prompt, or vice versa.

The guidance input (default 3.5) gets stamped into every conditioning via the same mechanism the built-in Flux node uses. 3.5 is the community-default sweet spot for FLUX.1 [dev] - plenty of people argue it's actually a touch high and drop to 2.5–3 for more natural images, but you can treat it as a starting point, not a law.

The inputs that matter

  • clip - the CLIP object. For Flux that normally comes from a UNET/DualCLIPLoader loaded with both text encoders. If it's a checkpoint that has no text encoder, the node throws a clear error.
  • clip_l_texts - one string per pair. The list can be typed as a Python list literal like ["photo of a cat", "photo of a dog"].
  • t5xxl_texts - the natural-language side, paired by index.
  • guidance - Flux guidance scale, 0–100, default 3.5.

Output: one CONDITIONING list, wired straight into a sampler's positive input.

Where you actually use this

Its natural partner in this pack is KSampler (Multi-Seed+) with tiling enabled - each tile can get its own prompt pair while the whole thing runs in one node. It also plays nicely with batch workflows where you want to generate ten variations with ten different descriptions without hand-placing ten encode nodes. Note this is a positive-conditioning node; Flux [dev] is guidance-distilled so it doesn't use a negative prompt the way SDXL does, but you can still route a negative through a separate node if your workflow wants one.

Installing it

It ships in Pirog's Nodes, so you install the whole pack once:

cd ComfyUI/custom_nodes
git clone https://github.com/Pirog17000/Pirogs-Nodes
pip install -r Pirogs-Nodes/requirements.txt

Or search "Pirog's Nodes" in ComfyUI Manager and restart. This particular node needs no extra model downloads - it uses whatever Flux CLIP you already have.

Gotchas

The two lists are paired by position, and the padding repeats the last entry, so if you mis-order one list you'll get silently wrong pairs rather than an error. Paste-list syntax (["a", "b"]) is accepted, but the field is really a text box - keep the quoting valid or it treats the whole thing as one prompt. It's an encode-only node: if your sampler is set up for SDXL you'll get confusing output, because this is explicitly the Flux flavor.

Categoryadvanced/conditioning/flux

Inputs (4)

NameTypeDefaultDescription
clipCLIPThe CLIP model used for encoding the text.
clip_l_textsSTRINGList of CLIP-L text prompts to encode. Each text will be encoded separately.
t5xxl_textsSTRINGList of T5-XXL text prompts to encode. Each text will be paired with corresponding clip_l_texts.
guidanceFLOAT3.50–100Guidance scale for Flux models.

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONINGList of conditioning embeddings, one for each input text pair.