ComfyUI Node Runs on cloud

Efficient Loader

Efficient Loader

By jags111·Created 3 years ago·Updated 4 months ago· 1,485
Efficient Loader
  • lora_stack
  • cnet_stack
  • MODEL
  • CONDITIONING+
  • CONDITIONING-
  • LATENT
  • VAE
  • CLIP
  • DEPENDENCIES
ckpt_name
vae_name
clip_skip-1
lora_name
lora_model_strength1.00
lora_clip_strength1.00
positiveCLIP_POSITIVE
negativeCLIP_NEGATIVE
token_normalization
weight_interpretation
empty_latent_width512
empty_latent_height512
batch_size1

Efficient Loader is the front door of the Efficiency Nodes pack. It rolls four separate steps - Load Checkpoint, CLIP Text Encode (positive), CLIP Text Encode (negative), and Empty Latent Image - into one node. So instead of a fan of five nodes at the start of every workflow, you get one tidy box that spits out everything the sampler needs.

That consolidation is exactly why people who share workflows publicly like this pack: the graph is easier to read at a glance. Fewer wires, less clutter, same result.

What it does under the hood

You point it at a checkpoint, type your positive and negative prompts right into its text boxes, set your canvas size, and it hands you a fully prepped bundle. The interesting extra is that prompt encoding is configurable. Two widgets, token_normalization and weight_interpretation, control how your prompt text gets turned into conditioning - the weight_interpretation options include comfy, A1111, compel, comfy++, and down_weight. If you're chasing Automatic1111-style results, A1111 here is part of how you get closer to them.

It also loads and caches a LoRA inline, so a single LoRA doesn't need its own node either.

The inputs that matter

  • ckpt_name - your checkpoint, same as any loader.
  • positive / negative - multiline text boxes for your prompts, encoded on the node.
  • empty_latent_width / empty_latent_height / batch_size - this is where your generation size and batch count live.
  • clip_skip - defaults to -1. Worth knowing what this actually does: clip skip conditions on an earlier layer of the text encoder, and it genuinely matters on SD1.5 and the anime lineage (Pony, Illustrious, NoobAI all expect -2). On SDXL it's mostly a no-op because both encoders already default to the penultimate layer. So set it deliberately per model family; don't just leave -2 on everything out of habit.
  • lora_name / lora_model_strength / lora_clip_strength - one inline LoRA and its two strength dials.

For more than one LoRA, feed the optional lora_stack input from a LoRA Stacker node. There's also a cnet_stack input for a ControlNet stack.

The outputs are a full kit: MODEL, CONDITIONING+, CONDITIONING-, LATENT, VAE, CLIP, and DEPENDENCIES. Wire the first four straight into a KSampler (Efficient). That DEPENDENCIES output is the quiet MVP - it carries the loader's whole config into an XY Plot node so the plot knows which checkpoint, VAE and LoRA to use.

Installing it

Via ComfyUI Manager, search Efficiency Nodes for ComfyUI. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/jags111/efficiency-nodes-comfyui

Then restart. One optional nicety: the loader's right-click "🔍 View model info…" menu only works if you also have pythongosssss's ComfyUI-Custom-Scripts installed.

Common issues

If the whole pack shows IMPORT FAILED on startup (often with a pip freeze non-zero exit status error), that's an environment problem, not a you-typed-it-wrong problem - update ComfyUI, your packages, and the node itself. The pack is also historically sensitive to ComfyUI frontend updates; the standard fix after an update breaks it is to update the node to the latest commit before anything else. And a token_normalization/weight_interpretation mismatch is a common "why don't my prompts look like they used to" - those change the actual conditioning, so keep them consistent when you're comparing runs.

CategoryEfficiency Nodes/Loaders

Inputs (15)

NameTypeDefaultDescription
ckpt_nameCOMBO0 options:
vae_nameCOMBO1 options: Baked VAE
clip_skipINT-1-24–-1
lora_nameCOMBO1 options: None
lora_model_strengthFLOAT1.00-10–10
lora_clip_strengthFLOAT1.00-10–10
positiveSTRINGCLIP_POSITIVE
negativeSTRINGCLIP_NEGATIVE
token_normalizationCOMBO4 options: none, mean, length, length+mean
weight_interpretationCOMBO5 options: comfy, A1111, compel, comfy++, down_weight
empty_latent_widthINT51264–16384
empty_latent_heightINT51264–16384
batch_sizeINT11–262144
lora_stackoptLORA_STACK
cnet_stackoptCONTROL_NET_STACK

Outputs (7)

NameTypeDescription
MODELMODEL
CONDITIONING+CONDITIONING
CONDITIONING-CONDITIONING
LATENTLATENT
VAEVAE
CLIPCLIP
DEPENDENCIESDEPENDENCIES