ComfyUI Node

Loader Core

SickOllie's LoRA tester wired to your Library's ratings and history

By sickollie·Created 2 months ago·Updated 27 days ago· 30
Loader Core
    • model
    • clean_name
    • main_trigger
    • main_folder
    ◄diffusion_model▾►
    ◄weight_dtypedefault►
    ◄folder_name[All LoRA folders]►
    ◄epoch_filter[All epochs]►
    ◄main_enabledtrue►
    ◄main_loraNone►
    ◄main_strength1.00►
    ◄include_subfolderstrue►
    ◄loop_foldertrue►
    ◄control_after_generateincrement►
    ◄skip_none_during_cycletrue►
    ◄off_nameno_lora►
    ◄auto_clean_nametrue►
    ◄cleanup_rulesauto:1►
    ◄library_filter[All Library statuses]►
    ◄lora_sortName►
    ◄diffusion_control_after_generatefixed►
    ◄secondary_lora_stack[]►

    Classic Loader Core is a great test rig. Studio Loader Core (SOLoaderCoreEngineStudio) is that same rig with a memory. Where Classic cycles blindly through a folder, Studio talks to SickOllie's LoRA Library - the shared catalog stored in ComfyUI/user/SickOllie/solo_catalog.sqlite3 - so it can filter by your ratings, sort by real usage history, and let you mark LoRAs Keep, Favorite, or Reject without leaving the node. If you're testing LoRAs in bulk, this is the node you'll actually reach for.

    What's new versus Classic

    Same core mechanics: internal diffusion model load, folder-scoped primary LoRA, control_after_generate cycling (fixed/increment/decrement/randomize/shuffle), skip-None behavior, an off_name for "no LoRA," clean-name generation, and the rgthree-powered secondary LoRA stack. What Studio adds is Library awareness:

    • library_filter - narrow the active pool to ★ Favorites, ✓ Tested, or ◌ Untested / Retest, on top of your chosen folder scope
    • lora_sort - sort the pool by Name or by durable usage history (Most used / Least used / Recently used), which turns "cycle through a folder" into "cycle through what I haven't vetted yet"
    • Folder scope includes virtual pools like ★ Favorites and ◌ Untested / Retest alongside real folders
    • Rating controls live right on the main-LoRA row, with status colors: deliberate ratings take priority, tested-but-unrated files show white, untested files stay muted

    The outputs tell the Studio story: just four - model, clean_name, main_trigger, and main_folder. Everything else (raw filenames, applied LoRA list, usage history) is captured by the Library or reconstructed by Output Core's Auto Context, so you don't wire a giant metadata bundle. clean_name → Prompt Core's NAME, main_trigger → Prompt Core's TRIGGER, model → Generation Core.

    How testing works in practice

    A successful save through Output Core marks the used LoRA as tested - it does not silently rate it Keep or Favorite, which is a nice piece of discipline. Clear Rating preserves test history; only Reset All wipes use/test history. So the loop becomes: pick an untested pool, run the cycle, review results in Preview Core, rate the keepers, and let the next run skip what you've already judged.

    Installing it

    Part of the SickOllie pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/sickollie/SickOllie
    

    or ComfyUI Manager → "SickOllie". You also need rgthree-comfy installed for the secondary-LoRA chooser and model info. Restart, Ctrl+F5. The Library populates from ComfyUI's configured LoRA roots - hit Scan LoRA folders if it looks empty.

    Where people get burned

    The Library looking empty is the #1 surprise: it reads ComfyUI's LoRA roots, so files outside those roots won't be cataloged until you scan. And remember the rating buttons and the test history are separate - marking something Favorite doesn't mark it tested, and a test cycle won't quietly change your ratings. Finally, same control-after-generate caveat as Classic: the LoRA shown is the one queued for next run, so set fixed before you start tweaking the prompt on an image you like.

    CategorySick Ollie/Studio

    Inputs (18)

    NameTypeDefaultDescription
    diffusion_modelCOMBODiffusion model loaded internally before LoRAs.
    weight_dtypeCOMBOdefault4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2
    folder_nameCOMBO[All LoRA folders]Restrict the primary cycling LoRA to this folder.
    epoch_filterCOMBO[All epochs]Optionally restrict the selected folder to one detected epoch. Forms such as epoch1, epoch_1, epoch-01, and epoch 001 are grouped under the same canonical Epoch number.
    main_enabledBOOLEANtrueEnable or disable the primary LoRA.
    main_loraCOMBONonePrimary LoRA used for folder batch testing.
    main_strengthFLOAT1.00-100–100—
    include_subfoldersBOOLEANtrue—
    loop_folderBOOLEANtrue—
    control_after_generateCOMBOincrement5 options: fixed, increment, decrement, randomize, shuffle
    skip_none_during_cycleBOOLEANtrue—
    off_nameSTRINGno_lora—
    auto_clean_nameBOOLEANtrue—
    cleanup_rulesSTRINGauto:1—
    library_filterCOMBO[All Library statuses]Filter the selected real folder to Favorites, Tested, or Untested / Retest. The chosen folder scope stays active.
    lora_sortCOMBONameSort the active folder pool by name or durable Library usage history.
    diffusion_control_after_generateCOMBOfixedChoose how the diffusion model selector changes after each queued generation.
    secondary_lora_stackoptSTRING[]—

    Outputs (4)

    NameTypeDescription
    modelMODEL—
    clean_nameSTRING—
    main_triggerSTRING—
    main_folderSTRING—