const.py 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. import os
  2. from typing import List
  3. INSTRUCT_PIX2PIX_NAME = "timbrooks/instruct-pix2pix"
  4. KANDINSKY22_NAME = "kandinsky-community/kandinsky-2-2-decoder-inpaint"
  5. POWERPAINT_NAME = "Sanster/PowerPaint-V1-stable-diffusion-inpainting"
  6. ANYTEXT_NAME = "Sanster/AnyText"
  7. DIFFUSERS_SD_CLASS_NAME = "StableDiffusionPipeline"
  8. DIFFUSERS_SD_INPAINT_CLASS_NAME = "StableDiffusionInpaintPipeline"
  9. DIFFUSERS_SDXL_CLASS_NAME = "StableDiffusionXLPipeline"
  10. DIFFUSERS_SDXL_INPAINT_CLASS_NAME = "StableDiffusionXLInpaintPipeline"
  11. MPS_UNSUPPORT_MODELS = [
  12. # "lama",
  13. "ldm",
  14. "zits",
  15. "mat",
  16. "fcf",
  17. "cv2",
  18. "manga",
  19. ]
  20. DEFAULT_MODEL = "lama"
  21. AVAILABLE_MODELS = ["lama", "ldm", "zits", "mat", "fcf", "manga", "cv2", "migan"]
  22. DIFFUSION_MODELS = [
  23. "runwayml/stable-diffusion-inpainting",
  24. "Uminosachi/realisticVisionV51_v51VAE-inpainting",
  25. "redstonehero/dreamshaper-inpainting",
  26. "Sanster/anything-4.0-inpainting",
  27. "diffusers/stable-diffusion-xl-1.0-inpainting-0.1",
  28. "Fantasy-Studio/Paint-by-Example",
  29. "RunDiffusion/Juggernaut-XI-v11",
  30. "SG161222/RealVisXL_V5.0",
  31. "eienmojiki/Anything-XL",
  32. POWERPAINT_NAME,
  33. ANYTEXT_NAME,
  34. ]
  35. NO_HALF_HELP = """
  36. Using full precision(fp32) model.
  37. If your diffusion model generate result is always black or green, use this argument.
  38. """
  39. CPU_OFFLOAD_HELP = """
  40. Offloads diffusion model's weight to CPU RAM, significantly reducing vRAM usage.
  41. """
  42. LOW_MEM_HELP = "Enable attention slicing and vae tiling to save memory."
  43. DISABLE_NSFW_HELP = """
  44. Disable NSFW checker for diffusion model.
  45. """
  46. CPU_TEXTENCODER_HELP = """
  47. Run diffusion models text encoder on CPU to reduce vRAM usage.
  48. """
  49. SD_CONTROLNET_CHOICES: List[str] = [
  50. "lllyasviel/control_v11p_sd15_canny",
  51. # "lllyasviel/control_v11p_sd15_seg",
  52. "lllyasviel/control_v11p_sd15_openpose",
  53. "lllyasviel/control_v11p_sd15_inpaint",
  54. "lllyasviel/control_v11f1p_sd15_depth",
  55. ]
  56. SD_BRUSHNET_CHOICES: List[str] = [
  57. "Sanster/brushnet_random_mask",
  58. "Sanster/brushnet_segmentation_mask",
  59. ]
  60. SD2_CONTROLNET_CHOICES = [
  61. "thibaud/controlnet-sd21-canny-diffusers",
  62. "thibaud/controlnet-sd21-depth-diffusers",
  63. "thibaud/controlnet-sd21-openpose-diffusers",
  64. ]
  65. SDXL_CONTROLNET_CHOICES = [
  66. "thibaud/controlnet-openpose-sdxl-1.0",
  67. "destitech/controlnet-inpaint-dreamer-sdxl",
  68. "diffusers/controlnet-canny-sdxl-1.0",
  69. "diffusers/controlnet-canny-sdxl-1.0-mid",
  70. "diffusers/controlnet-canny-sdxl-1.0-small",
  71. "diffusers/controlnet-depth-sdxl-1.0",
  72. "diffusers/controlnet-depth-sdxl-1.0-mid",
  73. "diffusers/controlnet-depth-sdxl-1.0-small",
  74. ]
  75. SDXL_BRUSHNET_CHOICES = ["Regulus0725/random_mask_brushnet_ckpt_sdxl_regulus_v1"]
  76. LOCAL_FILES_ONLY_HELP = """
  77. When loading diffusion models, using local files only, not connect to HuggingFace server.
  78. """
  79. DEFAULT_MODEL_DIR = os.path.abspath(
  80. os.getenv("XDG_CACHE_HOME", os.path.join(os.path.expanduser("~"), ".cache"))
  81. )
  82. MODEL_DIR_HELP = f"""
  83. Model download directory (by setting XDG_CACHE_HOME environment variable), by default model download to {DEFAULT_MODEL_DIR}
  84. """
  85. OUTPUT_DIR_HELP = """
  86. Result images will be saved to output directory automatically.
  87. """
  88. MASK_DIR_HELP = """
  89. You can view masks in FileManager
  90. """
  91. INPUT_HELP = """
  92. If input is image, it will be loaded by default.
  93. If input is directory, you can browse and select image in file manager.
  94. """
  95. GUI_HELP = """
  96. Launch Lama Cleaner as desktop app
  97. """
  98. QUALITY_HELP = """
  99. Quality of image encoding, 0-100. Default is 95, higher quality will generate larger file size.
  100. """
  101. INTERACTIVE_SEG_HELP = "Enable interactive segmentation using Segment Anything."
  102. INTERACTIVE_SEG_MODEL_HELP = "Model size: mobile_sam < vit_b < vit_l < vit_h. Bigger model size means better segmentation but slower speed."
  103. REMOVE_BG_HELP = "Enable remove background plugin."
  104. REMOVE_BG_DEVICE_HELP = "Device for remove background plugin. 'cuda' only supports briaai models(briaai/RMBG-1.4 and briaai/RMBG-2.0)"
  105. ANIMESEG_HELP = "Enable anime segmentation plugin. Always run on CPU"
  106. REALESRGAN_HELP = "Enable realesrgan super resolution"
  107. GFPGAN_HELP = "Enable GFPGAN face restore. To also enhance background, use with --enable-realesrgan"
  108. RESTOREFORMER_HELP = "Enable RestoreFormer face restore. To also enhance background, use with --enable-realesrgan"
  109. GIF_HELP = "Enable GIF plugin. Make GIF to compare original and cleaned image"
  110. INBROWSER_HELP = "Automatically launch IOPaint in a new tab on the default browser"