Extensions/ComfyUI-Lora-Manager
ComfyUI Extension

ComfyUI-Lora-Manager

Revolutionize your workflow with the ultimate LoRA companion for ComfyUI!

By willmiao·Created 2 years ago·Updated about 14 hours ago· 1,551
willmiao/ComfyUI-Lora-Manager
Nodes21
On cloudLocal install
CategoryLora Manager/loaders, Lora Manager/hooks
Stars1,551
Updatedabout 14 hours ago

Nodes (21)

Checkpoint Loader (LoraManager)

Load a checkpoint, managed alongside your LoRAs

Lora Manager/loaders
Create Hook LoRA (LoraManager)

Stack LoRAs into ComfyUI's hook pipeline without the wiring

Lora Manager/hooks
Debug Metadata (LoraManager)

See what generation metadata the pack extracted

Lora Manager/utils
Load Image Metadata (LoraManager)

That PNG You Saved Six Months Ago Is Also a Settings File

Lora Manager/loaders
Lora Cycler (LoraManager)

Step through LoRAs one at a time across a batch

Lora Manager/randomizer
Lora Info (LoraManager)

Peek at a LoRA's filename and notes inside the graph

Lora Manager/utils
Lora Loader (LoraManager)

Apply LoRAs by pasting syntax, with trigger words attached

Lora Manager/loaders
Lora Pool (LoraManager)

Define a pool of LoRAs to draw from

Lora Manager/randomizer
Lora Randomizer (LoraManager)

Random LoRA combinations for exploration

Lora Manager/randomizer
Lora Stack Combiner (LoraManager)

Merge two LORA_STACKs into one

Lora Manager/stackers
Lora Stacker (LoraManager)

Build a LORA_STACK from the manager's library

Lora Manager/stackers
LoRA Syntax → Path (LoraManager)

Resolve LoRA syntax to real file paths

Lora Manager/utils
LoRA Text Loader (LoraManager)

Drive LoRA loading from a plain string

Lora Manager/loaders
Metadata Overwrite (LoraManager)

When ComfyUI gets your image metadata wrong, fix it by hand

Lora Manager/utils
Prompt (LoraManager)

A CLIP encoder that folds in trigger words and wildcards

Lora Manager/conditioning
Save Image (LoraManager)

Save with CivitAI-readable metadata and pattern filenames

Lora Manager/utils
Text (LoraManager)

A text box with tag autocomplete and wildcard expansion

Lora Manager/utils
TriggerWord Toggle (LoraManager)

Switch individual trigger words on and off

Lora Manager/utils
Unet Loader (LoraManager)

Load a diffusion model with fp8 options, managed

Lora Manager/loaders
WanVideo Lora Select From Text (LoraManager)

String-driven Wan LoRAs, with block control

Lora Manager/stackers
WanVideo Lora Select (LoraManager)

Feed managed LoRAs into Kijai's WanVideoWrapper

Lora Manager/stackers
Readme

ComfyUI LoRA Manager

Revolutionize your workflow with the ultimate LoRA companion for ComfyUI!

Discord Release Release Date

A comprehensive toolset that streamlines organizing, downloading, and applying LoRA models in ComfyUI. With powerful features like recipe management, checkpoint organization, and one-click workflow integration, working with models becomes faster, smoother, and significantly easier. Access the interface at: http://localhost:8188/loras

Interface Preview

📺 Tutorial: One-Click LoRA Integration

Watch this quick tutorial to learn how to use the new one-click LoRA integration feature:

One-Click LoRA Integration Tutorial

🌐 Browser Extension

Enhance your Civitai browsing experience with our companion browser extension! See which models you already have, download new ones with a single click, and manage your downloads efficiently.

LM Civitai Extension Preview

<div> <a href="https://chromewebstore.google.com/detail/lm-civitai-extension/capigligggeijgmocnaflanlbghnamgm?utm_source=item-share-cb" style="display: inline-block; background-color: #4285F4; color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px; font-weight: bold; margin: 10px 0;"> <img src="https://www.google.com/chrome/static/images/chrome-logo.svg" width="20" style="vertical-align: middle; margin-right: 8px;"> Get Extension from Chrome Web Store </a> </div> <div id="firefox-install" class="install-ok"><a href="https://github.com/willmiao/lm-civitai-extension-firefox/releases/latest/download/extension.xpi">📦 Install Firefox Extension (reviewed and verified by Mozilla)</a></div>

