sn0w-scripts
A collection of nodes and improvements created for general ease and lora management. These are just nodes I made and found useful, they should work with most other nodes. Most nodes that take in a prompt are made with booru tags in mind and might not work as expected with other prompts.
Get Started
Install
- Install ComfyUi.
- Clone this repo into
custom_nodes:git clone https://github.com/sn0w12/ComfyUI-Sn0w-Scripts - Start up ComfyUI.
Configuration
In the ComfyUI settings, you can modify various settings. Some changes will apply immediately, while others require a refresh to take effect.
Important Note
The custom lora loaders require these paths to be in your extra_model_paths.yaml (with your real directories of course). You only need to add the ones you are actively using.
loras:
base_path: D:/Ai/Lora/loras
loras_xl: /XL # SDXL
loras_15: /1.5 # SD1.5
loras_3: /3 # SD3
Major Features
Lora Management
A major focus for me was making loras more manageable by letting users create their own lora loaders with specific folder paths and automatically loading loras based on tags. This makes it a lot easier to look through your loras, although also limits what loras you can use depending on your configuration. The custom lora loaders are configured in the ComfyUI settings and should look like this:
ExampleName1:Value1
You can also make it a lora stack by adding a number to the end:
Styles XL:style:2
Favourite Loras & Characters
The custom lora loaders and the character selecter let you favourite loras and characters that are always at the top of the loaders. The favourite loras are across all your custom lora loaders and the normal lora loader, however the normal one is not sorted correctly.
Sigmoid Scheduler
A custom scheduler that generally produces similar quality results as most other schedulers in my testing. However it works very poorly at low steps which may be an issue for some.
Sigmoid vs Align your steps
Comparisons
Images generated at 20 steps, 8 cfg, 1152 x 896, no upscaling.
Sigmoid settings at 20 sigma max, 0 sigma min, 3.5 steepness and 0.8 midpoint ratio.(score_9, score_8_up, score_7_up, score_6_up, source_anime, BREAK:1.1), 1girl, lips, long hair, grey eyes, black coat, medium breasts, cowboy shot, black robe, gold jewelry, looking at viewer, simple background, solo, white background, closed mouth, arms behind back, (red hair, dress, long dress, robe, white dress, gold trim:1.1)(power \(chainsaw man\), chainsaw man:1.1), blonde hair, cross-shaped pupils, demon girl, demon horns, double-parted bangs, hair between eyes, long hair, red horns, symbol-shaped pupils, yellow eyes, 1girl, black necktie, black pants, collared shirt, double v, looking at viewer, necktie, orange eyes, pants, parted lips, red background, red jacket, sharp teeth, shirt partially tucked in, shirt tucked in, simple background, sleeves past wrists, smile, solo, teeth, v, white shirt, (score_9, score_8_up, score_7_up, score_6_up, source_anime, BREAK:1.1)(score_9, score_8_up, score_7_up, score_6_up, source_anime, BREAK:1.1), (makima \(chainsaw man\), chainsaw man:1.1), hair between eyes, long hair, medium breasts, red hair, ringed eyes, yellow eyes, 1836547, 1girl, @ \(symbol\), black necktie, braided ponytail, business suit, collared shirt, formal, light smile, looking at viewer, necktie, office lady, sidelocks, simple background, smile, solo, suit, white shirt(score_9, score_8_up, score_7_up, score_6_up, source_anime, BREAK:1.1), (makima \(chainsaw man\), chainsaw man:1.1), hair between eyes, long hair, medium breasts, red hair, ringed eyes, yellow eyes, 1girl, black jacket, black necktie, black pants, black vest, closed eyes, collared shirt, formal, necktie, pants, shirt tucked in, simple background, sitting, solo, suit jacket, vest, white background, white shirt
Sigmoid graph
Nodes
Image Processing
Nodes that are specifically for generating and processing images.
Simple Sampler Custom
Ksampler with more settings and optional inputs. Support for custom schedulers
ℹ️ See More Information
- Can take both text and conditioning as positive and negative input.
- Can take a latent image or can generate one if none is provided.
- Supports schedulers such as align your steps, you can also create your own scheduler in
src/custom_schedulers/, make sure to follow the example provided inget_sigmas_sigmoid.py.- You can also just get the sigmas from any of the scheduler nodes and drag them into
sigmas (optional), if you do the scheduler widget will not be used.
Lora Tester
Automatically generates X amount of images with provided loras.
Lora Management
Nodes that handle lora selection, stacking, and loading.
Load Lora Sn0w
Normal load lora but from another folder.
Load Lora Folder
Dynamically applies Lora models based on similarity to a provided prompt.
ℹ️ See More Information
- This node processes a given prompt to identify and apply the most similar Lora models of the tags found in the prompt.
- For each part of the prompt, the node calculates a distance between tags and available Lora model filenames. The max distance can be chosen in the settings.
- Example folder input:
*master_folder, subfolder1:3, -excludefolder, subfolder2
*master_folderspecifies all paths must includemaster_folder.subfolder1:3indicates up to 3 models fromsubfolder1can be loaded.-excludefolderensures any path containingexcludefolderis ignored.subfolder2loads models from this subfolder without a numeric limit.- Note: You need the loras separated into XL and 1.5 as stated in the
Important Note.- Note: Loras need to be named very similarly to the tag, with at most 5 characters different. Words in the lora filename can be separated by spaces or underscores.
Lora Selector
Automatically selects X amount of loras between two numbers.
ℹ️ See More Information
- Loras have to be formatted like the default kohya_ss outputs. (lora_name-000001)
- Select the first lora.
- Select the number of the highest lora you want to test.
- Select the amount of loras you want to test.
- Outputs list of loras like this: <lora:name:strength>
- Add default generation adds an extra "nothing" at the end of the list, used in Lora Tester to generate an image without the lora.
Lora Stacker
Outputs a list of loras for Lora Tester. Does not load any loras by itself.
Character and Text Processing
Nodes for selecting and combining character and textual elements.
Character Selector
Outputs a character name and prompt.
ℹ️ See More Information
- Loads
characters.jsonand outputs prompt based on it.- You can create a file named
custom_characters.jsonand add characters there if you want, they will be loaded with all the other characters if you format it like thecharacters.jsonfile.- If
custom_characters.jsonhas a character with the same name ascharacters.jsonit will add the custom prompt at the end of the normal one, this can be useful if you have loras that need activation tags.
Prompt Combine
Combines multiple strings with a specified separator and optionally simplifies the result by removing redundant or incompatible tags.
ℹ️ See More Information
- If simplify is enabled, the simplification process identifies and removes redundant tags (e.g., when a tag is fully encompassed by another, more descriptive tag) and tags incompatible with factors such as facing away, covered eyes, etc. Any tags that are in parentheses will not be removed.
Utility Nodes
Nodes that provide utility functions across the system.
Get Font Size Node
Estimates the optimal font size for text to fit within an image based on Lora information.
Copy/Paste Textbox
A multiline textbox with copy and paste functionality
Filter Tags
Filters a string to only returns tags that have to do with a chosen category.
Example Workflows
Lora Tester
Note: Uses ImagesGrid for making the actual grid from the image output.


















