EasyFunction_Lite
It doesn't load models — it packs their paths
- model
- clip
- info
The name is doing a lot of work, and "Lite" is honest: EasyFunction_Lite doesn't load any big model. It's a path collector. You tell it where your diffusers-format repos, GGUF files, CLIPs, LoRAs and ControlNets live, it bundles all those paths into a single info dict, and StoryDiffusion_Apply reads that dict when you pick one of the Flux-family or repo-based infer_modes. That info output is the whole point of the node - it's what makes modes like infiniteyou, realcustom, instant_character, dreamo, bagel_edit and flux_omi work at all.
Why does this node exist? Because several methods in this pack load checkpoints in HuggingFace diffusers repo format - a folder with config.json plus sharded safetensors - which ComfyUI's normal model loaders can't see. EasyFunction_Lite is the pack's back door for those. You type or paste a path like any_path/FLUX.1-dev/transformer into repo1, and the pack's loaders find it there.
What to fill in
The important ones, in order of how often you'll touch them:
repo1/repo2- STRING paths to repo-format checkpoints. This is where the Kolors folder, the Flux transformer repo, the Bagel folder, and theBEN2_Base.pthfile for DreamO go. The README gives an exact folder layout per mode (3.3, 3.6.1, 3.12...), and it matters -kolor_facespecifically scansrepo1/repo2for a path containing "kolor".gguf- dropdown overmodels/gguf. The pack registers that folder itself at load time. Drop city96'sFLUX.1-devGGUFs (Q6/Q8) here for the quantized InfiniteYou path.unet,clip1,clip2,clip_vision1,clip_vision2,lora1,lora2,controlnet- dropdowns over the normal ComfyUI folders. Most modes only need one or two of these;realcustomis the greedy one and wants six checkpoints including two CLIPs and two clip_vision repos.special_mode- the interesting one.noneis the default.tagturns on an automatic prompt/tag generator: it loadspzc163/MiniCPMv2_6-prompt-generator(auto-downloaded from HuggingFace) - or, if a repo path contains "flor", a Florence-2-style caption model (which needspip install flash_attn) - and reverse-engineers captions from the reference images you connect inStoryDiffusion_CLIPTextEncode.glmloads the ChatGLM text encoder that Kolors face mode needs.tag_temperature(0.1–1.0, default 0.7) - only matters whenspecial_modeistag; it tunes how creative the captioning gets.
Outputs
info(typeSTORY_CONDITIONING_1) - the payload. Wire it intoStoryDiffusion_Apply's optionalinfoinput.modelandclip- don't build your graph around these. Themodeloutput is a placeholder (the source returns None there - loading happens later in Apply), andcliponly carries anything inglmmode. The paths flow throughinfo, not through the model socket.
So the mental model is: EasyFunction_Lite is configuration, StoryDiffusion_Apply is execution. If a workflow you downloaded has this node sitting half-empty and Apply errors with "you need to provide extra_info", this is the node you forgot to fill.
Install
Same pack install as everything else in ComfyUI_StoryDiffusion:
cd ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_StoryDiffusion.git
cd ComfyUI_StoryDiffusion
pip install -r requirements.txt # spaces, peft, diffusers, opencv-python, omegaconf
The tag mode pulls a model from HuggingFace on first use (a few hundred MB), and glm mode expects Kijai's chatglm3 clip in models/clip.
Where people get burned: treating the dropdowns as if the node is loading models, and expecting a model to come out the model socket. It won't. And tag mode demands at least one reference image per scene prompt - fewer images and it raises "The number of input condition images is less than the number of scene prompts". If you're only running the SDXL story mode, you can skip this node entirely; it only becomes mandatory once you step into the repo-based and Flux modes.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| repo1 | STRING | — | |
| repo2 | STRING | — | |
| unet | COMBO | 1 options: none | |
| gguf | COMBO | 1 options: none | |
| clip1 | COMBO | 1 options: none | |
| clip2 | COMBO | 1 options: none | |
| clip_vision1 | COMBO | 1 options: none | |
| clip_vision2 | COMBO | 1 options: none | |
| lora1 | COMBO | 1 options: none | |
| lora2 | COMBO | 1 options: none | |
| controlnet | COMBO | 1 options: none | |
| special_mode | COMBO | 3 options: none, tag, glm | |
| tag_temperature | FLOAT | 0.70.1–1 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| info | STORY_CONDITIONING_1 | — |