📚 Learn More: Complete Tutorial


🤝 Supporter Recognition

I'm incredibly grateful to everyone who has supported the development of this project. Seeing so many people value my work is the best motivation I could ask for. Your trust and support have played a vital role in shaping this tool into what it is today, and I want to personally recognize those who have helped make it possible.

<!-- SUPPORTERS-START -->

🌟 Special Thanks

dispenser, EbonEagle, DanielMagPizza, Scott R

💖 Supporters (1009)

<details> <summary>Click to view all awesome supporters</summary> <br>

2018cfh, Charles Blakemore, Rob Williams, megakirbs, Brennok, Takkan, Arlecchino Shion, Mozzel, Gingko Biloba, Insomnia Art Designs, stone9k, Rosenthal, Kiba, onesecondinosaur, Skalabananen, Polymorphic Indeterminate, Sterilized, Liam MacDougal, Marc Whiffen, Christian Byrne, DM, Sen314, Estragon, ClockDaemon, Francisco Tatis, Tobi_Swagg, SG, jmack, Andrew Wilson, Greybush, Ricky Carter, VantAI, レプサイ, Michael Wong, Illrigger, Tom Corrigan, JackieWang, FreelancerZ, fnkylove, Echo, Lilleman, Robert Stacey, PM, JORGE+LUIZ+HUSSNI+MESSIAS, jean jahren, Birdy, quarz, Reno Lam, Aleksander Wujczyk, AM Kuro, BadassArabianMofo, JSST, sig, J\B/ 8r0wns0n, Snaggwort, Juan+Wolfaardt, Baekdoosixt, Jonathan Ross, KD, Omnidex, Nolife_M, Melville Parrish, daniel dove, Lustre, Tyler Trebuchon, Release Cabrakan, JW Sin, Alex, bh, carozzz, Marlon Daniels, James Dooley, zenbound, Buzzard, Aaron Bleuer, Adam Shaw, RedrockVP, James Todd, Wicked Choices by ASLPro3D, JongWon Han, FinalyFree, Weasyl, Fyf, Timmy, Johnny, Tak, Lisster, Big Red, whudunit, Luc Job, corde, Yushio, Vik71it, Bishoujoker, Briton Heilbrun, wildnut, MiraiKuriyamaSy, Pascal Dahle, $MetaSamsara, Greg, Sangheili460, MagnaInsomnia, Akira HentAI, LarsesFPC, otaku fra, lmsupporter, andrew.tappan, N/A, wfpearl, W+K+White, Jack B Nimble, Jwk0205, Starkselle, Olive, LacesOut!, greebles, Mark Corneglio, Some Guy Named Barry, wamekukyouzin, Jacob Hoehler, DogmaR34, Matt Wenzel, Lex Song, Cory Paza, Gonzalo Andre Allendes Lopez, Serge Bekenkamp, AIJimmy, Philip Hempel, dan, aai, Todd Keck, Mouthlessman, Edgar Tejeda, ViperC, Karl P., Weird_With_A_Beard, The Spawn, wackop, Phil, graysock, Pozadine1, Qarob, AIGooner, Luc, ProtonPrince, Greenmoustache, DiffDuck, Carl G., Jackthemind, fancypants, John+Edwards, Dsperado, Joboshy, Digital, JaxMax, Bohemian Corporal, Dan, Bro Xie, seed123_AIart, batblue, carey6409, 太郎 ゲーム, Roslynd, SarcasticHashtag, Neco28, M Postkasse, David Ortega, AELOX, Dankin-Pics, Nicfit23, Cristian Vazquez, drum matthieu, Frank Nitty, The Magic Noob, Christopher Michel, DougPeterson, LeoZero, Antonio Pontes, Bruce, kushiroK9, Kevin John Duck, Dustin Chen, Blackfish95, Tori, Paul Kroll, Ran C, itismyelement, Bas Imagineer, Dušan Ryban, John Statham, Adam Taylor, decoy, elu3199, Hasturkun, Jon Sandman, Ubivis, CloudValley, thesoftwaredruid, wundershark, mr_dinosaur, Tyrswood, Ray Wing, Ranzitho, Gus, MJG, linnfrey, ae, Tr4shP4nda, griffin+dahlberg, Brian M, Josef Lanzl, New folder (1), sanborondon, Error_Rule34_Not_found, jcay015, Erik Lopez, Mateo Curić, Geolog, jinxedx, runte3221, Jamie Ogletree, dl0901dm, a _, Jeff, James Coleman, Kevin Christopher, Chad Idk, dd, Fraser Cross, Sam, sjon kreutz, Metryman55, AlexDuKaNa, zounic, Gamalonia, capn, Mirko Katzula, dan, Piccio08, kumakichi, cppbel, Moon Knight, Kland, Hailshem, Naomi Hale Danchi, epicgamer0020690, Joshua Porrata, SuBu, RedPIXel, D, truethug, yukina, ElitaSSJ4, Matt+J, Andrew, Robert Wegemund, Littlehuggy, Brian Buie, Thought2Form, Sadlip, Joey Callahan, Eris3D, Resist's Creations - Spicy Edition 🔥, Wolffen, m, Pierce McBride, Mikko Hemilä, Jacob McDaniel, X, Temikus, Artokun, nwalker94, Michael Taylor, Derek Baker, Martial, Emil Andersson, Ouro Boros, Atilla Berke Pekduyar, Decx , Ace Ventura, Joseph, ken, Crocket, keemun, Wind, Nexus, Ramneek“Guy”Ashok, squid_actually, Nat_20, Edward Weeks, kyoumei, RadStorm04, JohnDoe42054, BillyHill, emyth, KitKatM, MudkipMedkitz, deanbrian, Alex Wortman, Cody, emadsultan, InformedViewz, Bubbafett, leaf, Adam Rinehart, TheD1rtyD03, gzmzmvp, Aberr, Gregory Kozhemiak, aezin, RAIDiation, Eric Whitney, Ivan Tadic, Mike Simone, Gooohokrbe, John J Linehan, OldBones, Elliot E, Morgandel, Theerat Jiramate, Zach Gonser, SloanSteddyAI, hexxish, NICHOLAS BAXLEY, Ed Wang, Rops Alot, Penfore, Gordon Cole, Jimmy Borup, Solixer, AbstractAss, David LaVallee, socrasteeze, ResidentDeviant, Ginnie, Skyfire83, Pitpe11, moonpetal, g9p0o, Pkrsky, TheHolySheep, Monte Won, SpringBootisTrash, carsten, ikok, quantenmecha, Jason+Nash, DarkRoast, letzte, Sora+Yori, Duk3+Rand0m, Nathen+Choi, T, David Schenck, Wolfe7D1, takyamtom, elleshar666, ACTUALLY_the_Real_Willem_Dafoe, Михал Михалыч, Matt, Kauffy, FloPro4Sho, SPJ, Nick Kage, Vane Holzer, psytrax, Cyrus Fett, Steven Owens, Xenon Xue, Michael Anthony Scott, notedfakes, Michael Scott, Wes Sims, Saya, Donor4115, Xeeosat, Filippo Ferrari, yuxz69, 四糸凜音, esthe, FrxzenSnxw, chriphost, IamAyam, nanana, Dark_Pest, Eldithor, Alex, Karru, ChaChanoKo, ghoulars, null, Beau, redcarrot, powerbot99, Fthehappy, Jeff+Kesemeyer, J, Alan+Cano, FeralOpticsAI, Pavlaki, Doug+Rintoul, Noor, Yorunai, Nasty+Hobbit, Andrew Marshall, Taylor Funk, Gerald Welly, りん あめ, Tee Gee, tarek helmi, Max Marklund, Joaquin Hierrezuelo, Frogmilk, Joshua Gray, Kor, John Rednoulf, Bryan Rutkowski, Edward Kennedy, lh qwe, conner, TenaciousD, Dmitry Ryzhov, DarkSunset, Edward Ten Eyck, Princess Bright Eyes, Pete Pain, RHopkirk, jinksta187, Manu Thetug, Lyavph, Maxim, Douglas Gaspar, George, dw, Nick “Loadstone” D, WRL_SPR, momokai, 몽타주, kudari, dc7431, Inversity, Whitepinetrader, OrganicArtifact, Raku, CHKeeho80, Supporter, ExLightSaber, vinter, YaboiRay, Sildoren, Darv, Seon+Song, 2turbo, Dmitry+Viznesenskiy, tanjin90, sternenkrieger, Pascalou, lighthawke, Patrick+Bryan, low9, Winged, YassineKhaled, Y, MatteKey, Flob, ShiroSenpai, Gumbyte, Tan+Huynh, Bob+Barker, Richard, 奚明 刘, shira1011, Kalli Core, 준희 김, Ben D, G, Ronan Delevacq, Leslie Andrew Ridings, Tomohiro Baba, Dave Abraham, Locrospiel, Noora, StudOx Tech, Jarrid Lee, Poophead27 Blyat, Boba Smith, Noah, matt, somethingtosay8, Terminuz, ivistorm, Sauv, Borte, Ted Cart, Sage Himeros, Steam Steam, CryptoTraderJK, Zeeble, Davaitamin, Draconach, Nathan, tedcor, Tigon, ItsGeneralButtNaked, Fotek Design, Nacho Ferrando, Dkom22, Marcos Tortosa Carmona, Nihongasuki, MadSpin, inbijiburu, Marcus thronico, 地獄の禄, starbugx, Janik, Vir, Celestial+Kitten, bakeliteboy, TequiTequi, Homero+Banda, Nick, Monix, Trolinka, PredragR, Clauzmak, Nerick, SundayRage, matter, AZ+Party+Oasis, SRCRCOSS, Akkas+Haque, Kachac, Alex+Zaw, Rune+Osnes, PoorStudent, Inkognito, Ko-fi+Supporter, Adam+Spreer, lrdchs2, Obsidian.Studios, Zomba Mann, Aquaneo, blikkies, Tú Nguyễn Lý Hoàng, Wolf and Fox Legends, ゼクス、六, Neko Desco, Draven T, marioandluigi, Vinarus, Josh Snyder, Aquatic Coffee, Room Light, yves.poezevara, Joseph Hanson, Focuschannel, Snorklebort, TheFusion, 3zS4QNQ4, Matt M., Ivan Imes, J M, Anthony Faxlandez, Slacks, Homero Banda, yyuvuvu, Nomki, Pat Hen, SkibidiRizzler, Never_M, Jack Lawfield, Kalle Björk, Jordan Shaw, Distortik, JC, Prompt Pirate, uwutismxd, zenobeus, Mitchell Robson, ryoma, dg, Stryker, smart.edge5178, Menard, SomeDude, raf8osz, BG, plonk, Kotetsu, meatyalien, Tony+V, Anvil+Girl, draganjankovic1975dj528, kinz, YoruHime, Mark+Staaf, Anthony+Rizzo, Michael+Fürmann, Aether, JACKY, Otokomyouri+, d, Jasper, megameganck, thomasand01, Shiba+Sama, Gold_miner_ego, imer, Kevin+Isom, Mobius2020, boston666, cocona, Welkor, Dustin Hendel, JBsuede, Liberation, Elemnt, Shock Shockor, Bradley Turner, Goldwaters, swra, JollRodrigo, Zude, uruksayshi, Patryk Serious, nk8, Kyler, Nimhloth, Justin Blaylock, aRtFuL_DodGeR, Tsani Prodanov, MR.Bear, Myrthrac, Taylor Dominy, Glenn Hoetker, Steven, Khánh Đặng, Michael Hicks, Billy Gladky, MadGod, Probis, Maxon - Plans, Rudeff VonRod, Karlanx, operationancut, deadwishd, Youguang, TheJohnes, andrewzpong, BossGame, lrdchs, Tree Tagger, AIVORY3D, Kevinj, POPPIN, YireKim, Daevalus, Milky+Mai, PP, tortor, belligerencebk, Peter, T, zipzorpp, Anton, actual, eddy, Neko1967, sniff, badnews, AIBot, Darren+Brown, Nick, kluu324, echo, MackeMan, conkisdonkis, Lorabitch, 21omen, NopeNahGoodTy, IshouI;;, SAVEagleBasement, BillyBoy84, Buecyb99, dubious1one, Brandon Thomas, Civitaier, BakunyuuWaifu, moranqianlong, Ninja Tom, Anagra Nouma, tafapayo, Oliverfish, GJT, Manuel Reyes, FinoRulez, CHEL_C, Kyron Mahan, Mythspire, Caleb Larson, Justin Defer, TBitz33, Anonym dkjglfleeoeldldldlkf, dsffsdfsdfsdfsdfsdf, V Bj, Ezokewn, Rj Joplin, SendingRavens, Faith, Michael Docherty, Sunny, GhostyGhost, Paul Hartsuyker, elitassj, Jacob Winter, Somebody, Andrew Wilkinson, David, floeki75pad, Digitalzombie, Evgeniya Smolentseva, OniNoKen, shinonomeiro, Snille, MaartenAlbers, khanh duy, xybrightsummer, jreedatchison, PhilW, Cruel, MRBlack, Kiyoe, humptynutz, michael.isaza, Kalnei, Scott, Muratoraccio, D, JstDrwIt, Sumoninja, FrostByte404, mcmalt, cesasol, Null, fdfac, 8/4, ivan.morgado.siles, SEI, 미킹+말, Charles+Missildine, heycloudy, gdfgfdgfds, BlackVortex, Benjamin+Doerr, D, yukina, Krash, thababydjac, miduzza, Somebody, てぃんてぃんひーろー, you+halo9, cloudghost, Yongkwan+Lee, lucites, nickname, eriick, Lev+Lanevskiy, Jacky+Ho, generic404, abattoirblues, zounik, 4IXplr0r3r, hayden, ahoystan, Tim, edk, Super Sigma Reborne, Veloce, Joey Leto, Vincent, ja s, Doug Mason, beltaloth, scoreswazey, Beuhwtf, Owen Gwosdz, Xae Phiel, Smokey Jesus, ThreadingReality, Gentle Sartori, David Murcko, Jacid, Ben Brogger, Jack Dole, Kurt, fal, max blo, Bouya shaka, Maso, sbone, BigBoss, nick Meadows, Cjarasa, Kevin Wallace, Supporter, ChicRic, Bastard-Sama, mercur, inusanorthcape, Kane Sturzebecher, Yavizu3d, Yves Poezevara, Teriak47, Just me, Raf Stahelin, Вячеслав Маринин, Cola Matthew, Neutrem, Ratatosk, Mehdi Sekkaï, Iain Wisely, Zertens, NOHOW, Apo, nekotxt, choowkee, Clusters, ibrahim, Highlandrise, philcoraz, mztn, ImagineerNL, MrAcrtosSursus, al300680, pixl, Robin, chahknoir, nd, keno94d, James Melzer, Bartleby, Renvertere, Rahuy, Hermann003, D, Foolish, RevyHiep, Captain_Swag, obkircher, gwyar, ResidentDeviant, D, edgecase, Neoxena, mrmhalo, Maarten Harms, Israel, SelfishMedic, adderleighn, EnragedAntelope, Zatara, LetitiaDominica, MicroPy, Somebody, jmartindale85, remmy, JayOh, TheKoalaWolf, jochst, Lazarus, Hope, km69, mmmrko, ms411, HamAi, issaqua, spooke, Norn+, Xynnyx, Rowaeca, tenser, EllipsesMark, Dirk+Mueller, D3aty, Somebody, (ᵕ+˶•́﹏•̀˶+), Brian+Harvey, Eita, Somebody, Lars+Christian+Nygård, Cryphius, Connor+Hall, Macho+Grump, Morcoddd, fazefour33, MrSEIGE88, yarsev, Somebody, KB, shw, Jim, JoL, Srdb, jcx29, Drizzly, Nebuleux, Join+Chun, GDS+DEV, 4rt+r3d, Somebody, Somebody, Crescent~San, AiGirlTS, datasl4ve, Somebody, koopa990, The+Forgetful+Dev, Mateusz+Kosela, Bula, KUJYAKU, Coeur+de+cochon, han b, Mysil, Deni, Nico, Maximilian Krischan, socialcat, proto merp, _ G3n, Donovan Jenkins, Hans Meier, jboul, Michael Eid, Maumau2100, Bob barker, Lazumo, Even, Michael Rivera, karim ben brik, Hunter13294, Michael Zhu, Nemisu, Seraphy, 雨の心 落, AllTimeNoobie, jumpd, John C, CrowsComb21, シア アナスタ, Rim, Daniel Bennett, yfx507, Jairus Knudsen, Xan Dionysus, Mario Cano, Nathan lee, DafmanD2, Middo, Gary Chaboya, forbiddenatelierofficial, Thomas Sankowski, wknight, Moneymaker412K, unkeiknown, Towelie, SSOPROX, Alex Ross, Jean-françois SEMA, Tomi Arola, Charles Gibson, Andrew Ly, Eric Ulbrich, Knives909, jimyjomson, JaeHyun Jang, Chase Kwon, Drew B, Bob Ling, Inyoshu, Chad Barnes, redlines3, Adam Gardner, James Ming, vanditking, kripitonga, Rizzi, nimin, OMAR LUCIANO, nickneeme, Somebody, Somebody, Somebody, Somebody, CoffeeMage, Ken+Suzuki, hannibal, Jo+Example, BrentBertram, eumelzocker, dxjaymz, L C, Dude, Somebody, CK

