Expand the "extra_model_paths" to include other folders
- Dominant language
- Python
- Stars
- 133k
- Forks
- 15.7k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 158
Description
### Feature Idea
The "extra_model_paths" method is a great idea for many reasons. The problem is it's only limited to models and the /models folder.
This feature requests that this be expanded to allow for other folders as dictated by the user. In my use case, the input and output and workflows (user/default/workflows) but other folders could be included also.
### Existing Solutions
My existing solution is to use the Windows feature "symlinks". So all my models, workflows (user/default/workflows), output and input can live outside of ComfyUI's currently installed folder.
IE:
A:/models symlinks to A:/ComfyUIv1.20/models and A:/ComfyUIv1.23/models
A:/input => A:/ComfyUIv1.20/input and A:/ComfyUIv1.23/input
A:/output => A:/ComfyUIv1.20/output and A:/ComfyUIv1.23/output
### Other
Reasons why we need to reference other folders besides "/models":
Many of us have different ComfyUI versions, for whatever reason ie: a certain version worked better in a certain situation, so maybe we have A:/ComfyUI_latest and A:/ComfyUIv0.15.0 or A:/ComfyUI_business and A:/ComfyUI_personal. Whenever anything gets messed up, such as installing certain nodes, and our configuration gets so messed up, it's easier to just install a fresh version of the base Comfy files, ie: main.py, server.py, etc and having to move over thousands of files from /input and /output is a huge hassle and time sink. All the same reasons we wouldn't want to have multiple models in various folders, there is almost always a benefit to having it in one source of truth, ie: A:/whateverfolder
Thanks.
Contributor guide
Research direction
Start by locating the existing extra_model_paths method and inspect the path handling around main.py and server.py. Define how user-specified input, output, and workflows folders should be configured, then verify those folders work without symlinks across the requested use cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100