Nodes/ComfyUI PyramidFlow Wrapper/PyramidFlow Text Encode
ComfyUI Node

PyramidFlow Text Encode

The dual-clip brain behind your prompt

By kijai·Created 2 years ago·Updated 2 years ago· 363
PyramidFlow Text Encode
  • clip
  • prompt_embeds
positive_prompthyper quality, Ultra HD, 8K
negative_promptcartoon style, worst quality, low quality, blurry, absolute black, absolute white, low res, extra limbs, extra digits, misplaced objects, mutated anatomy, monochrome, horror
force_offloadtrue

PyramidFlow Text Encode is where your prompt becomes something the model can actually read. It takes a CLIP, runs your positive and negative prompts through it, and hands the finished conditioning to the sampler. If you've used a Flux workflow you've basically met it - PyramidFlow's miniflux transformer is Flux architecture, which means it wants the same dual text encoder: a T5-XXL for the long-form semantic understanding plus a CLIP-L for the pooled summary.

The inputs

  • clip - a CLIP input, and it should be the dual encoder. In practice that means loading it with ComfyUI's DualCLIPLoader using t5xxl + clip_l, exactly like a Flux workflow. Kijai's own example workflows do precisely that, so this isn't a guess - the node reaches into clip.tokenizer.t5xxl and clip.tokenizer.clip_l and reads both.
  • positive_prompt - defaults to hyper quality, Ultra HD, 8K. Multiline. This is your subject and scene; the defaults are just quality tags and nothing about the actual content, so they read as a nudge to write a real prompt.
  • negative_prompt - pre-filled with a long, sensible blocklist: cartoon style, worst quality, low quality, blurry, absolute black, absolute white, low res, extra limbs, extra digits, misplaced objects, mutated anatomy, monochrome, horror. Honestly a decent default. Trim it if you want, but the anatomy and quality tags are carrying real weight with this model.
  • force_offload - default true. After encoding, it shoves the text encoder back to CPU so it's not eating VRAM during sampling. Leave it on.

How it works

The node tokenizes your positive prompt through both encoders - T5 padded to 128 tokens, CLIP-L to its usual 77 - and encodes positive and negative into a single bundle: text embeddings, attention masks, and pooled embeddings, with attention masks explicitly enabled for the T5 side. That bundle comes out as a single output:

  • prompt_embeds (PYRAMIDFLOWPROMPT) - wires into the prompt_embeds input on PyramidFlow Sampler.

Nothing about the node calls an API or needs a key; it's all local CLIP inference. The force_offload toggle is the only knob you'd realistically touch.

One thing that will trip you up

Look at the node's category in ComfyUI: it says CogVideoWrapper. That's not a mistake on your end - it's a copy-paste artifact from Kijai's other wrapper packs (the torch compile node in this same pack is labeled MochiWrapper). Ignore it, search "PyramidFlow Text Encode" and it's there. It's a small, very Kijai tell that these wrappers share DNA.

Install

Standard for this pack: ComfyUI Manager → "PyramidFlow Wrapper", or clone into custom_nodes and restart. The text encoder itself is ComfyUI's stock dual clip - the pack README doesn't ask you to download a special text encoder, because you already have one if you've ever run Flux. Download the PyramidFlow models (into diffusion_models and vae), wire a DualCLIPLoader into this node, and you're done. If your sampler output looks like it's ignoring the prompt entirely, check that the CLIP feeding this node is actually dual - a single CLIP-L will encode fine but produce weak, near-random conditioning for a model trained on T5 + CLIP pairs.

CategoryCogVideoWrapper

Inputs (4)

NameTypeDefaultDescription
clipCLIP
positive_promptSTRINGhyper quality, Ultra HD, 8K
negative_promptSTRINGcartoon style, worst quality, low quality, blurry, absolute black, absolute white, low res, extra limbs, extra digits, misplaced objects, mutated anatomy, monochrome, horror
force_offloadBOOLEANtrue

Outputs (1)

NameTypeDescription
prompt_embedsPYRAMIDFLOWPROMPT