</details> <!-- SUPPORTERS-END -->

⚠ Important Note: To use the CivitAI download feature, you'll need to:

  1. Get your CivitAI API key from your profile settings
  2. Add it to the LoRA Manager settings page
  3. Save the settings

Key Features

  • 🚀 High Performance

    • Fast model loading and browsing
    • Smooth scrolling through large collections
  • 🌐 Rich Model Integration

    • Direct download from CivitAI
    • Preview images and videos
    • Model descriptions and version selection
    • Trigger words at a glance
    • One-click workflow integration with preset values
  • 🔄 Checkpoint Management

    • Scan and organize checkpoint models
    • Filter and search your collection
    • View and edit metadata
    • Clean up and manage disk space
  • 🧩 LoRA Recipes

    • Save and share favorite LoRA combinations
    • Preserve generation parameters for future reference
    • Quick application to workflows
    • Import/export functionality for community sharing
  • 💻 User Friendly

    • One-click access from ComfyUI menu
    • Context menu for quick actions
    • Custom notes and usage tips
    • Multi-folder support
    • Configurable mature blur threshold (PG13 / R / X / XXX, default R+)
      • Example: setting threshold to PG13 blurs PG13, R, X, and XXX previews when blur is enabled
    • Visual progress indicators during initialization

Installation

