ComfyUI/extra_paths.yaml.example
cest-la-v feee1c7a85 feat(extra-paths): introduce extra_paths.yaml with full path configuration
Replace the model-only extra_model_paths.yaml with a more generic
extra_paths.yaml that covers all ComfyUI path configuration in one file.

New schema (nested style):
  comfyui:
    base_path: /path/to/comfyui/    # install root
    output: output/                  # → set_output_directory()
    input: input/
    temp: temp/
    user: user/
    custom_nodes: custom_nodes/      # explicit only, never auto-scanned
    models:
      base_path: models/             # model root, relative to parent base_path
      is_default: true
      checkpoints: checkpoints/      # or omit all categories to auto-scan

Key changes:
- System directory keys (output/input/temp/user) call set_*_directory()
- models: sub-block separates model paths from install-root paths; base_path
  at block root = install root; models/base_path = model root
- custom_nodes never auto-registered by implicit scan (fixes CodeRabbit #13560)
- Flat style fully preserved for backward compat with extra_model_paths.yaml
- extra_paths.yaml loaded first; deprecation warning logged if both present
- extra_paths.yaml.example covers all 22 model categories with preset paths
- extra_model_paths.yaml.example gains a deprecation note
2026-04-26 14:54:10 +08:00

85 lines
2.9 KiB
Plaintext

#Rename this to extra_paths.yaml and ComfyUI will load it
#This is the successor to extra_model_paths.yaml and supports all path configuration in one file.
#config for comfyui
#Set base_path to your ComfyUI install root. System directories (output, input, temp, user)
#and custom_nodes are resolved relative to base_path.
#
#Model paths go under the 'models' block. If you only set models/base_path, all standard
#subdirectories that exist on disk are automatically registered — no need to list them.
#Explicit paths under models/ are optional and only needed to override a specific category
#or point it to a non-standard location.
#comfyui:
# base_path: path/to/comfyui/
# # System directories (relative to base_path, or absolute)
# output: output/
# input: input/
# temp: temp/
# user: user/
# # Custom nodes directory (not auto-scanned; explicit only)
# custom_nodes: custom_nodes/
# models:
# base_path: models/
# # You can use is_default to mark that these folders should be listed first,
# # and used as the default dirs for eg downloads
# #is_default: true
# checkpoints: checkpoints/
# text_encoders: |
# text_encoders/
# clip/ # legacy location still supported
# clip_vision: clip_vision/
# configs: configs/
# controlnet: |
# controlnet/
# t2i_adapter/
# diffusion_models: |
# diffusion_models/
# unet/
# diffusers: diffusers/
# embeddings: embeddings/
# frame_interpolation: frame_interpolation/
# gligen: gligen/
# hypernetworks: hypernetworks/
# latent_upscale_models: latent_upscale_models/
# loras: loras/
# model_patches: model_patches/
# photomaker: photomaker/
# style_models: style_models/
# upscale_models: upscale_models/
# vae: vae/
# vae_approx: vae_approx/
# audio_encoders: audio_encoders/
# classifiers: classifiers/
#config for a1111 ui
#all you have to do is uncomment this (remove the #) and change the base_path to where yours is installed
#a111:
# models:
# base_path: path/to/stable-diffusion-webui/
# checkpoints: models/Stable-diffusion
# configs: models/Stable-diffusion
# vae: models/VAE
# loras: |
# models/Lora
# models/LyCORIS
# upscale_models: |
# models/ESRGAN
# models/RealESRGAN
# models/SwinIR
# embeddings: embeddings
# hypernetworks: models/hypernetworks
# controlnet: models/ControlNet
# For a full list of supported model category keys (style_models, vae_approx, hypernetworks,
# photomaker, model_patches, audio_encoders, classifiers, etc.) see folder_paths.py.
#other_ui:
# models:
# base_path: path/to/ui
# checkpoints: models/checkpoints
# gligen: models/gligen