pipeLoader
Load, prompt, LoRA, latent β and carry it all down one wire
- model_override
- clip_override
- optional_lora_stack
- optional_controlnet_stack
- pipe
- model
- positive
- negative
- latent
- vae
- clip
- seed
- width
- height
- pos_string
- neg_string
pipeLoader is the heart of the tinyterraNodes pack: one node that loads your checkpoint, applies LoRAs, encodes both prompts, builds the empty latent, and bundles model + conditioning + latent + VAE + CLIP + seed into a single PIPE_LINE output. The pipe travels down one wire into pipeKSampler, and that's what collapses an eight-node workflow into two boxes.
This is the "everything but the sampler" node. It borrows the idea from Efficiency Nodes - a pack that's explicitly cited in the README as the ancestor - and adds a couple of things that made it a fixture in shared workflows: an embedded Advanced CLIP Text Encode (from BlenderNeko's ADV_CLIP_emb, which it also credits) with token-normalization and weight-interpretation dropdowns, and a LoRA text box instead of one-per-slot dropdowns.
How it works
The ckpt_name, vae_name, and clip_skip handle the checkpoint side. The loras box is the standout: a multiline field where each line is <lora:name:weight:optClipWeight>, so you can stack as many LoRAs as you want without adding nodes - the pack's autocomplete even suggests installed LoRAs as you type. empty_latent_aspect gives you the same resolution presets as tinyLoader (plus custom width/height), and batch_size sets the latent batch.
The prompt side gets the advanced treatment: positive / negative with the four token-normalization options and five weight-interpretation modes (comfy, A1111, compel, comfy++, down_weight). Optional prepend_positive / prepend_negative let you wire in a stable prefix block, and optional_lora_stack / optional_controlnet_stack accept stacks from other node packs.
Inputs you'll actually set
ckpt_nameandvae_name(Baked VAE unless your model needs a separate one)loras- one<lora:...>per linepositive/negative- your promptsseed- set it here; the sampler will pick it up from the pipe
Outputs: the pipe plus individual model, positive, negative, latent, vae, clip, seed, and - usefully - width, height, pos_string, neg_string. You can grab any of these directly instead of digging into the pipe.
Installing it
Part of tinyterraNodes:
cd ComfyUI/custom_nodes
git clone https://github.com/TinyTerra/ComfyUI_tinyterraNodes.git
or ComfyUI Manager β tinyterraNodes. No pip dependencies, no model downloads beyond your own checkpoints/LoRAs.
Gotchas
The pipe format is the pack's own PIPE_LINE, so a pipeLoader_v2 wire only plugs into nodes that speak it - pipeKSampler_v2, pipeEDIT, the pipeβbasic_pipe converter for Impact Pack compatibility, and so on. The legacy v1 pipeLoader uses the same pipe type, so v1 and v2 mix; the SDXL variant uses a different PIPE_LINE_SDXL, which is the one people hit when they cross-wire a normal pipe into an SDXL sampler and nothing happens. Also note the LoRA autocomplete needs the feature enabled in the pack config (it's on by default), and clip_skip defaulting to -1 will quietly change results on models that don't want it.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | 0 options: | |
| config_name | COMBO | Default | 12 options: Default, anything_v3.yaml, v1-inference.yaml, v1-inference_clip_skip_2.yaml, v1-inference_clip_skip_2_fp16.yaml, v1-inference_fp16.yaml, +6 |
| vae_name | COMBO | 1 options: Baked VAE | |
| clip_skip | INT | -1-24β0 | β |
| loras | STRING | β | |
| positive | STRING | Positive | β |
| positive_token_normalization | COMBO | 4 options: none, mean, length, length+mean | |
| positive_weight_interpretation | COMBO | 5 options: comfy, A1111, compel, comfy++, down_weight | |
| negative | STRING | Negative | β |
| negative_token_normalization | COMBO | 4 options: none, mean, length, length+mean | |
| negative_weight_interpretation | COMBO | 5 options: comfy, A1111, compel, comfy++, down_weight | |
| empty_latent_aspect | COMBO | 512 x 512 [S] 1:1 | 13 options: width x height [custom], 512 x 512 [S] 1:1, 768 x 768 [S] 1:1, 910 x 910 [S] 1:1, 512 x 682 [P] 3:4, 512 x 768 [P] 2:3, +7 |
| empty_latent_width | INT | 51264β16384 | β |
| empty_latent_height | INT | 51264β16384 | β |
| batch_size | INT | 11β64 | β |
| seed | INT | 00β18446744073709550000 | β |
| model_overrideopt | MODEL | β | |
| clip_overrideopt | CLIP | β | |
| optional_lora_stackopt | LORA_STACK | β | |
| optional_controlnet_stackopt | CONTROL_NET_STACK | β | |
| prepend_positiveopt | STRING | β | |
| prepend_negativeopt | STRING | β |
Outputs (12)
| Name | Type | Description |
|---|---|---|
| pipe | PIPE_LINE | β |
| model | MODEL | β |
| positive | CONDITIONING | β |
| negative | CONDITIONING | β |
| latent | LATENT | β |
| vae | VAE | β |
| clip | CLIP | β |
| seed | INT | β |
| width | INT | β |
| height | INT | β |
| pos_string | STRING | β |
| neg_string | STRING | β |