Option 1: ComfyUI Manager (Recommended for ComfyUI users)

  1. Open ComfyUI.
  2. Go to Manager > Custom Node Manager.
  3. Search for lora-manager.
  4. Click Install.

Option 2: Portable Standalone Edition (No ComfyUI required)

  1. Download the Portable Package
  2. Copy the provided settings.json.example file to create a new file named settings.json in comfyui-lora-manager folder.
  3. Edit the new settings.json to include your correct model folder paths and CivitAI API key
    • Set "use_portable_settings": true if you want the configuration to remain inside the repository folder instead of your user settings directory.
  4. Run run.bat
    • To change the startup port, edit run.bat and modify the parameter (e.g. --port 9001)

Option 3: Manual Installation

git clone https://github.com/willmiao/ComfyUI-Lora-Manager.git
cd ComfyUI-Lora-Manager
pip install -r requirements.txt

Usage

  1. There are two ways to access the LoRA manager:
    • Click the "Launch LoRA Manager" button in the ComfyUI menu
    • Visit http://localhost:8188/loras directly
  2. From the interface, you can:
    • Browse and organize your LoRA models
    • Download models directly from CivitAI
    • Automatically fetch or manually set preview images
    • View and copy trigger words associated with each LoRA
    • Add personal notes and usage tips
  3. To use LoRAs in your workflow:
    • Add the "Lora Loader (LoraManager)" node to your workflow
    • Select a LoRA in the manager interface
    • Click copy button or use right-click menu "Copy LoRA syntax"
    • Paste into the Lora Loader node's text input
    • The node will automatically apply preset strength and trigger words

Wildcards for TextLM / PromptLM

Text (LoraManager) and Prompt (LoraManager) support /wildcard autocomplete plus runtime wildcard expansion.

  • Wildcard files live in {settings folder}/wildcards/
  • When you type /wildcard and no wildcard files exist yet, the autocomplete dropdown shows the exact folder path and lets you open it
  • Supported formats: .txt, .yaml, .yml, .json

Format rules:

  • wildcards/animals/cat.txt becomes __animals/cat__
  • .txt files use one option per line
  • YAML / JSON files use nested keys that end in string arrays

Examples:

# wildcards/color.txt
red
blue
green

Use it as __color__.

# wildcards/colors.yaml
palette:
  warm:
    - red
    - orange

Use it as __palette/warm__.

Filename Format Patterns for Save Image Node

The Save Image Node supports dynamic filename generation using pattern codes. You can customize how your images are named using the following format patterns:

Available Pattern Codes

Cross-Node Placeholders (ComfyUI Standard)
  • %NodeTitle.WidgetName% - Reference any widget value from any node in your workflow, for example:
    • %KSampler.seed% - The seed from a KSampler node
    • %Empty Latent Image.width% - The width from an Empty Latent Image node
    • %KSampler.steps% - The steps value from a KSampler node
    • Nodes are matched by their "Node name for S&R" property, then by their title
Generation Metadata Placeholders (LoRA Manager)
  • %seed% - Inserts the generation seed number
  • %width% - Inserts the image width
  • %height% - Inserts the image height
  • %pprompt:N% - Inserts the positive prompt (limited to N characters)
  • %nprompt:N% - Inserts the negative prompt (limited to N characters)
  • %model:N% - Inserts the model/checkpoint name (limited to N characters)
Date/Time Placeholders
  • %date% - Inserts current date/time as "yyyyMMddhhmmss"
  • %date:FORMAT% - Inserts date using custom format with:
    • yyyy - 4-digit year
    • yy - 2-digit year
    • MM - 2-digit month
    • dd - 2-digit day
    • hh - 2-digit hour
    • mm - 2-digit minute
    • ss - 2-digit second

Examples

  • image_%seed% → image_1234567890
  • gen_%width%x%height% → gen_512x768
  • %model:10%_%seed% → dreamshape_1234567890
  • %date:yyyy-MM-dd% → 2025-04-28
  • %pprompt:20%_%seed% → beautiful landscape_1234567890
  • %model%_%date:yyMMdd%_%seed% → dreamshaper_v8_250428_1234567890
  • %KSampler.seed% → 1234567890 (resolved from the KSampler node's widget)
  • %Empty Latent Image.width%x%Empty Latent Image.height% → 512x768
  • %KSampler.seed%_%KSampler.steps% → 1234567890_25

You can combine multiple patterns to create detailed, organized filenames for your generated images. Cross-node and metadata placeholders can be mixed freely — for example: %KSampler.seed%_%model%_%date:yyyyMMdd%.

Organizing Images into Subdirectories

Including a path separator (/ on all platforms) in the filename prefix creates subdirectories automatically, which is especially powerful when combined with placeholders:

| Pattern | Result | |---|---| | %date:yyyy-MM-dd%/%seed% | Saves to 2025-04-28/1234567890.png | | %model%/%date:yyMMdd%_%seed% | Saves to dreamshaper_v8/250428_1234567890.png | | %KSampler.seed%/%model% | Saves to 1234567890/dreamshaper_v8.png | | %date:yyyy/MM/dd%/%seed% | Saves to 2025/04/28/1234567890.png (nested year/month/day) | | %model%/training/%seed% | Saves to dreamshaper_v8/training/1234567890.png |

Note: The subdirectory is created relative to your ComfyUI output directory (configurable via --output-directory). Characters invalid for folder names are automatically replaced with underscores.

Standalone Mode

You can now run LoRA Manager independently from ComfyUI:

  1. For ComfyUI users:

    • Launch ComfyUI with LoRA Manager at least once to initialize the necessary path information in the settings.json file located in your user settings folder (see paths above).
    • Make sure dependencies are installed: pip install -r requirements.txt
    • From your ComfyUI root directory, run:
      python custom_nodes\comfyui-lora-manager\standalone.py
      
    • Access the interface at: http://localhost:8188/loras
    • You can specify a different host or port with arguments:
      python custom_nodes\comfyui-lora-manager\standalone.py --host 127.0.0.1 --port 9000
      
  2. For non-ComfyUI users:

    • Copy the provided settings.json.example file to create a new file named settings.json. Update the API key, optional language, and folder paths only—the library registry is created automatically when LoRA Manager starts.
    • Edit settings.json to include your correct model folder paths and CivitAI API key (you can leave the defaults until ready to configure them)
    • Enable portable mode by setting "use_portable_settings": true if you prefer LoRA Manager to read and write the settings.json located in the project directory.
    • Install required dependencies: pip install -r requirements.txt
    • Run standalone mode:
      python standalone.py
      
    • Access the interface through your browser at: http://localhost:8188/loras

    Note: Existing installations automatically migrate the legacy settings.json from the plugin folder to the user settings directory the first time you launch this version.

Other Model Folders (Optional)

Besides LoRAs, checkpoints, and embeddings, LoRA Manager can optionally manage other model types — VAE, upscale models, text encoders, CLIP vision, and ControlNet. This feature is opt-in: enable it from Settings → Library → Other Models Management, or by setting "enable_other_models": true in settings.json.

When running as a ComfyUI plugin, these folders are picked up automatically from your ComfyUI folder configuration (including extra_model_paths.yaml) — no extra setup needed.

In standalone mode, add the corresponding keys to folder_paths in your settings.json (only the ones you want to manage):

{
  "enable_other_models": true,
  "folder_paths": {
    "loras": ["C:/path/to/your/loras_folder"],
    "checkpoints": ["C:/path/to/your/checkpoints_folder"],
    "unet": ["C:/path/to/your/diffusion_models_folder"],
    "embeddings": ["C:/path/to/your/embeddings_folder"],
    "vae": ["C:/path/to/your/vae_folder"],
    "upscale_models": ["C:/path/to/your/upscale_models_folder"],
    "text_encoders": ["C:/path/to/your/text_encoders_folder"],
    "clip_vision": ["C:/path/to/your/clip_vision_folder"],
    "controlnet": ["C:/path/to/your/controlnet_folder"]
  }
}

Available folder keys: vae, upscale_models, text_encoders (legacy alias: clip), clip_vision, controlnet. To manage only some of these types, toggle them under Settings → Library, or set "enabled_other_sub_types" explicitly, e.g. "enabled_other_sub_types": ["vae", "upscaler", "text_encoder"] (the default; add "clip_vision" and/or "controlnet" to manage those too). Restart standalone mode after editing settings.json.

This standalone mode provides a lightweight option for managing your model and recipe collection without needing to run the full ComfyUI environment, making it useful even for users who primarily use other stable diffusion interfaces.

Testing & Coverage

Backend

Install the development dependencies and run pytest with coverage reports:

pip install -r requirements-dev.txt
COVERAGE_FILE=coverage/backend/.coverage pytest \
  --cov=py \
  --cov=standalone \
  --cov-report=term-missing \
  --cov-report=html:coverage/backend/html \
  --cov-report=xml:coverage/backend/coverage.xml \
  --cov-report=json:coverage/backend/coverage.json

HTML, XML, and JSON artifacts are stored under coverage/backend/ so you can inspect hot spots locally or from CI artifacts.

Frontend

Run the Vitest coverage suite to analyze widget hot spots:

npm run test:coverage

Documentation

  • metadata.json Schema Documentation — Complete reference for the .metadata.json sidecar file format, including all fields, types, and examples for LoRA, Checkpoint, and Embedding models.

Contributing

Thank you for your interest in contributing to ComfyUI LoRA Manager! As this project is currently in its early stages and undergoing rapid development and refactoring, we are temporarily not accepting pull requests.

However, your feedback and ideas are extremely valuable to us:

  • Please feel free to open issues for any bugs you encounter
  • Submit feature requests through GitHub issues
  • Share your suggestions for improvements

We appreciate your understanding and look forward to potentially accepting code contributions once the project architecture stabilizes.


Credits

This project has been inspired by and benefited from other excellent ComfyUI extensions:


☕ Support

If you find this project helpful, consider supporting its development:

ko-fi

Patreon

WeChat: Click to view QR code

💬 Community

Join our Discord community for support, discussions, and updates: Discord Server