├── scripts ├── assistant │ ├── __init__.py │ ├── widget.py │ └── miaoshou.py ├── msai_logging │ ├── __init__.py │ └── msai_logger.py ├── download │ ├── __init__.py │ ├── resume_checkpoint.py │ ├── msai_downloader_manager.py │ └── msai_file_downloader.py ├── msai_utils │ ├── __init__.py │ ├── msai_singleton.py │ └── msai_toolkit.py ├── runtime │ ├── __init__.py │ └── msai_prelude.py └── main.py ├── configs ├── webui-user-launch.bat ├── settings.json ├── webui-macos-env.sh ├── webui-user.sh ├── hugging_face.json ├── official_models.json └── model_hash.json ├── .gitmodules ├── requirements.txt ├── .gitignore ├── install.py ├── README_CN.md ├── README.md └── LICENSE /scripts/assistant/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ["miaoshou"] 2 | -------------------------------------------------------------------------------- /scripts/msai_logging/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ["msai_logger"] 2 | -------------------------------------------------------------------------------- /scripts/download/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ["msai_downloader_manager"] 2 | -------------------------------------------------------------------------------- /scripts/msai_utils/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ["msai_singleton", "msai_toolkit"] 2 | -------------------------------------------------------------------------------- /configs/webui-user-launch.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/miaoshouai/miaoshouai-assistant/HEAD/configs/webui-user-launch.bat -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "assets"] 2 | path = assets 3 | url = https://e.coding.net/miaoshouai/miaoshou-stable-diffusion-webui/assets.git 4 | -------------------------------------------------------------------------------- /scripts/runtime/__init__.py: -------------------------------------------------------------------------------- 1 | __all__ = ["msai_prelude", "msai_runtime"] 2 | 3 | from . import msai_prelude as prelude 4 | 5 | prelude.MiaoshouPrelude().load() 6 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | psutil 2 | openai 3 | numba 4 | BeautifulSoup4 5 | gpt_index==0.4.24 6 | langchain==0.0.132 7 | gradio_client==0.5.0 8 | requests==2.31.0 9 | urllib3==2.0.6 10 | tqdm==4.64.0 11 | 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # for vim 2 | .~ 3 | .*.swp 4 | *~ 5 | 6 | # for MacOS 7 | .DS_Store 8 | 9 | __pycache__/ 10 | 11 | .idea/ 12 | 13 | logs/ 14 | flagged/ 15 | 16 | configs/civitai_models.json 17 | configs/liandange_models.json 18 | configs/gpt_index.json 19 | configs/model_hash.json 20 | covers/* 21 | cache/* 22 | assets 23 | -------------------------------------------------------------------------------- /scripts/msai_utils/msai_singleton.py: -------------------------------------------------------------------------------- 1 | class MiaoshouSingleton(type): 2 | _instances = {} 3 | 4 | def __call__(cls, *args, **kwargs): 5 | if cls not in cls._instances: 6 | cls._instances[cls] = super(MiaoshouSingleton, cls).__call__(*args, **kwargs) 7 | cls._instances[cls].__init__(*args, **kwargs) 8 | return cls._instances[cls] 9 | -------------------------------------------------------------------------------- /scripts/main.py: -------------------------------------------------------------------------------- 1 | import modules 2 | import modules.scripts as scripts 3 | 4 | from scripts.assistant.miaoshou import MiaoShouAssistant 5 | 6 | assistant = MiaoShouAssistant() 7 | 8 | class MiaoshouScript(scripts.Script): 9 | def __init__(self) -> None: 10 | super().__init__() 11 | 12 | def title(self): 13 | return "Miaoshou Assistant" 14 | 15 | def show(self, is_img2img): 16 | return scripts.AlwaysVisible 17 | 18 | def ui(self, is_img2img): 19 | return () 20 | 21 | def postprocess(self, p, processed): 22 | assistant.release_mem() 23 | return None 24 | 25 | 26 | modules.script_callbacks.on_ui_tabs(assistant.on_event_ui_tabs_opened) 27 | -------------------------------------------------------------------------------- /configs/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "boot_settings": { 3 | "drp_args_vram": "CPU Only", 4 | "drp_args_theme": "Dark Mode", 5 | "txt_args_listen_port": "7860", 6 | "Enable xFormers": "--xformers", 7 | "No Half": "--no-half", 8 | "No Half VAE": "False", 9 | "Enable API": "--api", 10 | "Auto Launch": "--autolaunch", 11 | "Allow Local Network Access": "False", 12 | "drp_choose_version": "Official Release", 13 | "txt_args_more": "", 14 | "auto_vram": true, 15 | "disable_log_console_output": true, 16 | "model_source": "miaoshouai.com", 17 | "my_model_source": "civitai.com", 18 | "openai_api": "", 19 | "civitai_api": "" 20 | } 21 | } -------------------------------------------------------------------------------- /configs/webui-macos-env.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #################################################################### 3 | # macOS defaults # 4 | # Please modify webui-user.sh to change these instead of this file # 5 | #################################################################### 6 | 7 | if [[ -x "$(command -v python3.10)" ]] 8 | then 9 | python_cmd="python3.10" 10 | fi 11 | 12 | export install_dir="$HOME" 13 | export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate" 14 | export TORCH_COMMAND="pip install torch==1.12.1 torchvision==0.13.1" 15 | export K_DIFFUSION_REPO="https://github.com/brkirch/k-diffusion.git" 16 | export K_DIFFUSION_COMMIT_HASH="51c9778f269cedb55a4d88c79c0246d35bdadb71" 17 | export PYTORCH_ENABLE_MPS_FALLBACK=1 18 | 19 | #################################################################### 20 | -------------------------------------------------------------------------------- /install.py: -------------------------------------------------------------------------------- 1 | import launch 2 | import os 3 | import gzip 4 | import io 5 | import git 6 | import shutil 7 | 8 | def install_preset_models_if_needed(): 9 | assets_folder = os.path.join(os.path.dirname(os.path.realpath(__file__)), "assets") 10 | configs_folder = os.path.join(os.path.dirname(os.path.realpath(__file__)), "configs") 11 | 12 | for model_filename in ["civitai_models.json", "liandange_models.json", "gpt_index.json"]: 13 | try: 14 | gzip_file = os.path.join(assets_folder, f"{model_filename}.gz") 15 | target_file = os.path.join(configs_folder, f"{model_filename}") 16 | if not os.path.exists(target_file): 17 | with gzip.open(gzip_file, "rb") as compressed_file: 18 | with io.TextIOWrapper(compressed_file, encoding="utf-8") as decoder: 19 | content = decoder.read() 20 | with open(target_file, "w", encoding="utf-8") as model_file: 21 | model_file.write(content) 22 | except Exception as e: 23 | print(f"failed to find out {model_filename} under assets directory: {e}") 24 | 25 | req_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), "requirements.txt") 26 | 27 | with open(req_file) as file: 28 | for lib in file: 29 | lib = lib.strip() 30 | if not launch.is_installed(lib): 31 | launch.run_pip(f"install {lib}", f"Miaoshou assistant requirement: {lib}") 32 | 33 | install_preset_models_if_needed() 34 | 35 | -------------------------------------------------------------------------------- /configs/webui-user.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ######################################################### 3 | # Uncomment and change the variables below to your need:# 4 | ######################################################### 5 | 6 | # Install directory without trailing slash 7 | #install_dir="/home/$(whoami)" 8 | 9 | # Name of the subdirectory 10 | #clone_dir="stable-diffusion-webui" 11 | 12 | # Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention" 13 | # uncomment the line below based on https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon 14 | export COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half --use-cpu all" 15 | 16 | # python3 executable 17 | #python_cmd="python3" 18 | 19 | # git executable 20 | #export GIT="git" 21 | 22 | # python3 venv without trailing slash (defaults to ${install_dir}/${clone_dir}/venv) 23 | #venv_dir="venv" 24 | 25 | # script to launch to start the app 26 | #export LAUNCH_SCRIPT="launch.py" 27 | 28 | # install command for torch 29 | #export TORCH_COMMAND="pip install torch==1.12.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113" 30 | 31 | # Requirements file to use for stable-diffusion-webui 32 | #export REQS_FILE="requirements_versions.txt" 33 | 34 | # Fixed git repos 35 | #export K_DIFFUSION_PACKAGE="" 36 | #export GFPGAN_PACKAGE="" 37 | 38 | # Fixed git commits 39 | #export STABLE_DIFFUSION_COMMIT_HASH="" 40 | #export TAMING_TRANSFORMERS_COMMIT_HASH="" 41 | #export CODEFORMER_COMMIT_HASH="" 42 | #export BLIP_COMMIT_HASH="" 43 | 44 | # Uncomment to enable accelerated launch 45 | #export ACCELERATE="True" 46 | 47 | ########################################### 48 | -------------------------------------------------------------------------------- /scripts/assistant/widget.py: -------------------------------------------------------------------------------- 1 | import gradio as gr 2 | 3 | 4 | # After the Gradio v3.40.0+, the constructor signature changes, in order to keep backward compatibility, 5 | # we use try...catch syntax to archive this purpose. 6 | 7 | def Dataset(**kwargs) -> gr.Dataset: 8 | try: 9 | return gr.Dataset(**kwargs) 10 | except: 11 | constructor_args = {} 12 | style_args = {} 13 | 14 | for k, v in kwargs.items(): 15 | if k == "elem_classes": 16 | style_args["type"] = v 17 | elif k == "container": 18 | style_args["container"] = v 19 | else: 20 | constructor_args[k] = v 21 | return gr.Dataset(**constructor_args).style(**style_args) 22 | 23 | 24 | def Row(**kwargs) -> gr.Row: 25 | try: 26 | return gr.Row(**kwargs) 27 | except: 28 | return gr.Row().style(**kwargs) 29 | 30 | 31 | def Dropdown(**kwargs) -> gr.Dropdown: 32 | try: 33 | return gr.Dropdown(**kwargs) 34 | except: 35 | constructor_args = {} 36 | style_args = {} 37 | 38 | for k, v in kwargs.items(): 39 | if k == "show_progress": 40 | style_args["full_width"] = v == "full" 41 | else: 42 | constructor_args[k] = v 43 | 44 | return gr.Dropdown(**constructor_args).style(**style_args) 45 | 46 | 47 | def Radio(**kwargs) -> gr.Radio: 48 | try: 49 | return gr.Radio(**kwargs) 50 | except: 51 | constructor_args = {} 52 | style_args = {} 53 | 54 | for k, v in kwargs.items(): 55 | if k == "elem_classes": 56 | style_args["full_width"] = v == "full" 57 | else: 58 | constructor_args[k] = v 59 | 60 | return gr.Radio(**constructor_args).style(**style_args) -------------------------------------------------------------------------------- /scripts/msai_utils/msai_toolkit.py: -------------------------------------------------------------------------------- 1 | import json 2 | import os 3 | import platform 4 | import shutil 5 | import typing as t 6 | from datetime import datetime 7 | from pathlib import Path 8 | 9 | 10 | def read_json(file) -> t.Any: 11 | try: 12 | with open(file, "r", encoding="utf-8-sig") as f: 13 | return json.load(f) 14 | except Exception as e: 15 | print(e) 16 | return None 17 | 18 | 19 | def write_json(file, content) -> None: 20 | try: 21 | with open(file, 'w') as f: 22 | json.dump(content, f, indent=4) 23 | except Exception as e: 24 | print(e) 25 | 26 | 27 | def get_args(args) -> t.List[str]: 28 | parameters = [] 29 | idx = 0 30 | for arg in args: 31 | if idx == 0 and '--' not in arg: 32 | pass 33 | elif '--' in arg: 34 | parameters.append(rf'{arg}') 35 | idx += 1 36 | else: 37 | parameters[idx - 1] = parameters[idx - 1] + ' ' + rf'{arg}' 38 | 39 | return parameters 40 | 41 | 42 | def get_readable_size(size: int, precision=2) -> str: 43 | if size is None: 44 | return "" 45 | 46 | suffixes = ['B', 'KB', 'MB', 'GB', 'TB'] 47 | suffixIndex = 0 48 | while size >= 1024 and suffixIndex < len(suffixes): 49 | suffixIndex += 1 # increment the index of the suffix 50 | size = size / 1024.0 # apply the division 51 | return "%.*f%s" % (precision, size, suffixes[suffixIndex]) 52 | 53 | 54 | def get_file_last_modified_time(path_to_file: str) -> datetime: 55 | if path_to_file is None: 56 | return datetime.now() 57 | 58 | if platform.system() == "Windows": 59 | return datetime.fromtimestamp(os.path.getmtime(path_to_file)) 60 | else: 61 | stat = os.stat(path_to_file) 62 | return datetime.fromtimestamp(stat.st_mtime) 63 | 64 | 65 | def get_not_found_image_url() -> str: 66 | return "https://msdn.miaoshouai.com/msdn/userimage/not-found.svg" 67 | 68 | 69 | def get_user_temp_dir() -> str: 70 | return os.path.join(Path.home().absolute(), ".miaoshou_assistant_download") 71 | 72 | 73 | def assert_user_temp_dir() -> None: 74 | os.makedirs(get_user_temp_dir(), exist_ok=True) 75 | 76 | 77 | def move_file(src: str, dst: str) -> None: 78 | if not src or not dst: 79 | return 80 | 81 | if not os.path.exists(src): 82 | return 83 | 84 | if os.path.exists(dst): 85 | os.remove(dst) 86 | 87 | os.makedirs(os.path.dirname(dst), exist_ok=True) 88 | shutil.move(src, dst) 89 | -------------------------------------------------------------------------------- /README_CN.md: -------------------------------------------------------------------------------- 1 | # 喵手助理 2 | [English](README.md) / [中文](README_CN.md) 3 | 4 | 喵手助理 [Automatic1111 WebUI](https://github.com/AUTOMATIC1111/stable-diffusion-webui) 5 | 6 | 7 | #### 此版本的注意事项 8 | 如果你想在[Forge WebUI](https://github.com/lllyasviel/stable-diffusion-webui-forge)中使用喵手助理, 你可以安装[MiaoshouAI Assistant Forge](https://github.com/miaoshouai/miaoshouai-assistant-forge) 版本 9 | 10 | 如果下载模型时出现失败,可能是因为模型作者对该模型设置了登录要求。 11 | 您需要前往 civitai 的[账户设置](https://civitai.com/user/account)页面,申请一个 Civitai API 密钥,并通过 ```Setting & Update``` 选项卡保存该密钥。 12 | 13 | ### 版本历史 14 | 15 | 1.90 一个支持 Forge WebUI 的新版本。新增对 Civitai 密钥的支持,并更新了基础模型类型。 16 | 1.81 增加了喵手AI作为模型源,让不能访问C站的人可以通过喵手AI源作为下载站点;增加了部分controlnet模型和官方模型的下载源。 17 | 1.80 修复了webui 1.60中的下载问题;增加了对模型排序,子文件夹下载,模型版本等功能的支持。 18 | 1.70 优化了Civitai的模型文件名关键词搜索,SDXL模型搜索(需要更新数据源),支持tag筛选。修复了在1.6下的模型加载问题。 19 | 1.60 增加了显存自动清理功能。在启动助手中启用后可以在每次生图后自动清理显存。 20 | 1.50 重构了assets的读取方式,大幅减少了下载时间和插件大小(使用1.5+版本需要重新安装); 增加了一键下载封面功能。 21 | 1.40 添加了使用GPT来生成咒语的功能; 修复了模型管理中对子文件夹的支持。 22 | 1.30 增加了模型下载和管理功能中对LyCoris的支持(你需要将LoCoris模型放置在Lora目录下, 需要安装 LyCoris插件 ) 23 | 1.20 增加了模型搜索功能,可以直接在模型管理下load模型,增加了插件和模型源更新功能。 24 | 1.10 模型管理下增加了对Lora, embedding and hypernetwork等模型的支持。修复了启动时与秋叶启动器的冲突。 25 | 26 | ### 安装 27 | 在 Automatic1111 WebUI 中,前往 `扩展插件`-> `从URL安装`,在`扩展插件的git仓库网址`中复制以下地址。 28 | 29 | ```sh 30 | https://github.com/miaoshouai/miaoshouai-assistant.git 31 | ``` 32 | 33 | 点击`安装`,等待安装完成。然后前往`设置` -> `重新加载界面` 34 | 35 | ### 翻译 36 | 从以下百度网盘下载翻译文件 37 | https://pan.baidu.com/s/1Hu_ppXdlr_hFm5spCA520w?pwd=jjsf 38 | 秋叶版WebUI可以下载stable-diffusion-webui-localization-zh_Hans 翻译插件 39 | 将翻译的json文件替换localization的文件夹内的同名json文件 40 | 41 | ### 使用方法 42 | ##### 启动助手 43 | 44 |
45 |
46 |
56 |
57 |
65 |
66 |
71 |
72 |
41 |
42 |
52 |
53 |
61 |
62 |
67 |
68 |
{entry.local_file} ({toolkit.get_readable_size(entry.total_size)}) : " 225 | else: 226 | description += f"
{entry.local_file} ({toolkit.get_readable_size(entry.estimated_size)}) : " 227 | 228 | if entry.is_downloading(): 229 | ongoing_tasks_num += 1 230 | finished_percent = entry.downloaded_size/entry.estimated_size * 100 231 | description += f'{round(finished_percent, 2)} %' 232 | elif entry.is_failure(): 233 | failed_tasks_num += 1 234 | description += 'failed!' 235 | else: 236 | description += 'finished' 237 | description += "
This is a collection of negative embeddings for Stable Diffusion negative prompts
", 6 | "type": "TextualInversion", 7 | "poi": false, 8 | "nsfw": false, 9 | "allowNoCredit": true, 10 | "allowCommercialUse": "Rent", 11 | "allowDerivatives": true, 12 | "allowDifferentLicense": true, 13 | "stats": { 14 | "downloadCount": 865, 15 | "favoriteCount": 190, 16 | "commentCount": 7, 17 | "ratingCount": 2, 18 | "rating": 5 19 | }, 20 | "creator": { 21 | "username": "multiple authors", 22 | "image": "" 23 | }, 24 | "tags": [], 25 | "modelVersions": [ 26 | { 27 | "id": 1, 28 | "modelId": 7019, 29 | "name": "Neg Embedding", 30 | "createdAt": "2023-02-06T13:52:34.605Z", 31 | "updatedAt": "2023-02-06T13:52:34.605Z", 32 | "trainedWords": [], 33 | "baseModel": "SD 1.5", 34 | "earlyAccessTimeFrame": 0, 35 | "description": "", 36 | "files": [ 37 | { 38 | "name": "EasyNegative.safetensors", 39 | "id": 1, 40 | "sizeKB": 25261.130859375, 41 | "type": "Model", 42 | "format": "Safetensors", 43 | "pickleScanResult": "Success", 44 | "pickleScanMessage": "No Pickle imports", 45 | "virusScanResult": "Success", 46 | "scannedAt": "2023-02-06T13:55:58.281Z", 47 | "hashes": { 48 | "AutoV2": "833E816807", 49 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 50 | "CRC32": "87F68C12", 51 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 52 | }, 53 | "downloadUrl": "https://huggingface.co/datasets/gsdf/EasyNegative/resolve/main/EasyNegative.safetensors", 54 | "primary": false 55 | }, 56 | { 57 | "name": "EasyNegativeV2.safetensors", 58 | "id": 2, 59 | "sizeKB": 50261.130859375, 60 | "type": "Model", 61 | "format": "Safetensors", 62 | "pickleScanResult": "Success", 63 | "pickleScanMessage": "No Pickle imports", 64 | "virusScanResult": "Success", 65 | "scannedAt": "2023-02-06T13:55:58.281Z", 66 | "hashes": { 67 | "AutoV2": "833E816807", 68 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 69 | "CRC32": "87F68C12", 70 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 71 | }, 72 | "downloadUrl": "https://huggingface.co/gsdf/Counterfeit-V3.0/resolve/main/embedding/EasyNegativeV2.safetensors", 73 | "primary": true 74 | }, 75 | { 76 | "name": "bad-hands-5.pt", 77 | "id": 3, 78 | "sizeKB": 7261.130859375, 79 | "type": "Model", 80 | "format": "Pth", 81 | "pickleScanResult": "Success", 82 | "pickleScanMessage": "No Pickle imports", 83 | "virusScanResult": "Success", 84 | "scannedAt": "2023-02-06T13:55:58.281Z", 85 | "hashes": { 86 | "AutoV2": "833E816807", 87 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 88 | "CRC32": "87F68C12", 89 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 90 | }, 91 | "downloadUrl": "https://huggingface.co/yesyeahvh/bad-hands-5/resolve/main/bad-hands-5.pt", 92 | "primary": false 93 | }, 94 | { 95 | "name": "bad_prompt.pt", 96 | "id": 4, 97 | "sizeKB": 51261.130859375, 98 | "type": "Model", 99 | "format": "Pth", 100 | "pickleScanResult": "Success", 101 | "pickleScanMessage": "No Pickle imports", 102 | "virusScanResult": "Success", 103 | "scannedAt": "2023-02-06T13:55:58.281Z", 104 | "hashes": { 105 | "AutoV2": "833E816807", 106 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 107 | "CRC32": "87F68C12", 108 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 109 | }, 110 | "downloadUrl": "https://huggingface.co/datasets/Nerfgun3/bad_prompt/blob/main/bad_prompt.pt", 111 | "primary": false 112 | }, 113 | { 114 | "name": "bad_prompt_version2.pt", 115 | "id": 5, 116 | "sizeKB": 25261.130859375, 117 | "type": "Model", 118 | "format": "Pth", 119 | "pickleScanResult": "Success", 120 | "pickleScanMessage": "No Pickle imports", 121 | "virusScanResult": "Success", 122 | "scannedAt": "2023-02-06T13:55:58.281Z", 123 | "hashes": { 124 | "AutoV2": "833E816807", 125 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 126 | "CRC32": "87F68C12", 127 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 128 | }, 129 | "downloadUrl": "https://huggingface.co/datasets/Nerfgun3/bad_prompt/resolve/main/bad_prompt_version2.pt", 130 | "primary": false 131 | }, 132 | { 133 | "name": "badquality.pt", 134 | "id": 6, 135 | "sizeKB": 34261.130859375, 136 | "type": "Model", 137 | "format": "Pth", 138 | "pickleScanResult": "Success", 139 | "pickleScanMessage": "No Pickle imports", 140 | "virusScanResult": "Success", 141 | "scannedAt": "2023-02-06T13:55:58.281Z", 142 | "hashes": { 143 | "AutoV2": "833E816807", 144 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 145 | "CRC32": "87F68C12", 146 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 147 | }, 148 | "downloadUrl": "https://huggingface.co/p1atdev/badquality/resolve/main/badquality.pt", 149 | "primary": false 150 | }, 151 | { 152 | "name": "bad-artist-anime.pt", 153 | "id": 7, 154 | "sizeKB": 7261.130859375, 155 | "type": "Model", 156 | "format": "Pth", 157 | "pickleScanResult": "Success", 158 | "pickleScanMessage": "No Pickle imports", 159 | "virusScanResult": "Success", 160 | "scannedAt": "2023-02-06T13:55:58.281Z", 161 | "hashes": { 162 | "AutoV2": "833E816807", 163 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 164 | "CRC32": "87F68C12", 165 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 166 | }, 167 | "downloadUrl": "https://huggingface.co/nick-x-hacker/bad-artist/resolve/main/bad-artist-anime.pt", 168 | "primary": false 169 | }, 170 | { 171 | "name": "bad-artist.pt", 172 | "id": 8, 173 | "sizeKB": 7261.130859375, 174 | "type": "Model", 175 | "format": "Pth", 176 | "pickleScanResult": "Success", 177 | "pickleScanMessage": "No Pickle imports", 178 | "virusScanResult": "Success", 179 | "scannedAt": "2023-02-06T13:55:58.281Z", 180 | "hashes": { 181 | "AutoV2": "833E816807", 182 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 183 | "CRC32": "87F68C12", 184 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 185 | }, 186 | "downloadUrl": "https://huggingface.co/nick-x-hacker/bad-artist/resolve/main/bad-artist.pt", 187 | "primary": false 188 | } 189 | ], 190 | "images": [ 191 | { 192 | "url": "https://msdn.miaoshouai.com/msai/kt/ez/9900922.png" 193 | } 194 | ] 195 | } 196 | ] 197 | } 198 | ] -------------------------------------------------------------------------------- /scripts/download/msai_file_downloader.py: -------------------------------------------------------------------------------- 1 | import os 2 | import pickle 3 | import queue 4 | import requests 5 | import time 6 | import typing as t 7 | from pathlib import Path 8 | from requests.adapters import HTTPAdapter 9 | from tqdm import tqdm 10 | from urllib.parse import urlparse 11 | from urllib3.util import Retry 12 | 13 | import scripts.msai_utils.msai_toolkit as toolkit 14 | from scripts.download.resume_checkpoint import ResumeCheckpoint 15 | from scripts.msai_logging.msai_logger import Logger 16 | 17 | 18 | class MiaoshouFileDownloader(object): 19 | CHUNK_SIZE = 1024 * 1024 20 | 21 | def __init__(self, target_url: str = None, 22 | local_file: str = None, local_directory: str = None, estimated_total_length: float = 0., 23 | expected_checksum: str = None, 24 | channel: queue.Queue = None, 25 | max_retries=5) -> None: 26 | self.logger = Logger() 27 | 28 | self.target_url: str = target_url 29 | self.local_file: str = local_file 30 | self.local_directory = local_directory 31 | self.expected_checksum = expected_checksum 32 | self.max_retries = max_retries 33 | 34 | self.accept_ranges: bool = False 35 | self.estimated_content_length = estimated_total_length 36 | self.content_length: int = -1 37 | self.finished_chunk_size: int = 0 38 | 39 | self.channel = channel # for communication 40 | 41 | # Support 3 retries and backoff 42 | retry_strategy = Retry( 43 | total=3, 44 | backoff_factor=1, 45 | status_forcelist=[429, 500, 502, 503, 504], 46 | allowed_methods=["HEAD", "GET", "OPTIONS"] 47 | ) 48 | adapter = HTTPAdapter(max_retries=retry_strategy) 49 | self.session = requests.Session() 50 | self.session.mount("https://", adapter) 51 | self.session.mount("http://", adapter) 52 | 53 | # inform message receiver at once 54 | if self.channel: 55 | self.channel.put_nowait(( 56 | self.target_url, 57 | self.finished_chunk_size, 58 | self.estimated_content_length, 59 | )) 60 | 61 | # Head request to get file-length and check whether it supports ranges. 62 | def get_file_info_from_server(self, target_url: str) -> t.Tuple[bool, float]: 63 | try: 64 | headers = {"Accept-Encoding": "identity"} # Avoid dealing with gzip 65 | response = requests.head(target_url, headers=headers, allow_redirects=True, timeout=10) 66 | response.raise_for_status() 67 | content_length = None 68 | if "Content-Length" in response.headers: 69 | content_length = int(response.headers['Content-Length']) 70 | accept_ranges = (response.headers.get("Accept-Ranges") == "bytes") 71 | return accept_ranges, float(content_length) 72 | except Exception as ex: 73 | self.logger.error(f"HEAD Request Error: {ex}") 74 | return False, self.estimated_content_length 75 | 76 | def download_file_full(self, target_url: str, local_filepath: str) -> t.Optional[str]: 77 | try: 78 | headers = {"Accept-Encoding": "identity"} # Avoid dealing with gzip 79 | 80 | with tqdm(total=self.content_length, unit="byte", unit_scale=1, colour="GREEN", 81 | desc=os.path.basename(self.local_file)) as progressbar, \ 82 | self.session.get(target_url, headers=headers, stream=True, timeout=5) as response, \ 83 | open(local_filepath, 'wb') as file_out: 84 | response.raise_for_status() 85 | 86 | for chunk in response.iter_content(MiaoshouFileDownloader.CHUNK_SIZE): 87 | file_out.write(chunk) 88 | progressbar.update(len(chunk)) 89 | self.update_progress(len(chunk)) 90 | except Exception as ex: 91 | self.logger.error(f"Download error: {ex}") 92 | return None 93 | 94 | # it's time to start to calculate hash since the file is downloaded successfully 95 | return ResumeCheckpoint.calculate_hash_of_file(local_filepath) 96 | 97 | def download_file_resumable(self, target_url: str, local_filepath: str) -> t.Optional[str]: 98 | # Always go off the checkpoint as the file was flushed before writing. 99 | download_checkpoint = local_filepath + ".downloading" 100 | try: 101 | assert os.path.exists(local_filepath) # catch checkpoint without file 102 | 103 | resume_point = ResumeCheckpoint.load_resume_checkpoint(download_checkpoint) 104 | self.logger.info("File already exists, resuming download.") 105 | except Exception as e: 106 | self.logger.warn(f"failed to load downloading checkpoint - {download_checkpoint} {e}") 107 | resume_point = 0 108 | if os.path.exists(local_filepath): 109 | os.remove(local_filepath) 110 | Path(local_filepath).touch() 111 | 112 | assert (resume_point < self.content_length) 113 | 114 | self.finished_chunk_size = resume_point 115 | 116 | # Support resuming 117 | headers = {"Range": f"bytes={resume_point}-", "Accept-Encoding": "identity"} 118 | try: 119 | with tqdm(total=self.content_length, unit="byte", unit_scale=1, colour="GREEN", 120 | desc=os.path.basename(self.local_file)) as progressbar, \ 121 | self.session.get(target_url, headers=headers, stream=True, timeout=5) as response, \ 122 | open(local_filepath, 'r+b') as file_out: 123 | response.raise_for_status() 124 | self.update_progress(resume_point) 125 | file_out.seek(resume_point) 126 | 127 | for chunk in response.iter_content(MiaoshouFileDownloader.CHUNK_SIZE): 128 | file_out.write(chunk) 129 | file_out.flush() 130 | resume_point += len(chunk) 131 | progressbar.update(len(chunk)) 132 | self.update_progress(len(chunk)) 133 | ResumeCheckpoint.store_resume_checkpoint(resume_point, download_checkpoint) 134 | 135 | # Only remove checkpoint at full size in case connection cut 136 | if os.path.getsize(local_filepath) == self.content_length: 137 | os.remove(download_checkpoint) 138 | else: 139 | return None 140 | 141 | except Exception as ex: 142 | self.logger.error(f"Download error: {ex}") 143 | return None 144 | 145 | return ResumeCheckpoint.calculate_hash_of_file(local_filepath) 146 | 147 | def update_progress(self, finished_chunk_size: int) -> None: 148 | self.finished_chunk_size += finished_chunk_size 149 | 150 | if self.channel: 151 | self.channel.put_nowait(( 152 | self.target_url, 153 | self.finished_chunk_size, 154 | self.content_length, 155 | )) 156 | 157 | # In order to avoid leaving extra garbage meta files behind this 158 | # will overwrite any existing files found at local_file. If you don't want this 159 | # behaviour you can handle this externally. 160 | # local_file and local_directory could write to unexpected places if the source 161 | # is untrusted, be careful! 162 | def download_file(self) -> bool: 163 | success = False 164 | try: 165 | print(f"\n\n🚀 miaoshou-assistant downloader: start to download {self.target_url}") 166 | self.logger.info(f"miaoshou-assistant downloader: start to download {self.target_url}") 167 | 168 | # Need to rebuild local_file_final each time in case of different urls 169 | if not self.local_file: 170 | specific_local_file = os.path.basename(urlparse(self.target_url).path) 171 | else: 172 | specific_local_file = self.local_file 173 | 174 | download_temp_dir = toolkit.get_user_temp_dir() 175 | toolkit.assert_user_temp_dir() 176 | 177 | if self.local_directory: 178 | os.makedirs(self.local_directory, exist_ok=True) 179 | 180 | specific_local_file = os.path.join(download_temp_dir, specific_local_file) 181 | 182 | self.accept_ranges, self.content_length = self.get_file_info_from_server(self.target_url) 183 | self.logger.info(f"Accept-Ranges: {self.accept_ranges}. content length: {self.content_length}") 184 | if self.accept_ranges and self.content_length: 185 | download_method = self.download_file_resumable 186 | self.logger.info("Server supports resume") 187 | else: 188 | download_method = self.download_file_full 189 | self.logger.info(f"Server doesn't support resume.") 190 | 191 | for i in range(self.max_retries): 192 | self.logger.info(f"Download Attempt {i + 1}") 193 | checksum = download_method(self.target_url, specific_local_file) 194 | if checksum: 195 | if self.expected_checksum and self.expected_checksum != checksum: 196 | self.logger.info(f"Checksum doesn't match. Calculated {checksum} " 197 | f"Expecting: {self.expected_checksum}") 198 | else: 199 | self.logger.info(f"Download successful, Checksum Matched. Checksum {checksum}") 200 | success = True 201 | break 202 | time.sleep(1) 203 | 204 | if success: 205 | print(f"\n\n🎉 miaoshou-assistant downloader: {self.target_url} [download completed]") 206 | self.logger.info(f"{self.target_url} [DOWNLOADED COMPLETELY]") 207 | if self.local_directory: 208 | target_local_file = os.path.join(self.local_directory, self.local_file) 209 | else: 210 | target_local_file = self.local_file 211 | toolkit.move_file(specific_local_file, target_local_file) 212 | else: 213 | print(f"\n\n😭 miaoshou-assistant downloader: {self.target_url} [download failed]") 214 | self.logger.info(f"{self.target_url} [ FAILED ]") 215 | 216 | except Exception as ex: 217 | print(f"\n\n😭 miaoshou-assistant downloader: download failed with unexpected error: {ex}") 218 | self.logger.error(f"Unexpected Error: {ex}") # Only from block above 219 | 220 | 221 | return success 222 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [2023] [miaoshou ai] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /scripts/assistant/miaoshou.py: -------------------------------------------------------------------------------- 1 | import gradio as gr 2 | import launch 3 | import modules 4 | import modules.generation_parameters_copypaste as parameters_copypaste 5 | import os 6 | import sys 7 | import typing as t 8 | from modules import shared 9 | from modules.call_queue import wrap_queued_call 10 | from modules.sd_models import CheckpointInfo 11 | from modules.ui_components import ToolButton 12 | 13 | from scripts.msai_logging.msai_logger import Logger 14 | from scripts.runtime.msai_prelude import MiaoshouPrelude 15 | from scripts.runtime.msai_runtime import MiaoshouRuntime 16 | from . import widget 17 | 18 | 19 | class MiaoShouAssistant(object): 20 | # default css definition 21 | default_css = '#my_model_cover{width: 100px;} #my_model_trigger_words{width: 200px;}' 22 | 23 | def __init__(self) -> None: 24 | self.logger = Logger() 25 | self.prelude = MiaoshouPrelude() 26 | self.runtime = MiaoshouRuntime() 27 | self.refresh_symbol = '\U0001f504' 28 | self.coffee_symbol = '\U0001f9cb' # 🧋 29 | self.folder_symbol = '\U0001f4c2' # 📂 30 | 31 | def on_event_ui_tabs_opened(self) -> t.List[t.Optional[t.Tuple[t.Any, str, str]]]: 32 | with gr.Blocks(analytics_enabled=False, css=MiaoShouAssistant.default_css) as miaoshou_assistant: 33 | self.create_subtab_boot_assistant() 34 | self.create_subtab_model_management() 35 | self.create_subtab_model_download() 36 | self.create_subtab_update() 37 | 38 | return [(miaoshou_assistant.queue(), "Miaoshou Assistant", "miaoshou_assistant")] 39 | 40 | def create_subtab_boot_assistant(self) -> None: 41 | with gr.TabItem('Boot Assistant', elem_id="boot_assistant_tab") as boot_assistant: 42 | with gr.Row(): 43 | with gr.Column(elem_id="col_model_list"): 44 | gpu, theme, port, chk_args, txt_args, webui_ver = self.runtime.get_default_args() 45 | gr.Markdown(value="Argument settings") 46 | with gr.Row(): 47 | self.drp_gpu = gr.Dropdown(label="VRAM Size", elem_id="drp_args_vram", 48 | choices=list(self.prelude.gpu_setting.keys()), 49 | value=gpu, interactive=True) 50 | self.drp_theme = gr.Dropdown(label="UI Theme", choices=list(self.prelude.theme_setting.keys()), 51 | value=theme, 52 | elem_id="drp_args_theme", interactive=True) 53 | self.txt_listen_port = gr.Text(label='Listen Port', value=port, elem_id="txt_args_listen_port", 54 | interactive=True) 55 | 56 | with gr.Row(): 57 | 58 | self.chk_group_args = gr.CheckboxGroup(choices=list(self.prelude.checkboxes.keys()), value=chk_args, 59 | show_label=False) 60 | self.additional_args = gr.Text(label='COMMANDLINE_ARGS (Divide by space)', value=txt_args, 61 | elem_id="txt_args_more", interactive=True) 62 | 63 | with gr.Row(): 64 | with gr.Column(): 65 | txt_save_status = gr.Markdown(visible=False, interactive=False, show_label=False) 66 | drp_choose_version = gr.Dropdown(label="WebUI Version", 67 | choices=['Official Release', 'Python Integrated'], 68 | value=webui_ver, elem_id="drp_args_version", 69 | interactive=True) 70 | gr.HTML( 71 | '*Save your settings to webui-user.bat file. Use Python Integrated only if your' 72 | ' WebUI is extracted from a zip file and does not need python installation
446 | This extension is created to improve some of the use experience for automatic1111 webui. 447 | It is free of charge, use it as you wish, please DO NOT sell this extension. 448 | Follow us on github, discord and give us suggestions, report bugs. support us with love or coffee~ 449 | Cheers~
450 |
451 |
452 |
453 | 【QQ群:256734228】
454 |
Stable Diffusion is a latent text-to-image diffusion model capable of generating photo-realistic images given any text input. For more information about how Stable Diffusion functions, please have a look at \uD83E\uDD17's Stable Diffusion blog.\n\nThe Stable-Diffusion-v1-5 checkpoint was initialized with the weights of the Stable-Diffusion-v1-2 checkpoint and subsequently fine-tuned on 595k steps at resolution 512x512 on \"laion-aesthetics v2 5+\" and 10% dropping of the text-conditioning to improve classifier-free guidance sampling.\n\nYou can use this both with the \uD83E\uDDE8Diffusers library and the RunwayML GitHub repository.
", 6 | "type": "Checkpoint", 7 | "poi": false, 8 | "nsfw": false, 9 | "allowNoCredit": true, 10 | "allowCommercialUse": "Rent", 11 | "allowDerivatives": true, 12 | "allowDifferentLicense": true, 13 | "stats": { 14 | "downloadCount": 865, 15 | "favoriteCount": 190, 16 | "commentCount": 7, 17 | "ratingCount": 2, 18 | "rating": 5 19 | }, 20 | "creator": { 21 | "username": "creativeml-openrail-m", 22 | "image": "https://huggingface.co/runwayml/stable-diffusion-v1-5" 23 | }, 24 | "tags": [ 25 | "horror", 26 | "dzislaw beksinskidzi", 27 | "kappa_neuro", 28 | "paintings" 29 | ], 30 | "modelVersions": [ 31 | { 32 | "id": 1, 33 | "modelId": 7019, 34 | "name": "v1-5-pruned-emaonly", 35 | "createdAt": "2023-02-06T13:52:34.605Z", 36 | "updatedAt": "2023-02-06T13:52:34.605Z", 37 | "trainedWords": [], 38 | "baseModel": "SD 1.5", 39 | "earlyAccessTimeFrame": 0, 40 | "description": "", 41 | "files": [ 42 | { 43 | "name": "v1-5-pruned-emaonly.ckpt", 44 | "id": 1, 45 | "sizeKB": 4471261.130859375, 46 | "type": "Model", 47 | "format": "CKPT", 48 | "pickleScanResult": "Success", 49 | "pickleScanMessage": "No Pickle imports", 50 | "virusScanResult": "Success", 51 | "scannedAt": "2023-02-06T13:55:58.281Z", 52 | "hashes": { 53 | "AutoV2": "833E816807", 54 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 55 | "CRC32": "87F68C12", 56 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 57 | }, 58 | "downloadUrl": "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt", 59 | "primary": false 60 | }, 61 | { 62 | "name": "v1-5-pruned-emaonly.safetensors", 63 | "id": 2, 64 | "sizeKB": 4471261.130859375, 65 | "type": "Model", 66 | "format": "Safetensors", 67 | "pickleScanResult": "Success", 68 | "pickleScanMessage": "No Pickle imports", 69 | "virusScanResult": "Success", 70 | "scannedAt": "2023-02-06T13:55:58.281Z", 71 | "hashes": { 72 | "AutoV2": "833E816807", 73 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 74 | "CRC32": "87F68C12", 75 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 76 | }, 77 | "downloadUrl": "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors", 78 | "primary": true 79 | }, 80 | { 81 | "name": "v1-5-pruned.ckpt", 82 | "id": 3, 83 | "sizeKB": 7971261.130859375, 84 | "type": "Model", 85 | "format": "Safetensors", 86 | "pickleScanResult": "Success", 87 | "pickleScanMessage": "No Pickle imports", 88 | "virusScanResult": "Success", 89 | "scannedAt": "2023-02-06T13:55:58.281Z", 90 | "hashes": { 91 | "AutoV2": "833E816807", 92 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 93 | "CRC32": "87F68C12", 94 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 95 | }, 96 | "downloadUrl": "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.ckpt", 97 | "primary": false 98 | }, 99 | { 100 | "name": "v1-5-pruned.safetensors", 101 | "id": 4, 102 | "sizeKB": 7971261.130859375, 103 | "type": "Model", 104 | "format": "Safetensors", 105 | "pickleScanResult": "Success", 106 | "pickleScanMessage": "No Pickle imports", 107 | "virusScanResult": "Success", 108 | "scannedAt": "2023-02-06T13:55:58.281Z", 109 | "hashes": { 110 | "AutoV2": "833E816807", 111 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 112 | "CRC32": "87F68C12", 113 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 114 | }, 115 | "downloadUrl": "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors", 116 | "primary": false 117 | }, 118 | { 119 | "name": "sd-v1-5-inpainting.ckpt", 120 | "id": 5, 121 | "sizeKB": 4471261.130859375, 122 | "type": "Model", 123 | "format": "Checkpoint", 124 | "pickleScanResult": "Success", 125 | "pickleScanMessage": "No Pickle imports", 126 | "virusScanResult": "Success", 127 | "scannedAt": "2023-02-06T13:55:58.281Z", 128 | "hashes": { 129 | "AutoV2": "833E816807", 130 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 131 | "CRC32": "87F68C12", 132 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 133 | }, 134 | "downloadUrl": "https://huggingface.co/runwayml/stable-diffusion-inpainting/resolve/main/sd-v1-5-inpainting.ckpt", 135 | "primary": false 136 | } 137 | ], 138 | "images": [ 139 | { 140 | "url": "https://msdn.miaoshouai.com/msai/kt/ez/9900922.png" 141 | } 142 | ] 143 | } 144 | ] 145 | }, 146 | { 147 | "id": 2, 148 | "name": "stable-diffusion-2-1", 149 | "description": "Stable Diffusion v2-1 Model Card\nThis model card focuses on the model associated with the Stable Diffusion v2-1 model, codebase available here.\n\nThis stable-diffusion-2-1 model is fine-tuned from stable-diffusion-2 (768-v-ema.ckpt) with an additional 55k steps on the same dataset (with punsafe=0.1), and then fine-tuned for another 155k extra steps with punsafe=0.98.\n\nUse it with the stablediffusion repository: download the v2-1_768-ema-pruned.ckpt here.\nUse it with \uD83E\uDDE8 diffusers\nModel Details\nDeveloped by: Robin Rombach, Patrick Esser\n\nModel type: Diffusion-based text-to-image generation model\n\nLanguage(s): English\n\nLicense: CreativeML Open RAIL++-M License\n\nModel Description: This is a model that can be used to generate and modify images based on text prompts. It is a Latent Diffusion Model that uses a fixed, pretrained text encoder (OpenCLIP-ViT/H).\n\nResources for more information: GitHub Repository.
", 150 | "type": "Checkpoint", 151 | "poi": false, 152 | "nsfw": false, 153 | "allowNoCredit": true, 154 | "allowCommercialUse": "Rent", 155 | "allowDerivatives": true, 156 | "allowDifferentLicense": true, 157 | "stats": { 158 | "downloadCount": 865, 159 | "favoriteCount": 190, 160 | "commentCount": 7, 161 | "ratingCount": 2, 162 | "rating": 5 163 | }, 164 | "creator": { 165 | "username": "stabilityai", 166 | "image": "https://huggingface.co/stabilityai/stable-diffusion-2-1" 167 | }, 168 | "tags": [], 169 | "modelVersions": [ 170 | { 171 | "id": 2, 172 | "modelId": 2, 173 | "name": "stable-diffusion-2-1", 174 | "createdAt": "2023-02-06T13:52:34.605Z", 175 | "updatedAt": "2023-02-06T13:52:34.605Z", 176 | "trainedWords": [], 177 | "baseModel": "SD 1.5", 178 | "earlyAccessTimeFrame": 0, 179 | "description": "", 180 | "files": [ 181 | { 182 | "name": "v2-1_768-ema-pruned.ckpt", 183 | "id": 6, 184 | "sizeKB": 5421261.130859375, 185 | "type": "Model", 186 | "format": "CKPT", 187 | "pickleScanResult": "Success", 188 | "pickleScanMessage": "No Pickle imports", 189 | "virusScanResult": "Success", 190 | "scannedAt": "2023-02-06T13:55:58.281Z", 191 | "hashes": { 192 | "AutoV2": "833E816807", 193 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 194 | "CRC32": "87F68C12", 195 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 196 | }, 197 | "downloadUrl": "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt", 198 | "primary": false 199 | }, 200 | { 201 | "name": "v2-1_768-ema-pruned.safetensors", 202 | "id": 7, 203 | "sizeKB": 5421261.130859375, 204 | "type": "Model", 205 | "format": "Safetensors", 206 | "pickleScanResult": "Success", 207 | "pickleScanMessage": "No Pickle imports", 208 | "virusScanResult": "Success", 209 | "scannedAt": "2023-02-06T13:55:58.281Z", 210 | "hashes": { 211 | "AutoV2": "833E816807", 212 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 213 | "CRC32": "87F68C12", 214 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 215 | }, 216 | "downloadUrl": "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors", 217 | "primary": true 218 | }, 219 | { 220 | "name": "v2-1_768-nonema-pruned.ckpt", 221 | "id": 8, 222 | "sizeKB": 5421261.130859375, 223 | "type": "Model", 224 | "format": "CKPT", 225 | "pickleScanResult": "Success", 226 | "pickleScanMessage": "No Pickle imports", 227 | "virusScanResult": "Success", 228 | "scannedAt": "2023-02-06T13:55:58.281Z", 229 | "hashes": { 230 | "AutoV2": "833E816807", 231 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 232 | "CRC32": "87F68C12", 233 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 234 | }, 235 | "downloadUrl": "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.ckpt", 236 | "primary": false 237 | }, 238 | { 239 | "name": "v2-1_768-nonema-pruned.safetensors", 240 | "id": 9, 241 | "sizeKB": 5421261.130859375, 242 | "type": "Model", 243 | "format": "Safetensors", 244 | "pickleScanResult": "Success", 245 | "pickleScanMessage": "No Pickle imports", 246 | "virusScanResult": "Success", 247 | "scannedAt": "2023-02-06T13:55:58.281Z", 248 | "hashes": { 249 | "AutoV2": "833E816807", 250 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 251 | "CRC32": "87F68C12", 252 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 253 | }, 254 | "downloadUrl": "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors", 255 | "primary": false 256 | }, 257 | { 258 | "name": "512-inpainting-ema.ckpt", 259 | "id": 10, 260 | "sizeKB": 5421261.130859375, 261 | "type": "Model", 262 | "format": "Safetensors", 263 | "pickleScanResult": "Success", 264 | "pickleScanMessage": "No Pickle imports", 265 | "virusScanResult": "Success", 266 | "scannedAt": "2023-02-06T13:55:58.281Z", 267 | "hashes": { 268 | "AutoV2": "833E816807", 269 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 270 | "CRC32": "87F68C12", 271 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 272 | }, 273 | "downloadUrl": "https://huggingface.co/stabilityai/stable-diffusion-2-inpainting/resolve/main/512-inpainting-ema.ckpt", 274 | "primary": false 275 | }, 276 | { 277 | "name": "512-inpainting-ema.safetensors", 278 | "id": 11, 279 | "sizeKB": 5421261.130859375, 280 | "type": "Model", 281 | "format": "Safetensors", 282 | "pickleScanResult": "Success", 283 | "pickleScanMessage": "No Pickle imports", 284 | "virusScanResult": "Success", 285 | "scannedAt": "2023-02-06T13:55:58.281Z", 286 | "hashes": { 287 | "AutoV2": "833E816807", 288 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 289 | "CRC32": "87F68C12", 290 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 291 | }, 292 | "downloadUrl": "https://huggingface.co/stabilityai/stable-diffusion-2-inpainting/resolve/main/512-inpainting-ema.safetensors", 293 | "primary": false 294 | }, 295 | { 296 | "name": "v2-1_768-ema-pruned.yaml", 297 | "id": 12, 298 | "sizeKB": 2261.130859375, 299 | "type": "Model", 300 | "format": "YAML", 301 | "pickleScanResult": "Success", 302 | "pickleScanMessage": "No Pickle imports", 303 | "virusScanResult": "Success", 304 | "scannedAt": "2023-02-06T13:55:58.281Z", 305 | "hashes": { 306 | "AutoV2": "833E816807", 307 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 308 | "CRC32": "87F68C12", 309 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 310 | }, 311 | "downloadUrl": "https://raw.githubusercontent.com/Stability-AI/stablediffusion/main/configs/stable-diffusion/v2-inference-v.yaml", 312 | "primary": false 313 | } 314 | ], 315 | "images": [ 316 | { 317 | "url": "https://msdn.miaoshouai.com/msai/kt/ez/9900922.png" 318 | } 319 | ] 320 | } 321 | ] 322 | }, 323 | { 324 | "id": 4, 325 | "name": "stable-diffusion-XL 1.0", 326 | "description": "SDXL consists of a two-step pipeline for latent diffusion: First, we use a base model to generate latents of the desired output size. In the second step, we use a specialized high-resolution model and apply a technique called SDEdit (https://arxiv.org/abs/2108.01073, also known as \"img2img\") to the latents generated in the first step, using the same prompt.", 327 | "type": "Checkpoint", 328 | "poi": false, 329 | "nsfw": false, 330 | "allowNoCredit": true, 331 | "allowCommercialUse": "Rent", 332 | "allowDerivatives": true, 333 | "allowDifferentLicense": true, 334 | "stats": { 335 | "downloadCount": 865, 336 | "favoriteCount": 190, 337 | "commentCount": 7, 338 | "ratingCount": 2, 339 | "rating": 5 340 | }, 341 | "creator": { 342 | "username": "stabilityai", 343 | "image": "https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9/resolve/main/01.png" 344 | }, 345 | "tags": [], 346 | "modelVersions": [ 347 | { 348 | "id": 2, 349 | "modelId": 2, 350 | "name": "sd_xl_base_1.0", 351 | "createdAt": "2023-02-06T13:52:34.605Z", 352 | "updatedAt": "2023-02-06T13:52:34.605Z", 353 | "trainedWords": [], 354 | "baseModel": "SDXL", 355 | "earlyAccessTimeFrame": 0, 356 | "description": "", 357 | "files": [ 358 | { 359 | "name": "sd_xl_base_1.0.safetensors", 360 | "id": 6, 361 | "sizeKB": 7242126.130859375, 362 | "type": "Model", 363 | "format": "CKPT", 364 | "pickleScanResult": "Success", 365 | "pickleScanMessage": "No Pickle imports", 366 | "virusScanResult": "Success", 367 | "scannedAt": "2023-02-06T13:55:58.281Z", 368 | "hashes": { 369 | "AutoV2": "31E35C80FC", 370 | "SHA256": "31E35C80FC4829D14F90153F4C74CD59C90B779F6AFE05A74CD6120B893F7E5B", 371 | "CRC32": "31E35C80FC", 372 | "BLAKE3": "31E35C80FC4829D14F90153F4C74CD59C90B779F6AFE05A74CD6120B893F7E5B" 373 | }, 374 | "downloadUrl": "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors", 375 | "primary": true 376 | }, 377 | { 378 | "name": "sd_xl_refiner_1.0.safetensors", 379 | "id": 7, 380 | "sizeKB": 6221261.130859375, 381 | "type": "Model", 382 | "format": "Safetensors", 383 | "pickleScanResult": "Success", 384 | "pickleScanMessage": "No Pickle imports", 385 | "virusScanResult": "Success", 386 | "scannedAt": "2023-02-06T13:55:58.281Z", 387 | "hashes": { 388 | "AutoV2": "7440042BBD", 389 | "SHA256": "7440042BBDC8A24813002C09B6B69B64DC90FDED4472613437B7F55F9B7D9C5F", 390 | "CRC32": "7440042BBD", 391 | "BLAKE3": "7440042BBDC8A24813002C09B6B69B64DC90FDED4472613437B7F55F9B7D9C5F" 392 | }, 393 | "downloadUrl": "https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors", 394 | "primary": true 395 | }, 396 | { 397 | "name": "sdxl_vae.safetensors", 398 | "id": 7, 399 | "sizeKB": 360126.130859375, 400 | "type": "Model", 401 | "format": "Safetensors", 402 | "pickleScanResult": "Success", 403 | "pickleScanMessage": "No Pickle imports", 404 | "virusScanResult": "Success", 405 | "scannedAt": "2023-02-06T13:55:58.281Z", 406 | "hashes": { 407 | "AutoV2": "551EAC7037", 408 | "SHA256": "551EAC7037CE58DE1EF4447F16D48664C1E67F0E27AF50A06B1A6D458B571E0C", 409 | "CRC32": "551EAC7037", 410 | "BLAKE3": "551EAC7037CE58DE1EF4447F16D48664C1E67F0E27AF50A06B1A6D458B571E0C" 411 | }, 412 | "downloadUrl": "https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors", 413 | "primary": true 414 | } 415 | ], 416 | "images": [ 417 | { 418 | "url": "https://msdn.miaoshouai.com/msai/kt/ez/9900922.png" 419 | } 420 | ] 421 | } 422 | ] 423 | }, 424 | { 425 | "id": 3, 426 | "name": "VAE", 427 | "description": "Stable Diffusion is a latent text-to-image diffusion model capable of generating photo-realistic images given any text input. For more information about how Stable Diffusion functions, please have a look at \uD83E\uDD17's Stable Diffusion blog.\n\nThe Stable-Diffusion-v1-5 checkpoint was initialized with the weights of the Stable-Diffusion-v1-2 checkpoint and subsequently fine-tuned on 595k steps at resolution 512x512 on \"laion-aesthetics v2 5+\" and 10% dropping of the text-conditioning to improve classifier-free guidance sampling.\n\nYou can use this both with the \uD83E\uDDE8Diffusers library and the RunwayML GitHub repository.
", 428 | "type": "VAE", 429 | "poi": false, 430 | "nsfw": false, 431 | "allowNoCredit": true, 432 | "allowCommercialUse": "Rent", 433 | "allowDerivatives": true, 434 | "allowDifferentLicense": true, 435 | "stats": { 436 | "downloadCount": 865, 437 | "favoriteCount": 190, 438 | "commentCount": 7, 439 | "ratingCount": 2, 440 | "rating": 5 441 | }, 442 | "creator": { 443 | "username": "creativeml-openrail-m", 444 | "image": "https://huggingface.co/runwayml/stable-diffusion-v1-5" 445 | }, 446 | "tags": [], 447 | "modelVersions": [ 448 | { 449 | "id": 3, 450 | "modelId": 3, 451 | "name": "VAE", 452 | "createdAt": "2023-02-06T13:52:34.605Z", 453 | "updatedAt": "2023-02-06T13:52:34.605Z", 454 | "trainedWords": [], 455 | "baseModel": "SD 1.5", 456 | "earlyAccessTimeFrame": 0, 457 | "description": "", 458 | "files": [ 459 | { 460 | "name": "vae-ft-ema-560000-ema-pruned.ckpt", 461 | "id": 15, 462 | "sizeKB": 447126.130859375, 463 | "type": "Model", 464 | "format": "CKPT", 465 | "pickleScanResult": "Success", 466 | "pickleScanMessage": "No Pickle imports", 467 | "virusScanResult": "Success", 468 | "scannedAt": "2023-02-06T13:55:58.281Z", 469 | "hashes": { 470 | "AutoV2": "833E816807", 471 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 472 | "CRC32": "87F68C12", 473 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 474 | }, 475 | "downloadUrl": "https://huggingface.co/stabilityai/sd-vae-ft-ema-original/resolve/main/vae-ft-ema-560000-ema-pruned.ckpt", 476 | "primary": false 477 | }, 478 | { 479 | "name": "vae-ft-mse-840000-ema-pruned.ckpt", 480 | "id": 16, 481 | "sizeKB": 447126.130859375, 482 | "type": "Model", 483 | "format": "CKPT", 484 | "pickleScanResult": "Success", 485 | "pickleScanMessage": "No Pickle imports", 486 | "virusScanResult": "Success", 487 | "scannedAt": "2023-02-06T13:55:58.281Z", 488 | "hashes": { 489 | "AutoV2": "833E816807", 490 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 491 | "CRC32": "87F68C12", 492 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 493 | }, 494 | "downloadUrl": "https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt", 495 | "primary": true 496 | }, 497 | { 498 | "name": "Waifu-diffusion-v1-4 VAE", 499 | "id": 17, 500 | "sizeKB": 497126.130859375, 501 | "type": "Model", 502 | "format": "CKPT", 503 | "pickleScanResult": "Success", 504 | "pickleScanMessage": "No Pickle imports", 505 | "virusScanResult": "Success", 506 | "scannedAt": "2023-02-06T13:55:58.281Z", 507 | "hashes": { 508 | "SHA256": "DF3C506E51B7EE1D7B5A6A2BB7142D47D488743C96AA778AFB0F53A2CDC2D38D" 509 | }, 510 | "downloadUrl": "https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/main/vae/kl-f8-anime2.ckpt", 511 | "primary": false 512 | }, 513 | { 514 | "name": "autoencoder_fix_kl-f8-trinart_chara", 515 | "id": 18, 516 | "sizeKB": 447126.130859375, 517 | "type": "Model", 518 | "format": "CKPT", 519 | "pickleScanResult": "Success", 520 | "pickleScanMessage": "No Pickle imports", 521 | "virusScanResult": "Success", 522 | "scannedAt": "2023-02-06T13:55:58.281Z", 523 | "hashes": { 524 | "AutoV2": "833E816807", 525 | "SHA256": "833E816807E8D3658EBC65436908F690603A8E0E8D26143A90050F32958C9E4E", 526 | "CRC32": "87F68C12", 527 | "BLAKE3": "7A28D3D22520D61B58338791522A14B7B33A6A9CE552FF7D68D7E2688CAB3266" 528 | }, 529 | "downloadUrl": "https://huggingface.co/naclbit/trinart_characters_19.2m_stable_diffusion_v1/resolve/main/autoencoder_fix_kl-f8-trinart_characters.ckpt", 530 | "primary": false 531 | }, 532 | { 533 | "name": "Anything-V3.0.vae.pt", 534 | "id": 19, 535 | "sizeKB": 847126.130859375, 536 | "type": "Model", 537 | "format": "PT", 538 | "pickleScanResult": "Success", 539 | "pickleScanMessage": "No Pickle imports", 540 | "virusScanResult": "Success", 541 | "scannedAt": "2023-02-06T13:55:58.281Z", 542 | "hashes": { 543 | "AutoV2": "F921FB3F29", 544 | "SHA256": "F921FB3F29891D2A77A6571E56B8B5052420D2884129517A333C60B1B4816CDF" 545 | }, 546 | "downloadUrl": "https://huggingface.co/Linaqruf/anything-v3.0/resolve/refs%2Fpr%2F11/Anything-V3.0.vae.pt", 547 | "primary": false 548 | }, 549 | { 550 | "name": "Berrymix VAE", 551 | "id": 20, 552 | "sizeKB": 447126.130859375, 553 | "type": "Model", 554 | "format": "Checkpoint", 555 | "pickleScanResult": "Success", 556 | "pickleScanMessage": "No Pickle imports", 557 | "virusScanResult": "Success", 558 | "scannedAt": "2023-02-06T13:55:58.281Z", 559 | "hashes": { 560 | "AutoV2": "F921FB3F29", 561 | "SHA256": "F921FB3F29891D2A77A6571E56B8B5052420D2884129517A333C60B1B4816CDF" 562 | }, 563 | "downloadUrl": "https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/main/vae/kl-f8-anime2.ckpt", 564 | "primary": false 565 | }, 566 | { 567 | "name": "sdxl_vae.safetensors", 568 | "id": 7, 569 | "sizeKB": 360126.130859375, 570 | "type": "Model", 571 | "format": "Safetensors", 572 | "pickleScanResult": "Success", 573 | "pickleScanMessage": "No Pickle imports", 574 | "virusScanResult": "Success", 575 | "scannedAt": "2023-02-06T13:55:58.281Z", 576 | "hashes": { 577 | "AutoV2": "551EAC7037", 578 | "SHA256": "551EAC7037CE58DE1EF4447F16D48664C1E67F0E27AF50A06B1A6D458B571E0C", 579 | "CRC32": "551EAC7037", 580 | "BLAKE3": "551EAC7037CE58DE1EF4447F16D48664C1E67F0E27AF50A06B1A6D458B571E0C" 581 | }, 582 | "downloadUrl": "https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors", 583 | "primary": true 584 | } 585 | ], 586 | "images": [ 587 | { 588 | "url": "https://msdn.miaoshouai.com/msai/kt/ez/9900922.png" 589 | } 590 | ] 591 | } 592 | ] 593 | }, 594 | { 595 | "id": 4, 596 | "name": "Stable Video Diffusion", 597 | "description": "Stable Video Diffusion (SVD) 1.1 Image-to-Video is a diffusion model that takes in a still image as a conditioning frame, and generates a video from it.", 598 | "type": "Model", 599 | "poi": false, 600 | "nsfw": false, 601 | "allowNoCredit": true, 602 | "allowCommercialUse": "Rent", 603 | "allowDerivatives": true, 604 | "allowDifferentLicense": true, 605 | "stats": { 606 | "downloadCount": 865, 607 | "favoriteCount": 190, 608 | "commentCount": 7, 609 | "ratingCount": 2, 610 | "rating": 5 611 | }, 612 | "creator": { 613 | "username": "stabilityai", 614 | "image": "https://huggingface.co/runwayml/stable-diffusion-v1-5" 615 | }, 616 | "tags": [], 617 | "modelVersions": [ 618 | { 619 | "id": 401, 620 | "modelId": 401, 621 | "name": "Model", 622 | "createdAt": "2023-02-06T13:52:34.605Z", 623 | "updatedAt": "2023-02-06T13:52:34.605Z", 624 | "trainedWords": [], 625 | "baseModel": "SVD", 626 | "earlyAccessTimeFrame": 0, 627 | "description": "
", 628 | "files": [ 629 | { 630 | "name": "svd_xt_1_1.safetensors", 631 | "id": 40101, 632 | "sizeKB": 40447126.130859375, 633 | "type": "Model", 634 | "format": "CKPT", 635 | "pickleScanResult": "Success", 636 | "pickleScanMessage": "No Pickle imports", 637 | "virusScanResult": "Success", 638 | "scannedAt": "2023-02-06T13:55:58.281Z", 639 | "hashes": { 640 | "AutoV2": "69CCFEA1BB", 641 | "SHA256": "69CCFEA1BB45DD63B3BA8B6CFE8B0D45D780995DFDDE590AEAA97CC567018D33", 642 | "CRC32": "69CCFEA1BB", 643 | "BLAKE3": "69CCFEA1BB45DD63B3BA8B6CFE8B0D45D780995DFDDE590AEAA97CC567018D33" 644 | }, 645 | "downloadUrl": "https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt-1-1/commit/e2fe0c40fbc1f3dda1c262b4c7d5487cda6414c9", 646 | "primary": false 647 | } 648 | ], 649 | "images": [ 650 | { 651 | "url": "https://msdn.miaoshouai.com/msai/kt/ez/9900922.png" 652 | } 653 | ] 654 | } 655 | ] 656 | } 657 | ] -------------------------------------------------------------------------------- /configs/model_hash.json: -------------------------------------------------------------------------------- 1 | { 2 | "elldrethsVividMix_v20VividEr.safetensors [0f7f264114]": "0f7f264114", 3 | "fkingScifiV2_r41958.safetensors [d6a44b9b90]": "d6a44b9b90", 4 | "furtasticv11_furtasticv11.safetensors [8708576421]": "8708576421", 5 | "futagen_2.safetensors [08946cce7d]": "08946cce7d", 6 | "galaxytimemachinesGTM_v1.safetensors [e406a20c1b]": "e406a20c1b", 7 | "Grapefruit.safetensors [4fc8d3739f]": "4fc8d3739f", 8 | "grapeGrapefruitHenta_grapefruitV11.safetensors [4a6e5cd1c8]": "4a6e5cd1c8", 9 | "GrapeLikeDreamFruit.ckpt [c9278e23a7]": "c9278e23a7", 10 | "gta5ArtworkDiffusion_v1.ckpt [607aa02fb8]": "607aa02fb8", 11 | "hAS3Dkx10B_3Dkx10B.safetensors [1d45c7c094]": "1d45c7c094", 12 | "HAs_3DKX 1.1.ckpt [998f6b580e]": "998f6b580e", 13 | "hasdx_hasedsdx.safetensors [fafc72c6fd]": "fafc72c6fd", 14 | "hassanblend1512And_hassanblend1512.safetensors [f05dd9e62f]": "f05dd9e62f", 15 | "hassanBlendAllVersio_hassanBlend14.safetensors [b08fdba169]": "b08fdba169", 16 | "Healys_Anime_Blend.ckpt [8416edf88c]": "8416edf88c", 17 | "healySAnimeBlend_17.ckpt [8416edf88c]": "8416edf88c", 18 | "homoerotic_v2.safetensors [b656369cf7]": "b656369cf7", 19 | "Inkpunk-Diffusion-v2.ckpt [2182245415]": "2182245415", 20 | "instruct-pix2pix-00-22000.safetensors [fbc31a67aa]": "fbc31a67aa", 21 | "jaksCreepyCritter_sd21768px.ckpt [67d399388b]": "67d399388b", 22 | "jhSSamdoesarts_v5.ckpt [dfba164825]": "dfba164825", 23 | "kenshi_00.safetensors [8c19d5c981]": "8c19d5c981", 24 | "knollingcase_v1.ckpt [cf836e65a7]": "cf836e65a7", 25 | "kotosAbyssproto_v10.safetensors [35d51ba12c]": "35d51ba12c", 26 | "ligneClaireAnime_v1.safetensors [672977e447]": "672977e447", 27 | "majorXs2DPOVModel_2dpov11.ckpt [83f9dcde52]": "83f9dcde52", 28 | "mandarine_3.ckpt [7a134798ee]": "7a134798ee", 29 | "mixProV3_v3.safetensors [b6928134bb]": "b6928134bb", 30 | "modernDisney_v1.ckpt [8067368533]": "8067368533", 31 | "moistmix_v2.safetensors [6514f58b5e]": "6514f58b5e", 32 | "openjourney-v2.ckpt [2fbe5ba6e2]": "2fbe5ba6e2", 33 | "openjourneyAka_v1.ckpt [5d5ad06cc2]": "5d5ad06cc2", 34 | "owlerartStyle_v2.safetensors [a31fe6f791]": "a31fe6f791", 35 | "pastelMixStylizedAnime_pastelMixPrunedFP16.safetensors [d01a68ae76]": "d01a68ae76", 36 | "pfg_111Safetensors.safetensors [ca42a7a009]": "ca42a7a009", 37 | "princessZeldaLora_v1.safetensors [53d6abf3cb]": "53d6abf3cb", 38 | "protogenV22Anime_22.safetensors [1254103966]": "1254103966", 39 | "protogenX34Photoreal_1.safetensors [44f90a0972]": "44f90a0972", 40 | "protogenX34Photorealism_1.safetensors [44f90a0972]": "44f90a0972", 41 | "protogenX58RebuiltSc_10.safetensors [6a21b428a3]": "6a21b428a3", 42 | "protogenX58RebuiltScifi_10.safetensors [6a21b428a3]": "6a21b428a3", 43 | "purepornplusMerge_purepornplus10.ckpt [40c6475ecb]": "40c6475ecb", 44 | "qgo10a_qgo10a.safetensors [7dd744682a]": "7dd744682a", 45 | "ratnikamix_2.safetensors [b6a8298a89]": "b6a8298a89", 46 | "realeldenapocalypse_Analogsexknoll.safetensors [7c7dfbd636]": "7c7dfbd636", 47 | "realisticVisionV13_v12.safetensors [8194f84cdc]": "8194f84cdc", 48 | "redshiftDiffusion_v1.ckpt [ed8c2ee432]": "ed8c2ee432", 49 | "roboeticsMix_rmix01Ckpt.ckpt [a7bd5ab091]": "a7bd5ab091", 50 | "RPG.ckpt [234bfa6e72]": "234bfa6e72", 51 | "s1dlxbrew_02.safetensors [1bf13ffc5d]": "1bf13ffc5d", 52 | "schoolAnime_schoolAnime.safetensors [36b0e74c02]": "36b0e74c02", 53 | "schoolmax25d_11.ckpt [0ce764ebd5]": "0ce764ebd5", 54 | "sd-v1-4.ckpt [fe4efff1e1]": "fe4efff1e1", 55 | "sd-v1-5-inpainting.ckpt [c6bbc15e32]": "c6bbc15e32", 56 | "shadyArtOFFICIAL_shadyArt1.safetensors [8f0cb2925d]": "8f0cb2925d", 57 | "spybgsToolkitFor_v40YoutubeChannel.ckpt [f277c5bba1]": "f277c5bba1", 58 | "StablyDiffuseds_Aesthetic_Mix.ckpt [03df69045a]": "03df69045a", 59 | "stablydiffusedsWild_3.safetensors [11a67baf56]": "11a67baf56", 60 | "superheroDiffusion_v1.ckpt [cac0a972cf]": "cac0a972cf", 61 | "surugaModel_suruga12K.ckpt [7846746c94]": "7846746c94", 62 | "synthwavepunk_v2.ckpt [dc4c67171e]": "dc4c67171e", 63 | "theAllysMix_v10Safetensors.safetensors [a18773a6bc]": "a18773a6bc", 64 | "theallysMixIIChurned_v10.safetensors [b000c45ea5]": "b000c45ea5", 65 | "uberRealisticPornMerge_urpmv12.safetensors [fcfaf106f2]": "fcfaf106f2", 66 | "unstableinkdream_v6.safetensors [d855c1d2ba]": "d855c1d2ba", 67 | "v1-5-pruned.ckpt [e1441589a6]": "e1441589a6", 68 | "v2-1_768-nonema-pruned.ckpt [4711ff4dd2]": "4711ff4dd2", 69 | "wd-v1-3-full.ckpt [23ba8d0411]": "23ba8d0411", 70 | "wlop_1.ckpt [b8cff3e33f]": "b8cff3e33f", 71 | "yiffymix_.safetensors [d6deb44e68]": "d6deb44e68", 72 | "\u5565\u73a9\u610f\u5b8c\u728a\u5b50F16.safetensors [dda725ba6e]": "dda725ba6e", 73 | "v1-5-pruned-emaonly.ckpt [cc6cb27103]": "cc6cb27103", 74 | "deliberate_v2.safetensors [9aba26abdf]": "9aba26abdf", 75 | "deliberate_v2.safetensors [38108d96f8]": "38108d96f8", 76 | "realisticVisionV20_v20.ckpt [eaf3051d80]": "eaf3051d80", 77 | "deliberate_v2.safetensors [d75347f3f0]": "d75347f3f0", 78 | "deliberate_v2.safetensors [b500405cde]": "b500405cde", 79 | "deliberate_v2.safetensors [493484f455]": "493484f455", 80 | "deliberate_v2.safetensors [ade8822b56]": "ade8822b56", 81 | "realisticVisionV20_v20.ckpt [d11a449e0f]": "d11a449e0f", 82 | "2dn_1.safetensors [83569a04f4]": "83569a04f4", 83 | "21SDModernBuildings_midjourneyBuildings.ckpt [14e1e8d692]": "14e1e8d692", 84 | "AbyssOrangeMix2_hard.safetensors [0fc198c490]": "0fc198c490", 85 | "adobisRealFlexibleMix_v2.safetensors [9e8a2c7a5d]": "9e8a2c7a5d", 86 | "allInOnePixelModel_v1.ckpt [d7fb6396ab]": "d7fb6396ab", 87 | "aloeverasSimpmaker3K_simpmaker3K1.ckpt [2cae9bc4e0]": "2cae9bc4e0", 88 | "analogDiffusion_10Safetensors.safetensors [51f6fff508]": "51f6fff508", 89 | "analogDream3D_10.ckpt [4575363662]": "4575363662", 90 | "anovel_speed.ckpt [89d59c3dde]": "89d59c3dde", 91 | "anygenV37_anygenv37.ckpt [815c974757]": "815c974757", 92 | "Anything-V3.0-pruned.ckpt [543bcbc212]": "543bcbc212", 93 | "anytwam11Mixedmodel_anytwam11.safetensors [e9cb790ad3]": "e9cb790ad3", 94 | "aoaokoPVCStyleModel_pvcAOAOKO.safetensors [cf64507cef]": "cf64507cef", 95 | "Arcane_Diffusion.ckpt [7dd0e6760f]": "7dd0e6760f", 96 | "arcaneDiffusion_v3.ckpt [7dd0e6760f]": "7dd0e6760f", 97 | "artErosAerosATribute_aerosNovae.safetensors [70346f7a1e]": "70346f7a1e", 98 | "aToZovyaRPGArtistsTools15_sd15V1.safetensors [e28b2e61fb]": "e28b2e61fb", 99 | "ayonimix_V2.safetensors [7076f76b9d]": "7076f76b9d", 100 | "babes_11.safetensors [79886b6484]": "79886b6484", 101 | "Basil_mix_fixed.safetensors [0ff127093f]": "0ff127093f", 102 | "biggerGirlsModel_biggergirlsV2.ckpt [f3c16c83de]": "f3c16c83de", 103 | "cheeseDaddys_30.safetensors [4176564bea]": "4176564bea", 104 | "chillout_west_mix.safetensors [b93a715b47]": "b93a715b47", 105 | "chilloutmix_inpainting.inpainting.safetensors [ec749031ba]": "ec749031ba", 106 | "chromaticcreamv1_chromaticcreamV1.ckpt [c979d60b4a]": "c979d60b4a", 107 | "ChromaV5 (2.0).ckpt [e8004ba771]": "e8004ba771", 108 | "clarity_14.safetensors [dc027dbbf9]": "dc027dbbf9", 109 | "classicNegative1521_classicNegative768px.ckpt [2106fd3b8c]": "2106fd3b8c", 110 | "Colorwater_v4.safetensors [1b175706ff]": "1b175706ff", 111 | "comicBabes_v1.safetensors [9211801e30]": "9211801e30", 112 | "comicDiffusion_v2.ckpt [d3c225cbc2]": "d3c225cbc2", 113 | "corneos7thHeavenMix_100.safetensors [d289dfa4ed]": "d289dfa4ed", 114 | "corneos7thHeavenMix_v1.safetensors [d289dfa4ed]": "d289dfa4ed", 115 | "Counterfeit-V2.5_pruned.safetensors [a074b8864e]": "a074b8864e", 116 | "CounterfeitV20_20.ckpt [8838e0d1fb]": "8838e0d1fb", 117 | "cuteRichstyle15_cuteRichstyle.ckpt [24bc802fc5]": "24bc802fc5", 118 | "cyberrealistic_v13.safetensors [23e4391b10]": "23e4391b10", 119 | "cynthiaModela_v10.safetensors [c83fe90aa3]": "c83fe90aa3", 120 | "deliberate_v11-inpainting.inpainting.safetensors [0d0792451f]": "0d0792451f", 121 | "deliberate_v11.safetensors [d8691b4d16]": "d8691b4d16", 122 | "dgspitzerArt_dgspitzerArtDiffusion.safetensors [8141c5f18e]": "8141c5f18e", 123 | "diGiMDSToriyamaModel_toriyamaV1.ckpt [33c84ed0b3]": "33c84ed0b3", 124 | "dreamlikeDiffusion10_10.ckpt [0aecbcfa2c]": "0aecbcfa2c", 125 | "dreamlikePhotoreal20_dreamlikePhotoreal20.safetensors [92970aa785]": "92970aa785", 126 | "dreamshaper_332BakedVaeClipFix.safetensors [13dfc9921f]": "13dfc9921f", 127 | "DucHaitenAIart.safetensors [55fed17365]": "55fed17365", 128 | "duchaitenaiart_V20.safetensors [55fed17365]": "55fed17365", 129 | "dvarchMultiPrompt_dvarchExterior.ckpt [1ecb6b4e9c]": "1ecb6b4e9c", 130 | "Elldreths_OG_4060_mix.ckpt [707ee16b5b]": "707ee16b5b", 131 | "Elldreths_Retro_Mix.ckpt [57285e7bd5]": "57285e7bd5", 132 | "ElldrethsImaginationMix.ckpt [64224f0599]": "64224f0599", 133 | "elldrethsLucidMix_v10.safetensors [67abd65708]": "67abd65708", 134 | "elldrethSOg4060Mix_v10.ckpt [707ee16b5b]": "707ee16b5b", 135 | "elldrethsRetroMix_v10.safetensors [57285e7bd5]": "57285e7bd5", 136 | "icomix_V02Pruned.safetensors [76b00ee812]": "76b00ee812", 137 | "inkpunkDiffusion_v2-inpainting-fp16-no-ema.safetensors [0c666f32e8]": "0c666f32e8", 138 | "inkpunkDiffusion_v2-inpainting.safetensors [1bd4ce2c12]": "1bd4ce2c12", 139 | "inkpunkDiffusion_v2.ckpt [2182245415]": "2182245415", 140 | "meinamix_meinaV8.safetensors [30953ab0de]": "30953ab0de", 141 | "mimi_V3.safetensors [88f31afc3d]": "88f31afc3d", 142 | "mini_town_v1.safetensors [ed94110348]": "ed94110348", 143 | "pixhell_v20.safetensors [333825e530]": "333825e530", 144 | "projectUnrealEngine5_projectUnrealEngine5B.ckpt [748ff6eab2]": "748ff6eab2", 145 | "pyraMythraPneuma_50Epochs.safetensors [fc9d093614]": "fc9d093614", 146 | "realisticVisionV20_v20.safetensors [c0d1994c73]": "c0d1994c73", 147 | "realLifeTest_realLifeTest.ckpt [d6347268cc]": "d6347268cc", 148 | "revAnimated_v11.safetensors [d725be5d18]": "d725be5d18", 149 | "samdoesartsUltmerge_v1.ckpt [0df9497424]": "0df9497424", 150 | "shanshui_v0-000002.safetensors [18cbf1953b]": "18cbf1953b", 151 | "tmndMix_tmndMixPlus.safetensors [7d19f9efad]": "7d19f9efad", 152 | "unstableinkdream_v73.safetensors [f036d7b40b]": "f036d7b40b", 153 | "unstablephotorealv5_05.ckpt [6ef4ed10a6]": "6ef4ed10a6", 154 | "yinmu.safetensors [c1b28e2883]": "c1b28e2883", 155 | "protogenX58RebuiltScifi_10.ckpt [e0de8aae3e]": "e0de8aae3e", 156 | "marvelWhatIf_v2.ckpt [2e051600d4]": "2e051600d4", 157 | "meinamix_meinaV9.safetensors [eac6c08a19]": "eac6c08a19", 158 | "mixProV4_v4.safetensors [61e23e57ea]": "61e23e57ea", 159 | "revAnimated_v122.safetensors [4199bcdd14]": "4199bcdd14", 160 | "wood_tile-000001.safetensors [7fd29f7f80]": "7fd29f7f80", 161 | "wood_tile-000002.safetensors [058be7927f]": "058be7927f", 162 | "wood_tile-000003.safetensors [c379ec75dd]": "c379ec75dd", 163 | "wood_tile-000004.safetensors [4256b2614b]": "4256b2614b", 164 | "wood_tile-000005.safetensors [e466a6d0d1]": "e466a6d0d1", 165 | "wood_tile-000006.safetensors [a78cb62c5a]": "a78cb62c5a", 166 | "wood_tile-000007.safetensors [046910b320]": "046910b320", 167 | "wood_tile-000008.safetensors [828af323cb]": "828af323cb", 168 | "wood_tile-000009.safetensors [4b2844ebad]": "4b2844ebad", 169 | "wood_tile.safetensors [95e89ae856]": "95e89ae856", 170 | "CounterfeitV25_25.safetensors [a074b8864e]": "a074b8864e", 171 | "corneo_bound_missionary.pt": null, 172 | "corneo_mercy.pt": null, 173 | "emmsto.pt": null, 174 | "incaseStyle_incaseAnythingV3.pt": null, 175 | "pureerosface_v1.pt": null, 176 | "RSC.pt": null, 177 | "Toru8pWavenChibi_wavenchibiV10b.pt": null, 178 | "mini_town_v1-state\\scaler.pt": null, 179 | "shanshui_v0-000002-state\\scaler.pt": null, 180 | "wood_tile-000001-state\\scaler.pt": null, 181 | "wood_tile-000002-state\\scaler.pt": null, 182 | "wood_tile-000003-state\\scaler.pt": null, 183 | "wood_tile-000004-state\\scaler.pt": null, 184 | "wood_tile-000005-state\\scaler.pt": null, 185 | "wood_tile-000006-state\\scaler.pt": null, 186 | "wood_tile-000007-state\\scaler.pt": null, 187 | "wood_tile-000008-state\\scaler.pt": null, 188 | "wood_tile-000009-state\\scaler.pt": null, 189 | "wood_tile-state\\scaler.pt": null, 190 | "2BLoRA YorHA edition.ckpt": null, 191 | "Addams-000001.safetensors": null, 192 | "Addams-000002.safetensors": null, 193 | "Addams-000003.safetensors": null, 194 | "Addams-000004.safetensors": null, 195 | "Addams.safetensors": null, 196 | "aliceNikke_v30.safetensors": null, 197 | "android18DragonBall_one.safetensors": null, 198 | "animeLineartMangaLike_v30MangaLike (1).safetensors": null, 199 | "arknightsTexasThe_v10.safetensors": null, 200 | "atomicHeartRobotMaid_001.safetensors": null, 201 | "bigHeadDoll_v01.safetensors": null, 202 | "blindbox_V1Mix.safetensors": null, 203 | "bruceLee_bruceLeeV10.safetensors": null, 204 | "childrensDrawingLora_v10.safetensors": null, 205 | "ChineseInkPainting_v10.safetensors": null, 206 | "chunLiStreetFighter_v10.safetensors": null, 207 | "emery_rose-000001.safetensors": null, 208 | "emery_rose-000002.safetensors": null, 209 | "emery_rose.safetensors": null, 210 | "gachaSplashLORA_gachaSplashFarShot.safetensors": null, 211 | "gta5ArtworkDiffusion_v1.safetensors": null, 212 | "gundamRX782OutfitStyle_v10.safetensors": null, 213 | "gundamRX78_v2.safetensors": null, 214 | "handpaintedRPGIcons_v1.safetensors": null, 215 | "hanfu_v28.safetensors": null, 216 | "harunoSakuraNaruto_lykonV1.safetensors": null, 217 | "HuluwaGourdMan_v11.safetensors": null, 218 | "hyperbreasts.ckpt": null, 219 | "ink_spark-000002.safetensors": null, 220 | "ink_spark-000004.safetensors": null, 221 | "ink_spark-000006.safetensors": null, 222 | "ink_spark-000008.safetensors": null, 223 | "ink_spark.safetensors": null, 224 | "japaneseDollLikeness_v10.safetensors": null, 225 | "jimLeeDCComicsMarvel_offset.safetensors": null, 226 | "koreanDollLikeness_v15.safetensors": null, 227 | "Leslie_Cheung.safetensors": null, 228 | "Lisa - LoRA Collection of Trauters.ckpt": null, 229 | "liuyifei_10.safetensors": null, 230 | "LORAFlatColor_flatColor.pt": null, 231 | "makimaChainsawMan_offset.safetensors": null, 232 | "mini town-000002.safetensors": null, 233 | "mini town-000004.safetensors": null, 234 | "mini town-000006.safetensors": null, 235 | "mini town-000008.safetensors": null, 236 | "mini town-000010.safetensors": null, 237 | "mini town-000012.safetensors": null, 238 | "mini town-000014.safetensors": null, 239 | "mini town-000016.safetensors": null, 240 | "mini town-000018.safetensors": null, 241 | "mini town.safetensors": null, 242 | "mini_town-000001.safetensors": null, 243 | "mini_town-000002.safetensors": null, 244 | "mini_town-000003.safetensors": null, 245 | "mini_town-000004.safetensors": null, 246 | "mini_town.safetensors": null, 247 | "Moxin_10.safetensors": null, 248 | "Moxin_1010.safetensors": null, 249 | "murataYusukeOnePunchMan_1.safetensors": null, 250 | "myHeroAcademiaHorikoshi_v1.safetensors": null, 251 | "onePieceWanoSagaStyle_20.safetensors": null, 252 | "oyamaMahiro_oyamaMahiro2.safetensors": null, 253 | "realisticAerith_v1.safetensors": null, 254 | "samdoesartsSamYang_offset.safetensors": null, 255 | "samdoesartsSamYang_offsetRightFilesize.safetensors": null, 256 | "shirtTugPoseLORA_shirtTug.safetensors": null, 257 | "slumdunk-000002.safetensors": null, 258 | "slumdunk-000004.safetensors": null, 259 | "slumdunk-000006.safetensors": null, 260 | "slumdunk-000008.safetensors": null, 261 | "slumdunk.safetensors": null, 262 | "studioGhibliStyle_offset.safetensors": null, 263 | "taiwanDollLikeness_v10.safetensors": null, 264 | "tifaMeenow_tifaV2.safetensors": null, 265 | "urbanSamuraiClothing_urbansamuraiV03.safetensors": null, 266 | "wanniya-000003.safetensors": null, 267 | "xiaofu-000004.safetensors": null, 268 | "yaeMikoRealistic_yaemikoMixed.safetensors": null, 269 | "yojiShinkawaStyle_offset.safetensors": null, 270 | "Zhang_Songwen.safetensors": null, 271 | "\u753b\u98ce \u9ed1\u767d \u6d82\u9e26 \u4f5coskarsson.safetensors": null, 272 | "\u771f\u4eba \u6768\u8d85\u8d8a \u4f5cmpmp.safetensors": null, 273 | "\u78a7\u84dd\u5e7b\u60f3\u5154\u795e\u5c06makura.safetensors": null, 274 | "\u7acb\u7ed8\u62c6\u5206lion\u4f18\u5316\u5668 tachie separation.safetensors": null, 275 | "scaler.pt": null, 276 | "AnimeScreenCap.pt": null, 277 | "CGI_Animation-185.pt": null, 278 | "corneo_anal.pt": null, 279 | "CounterfeitV25_25.safetensors": null, 280 | "lyriel_v15.safetensors": null, 281 | "azl_v1-000002.safetensors": null, 282 | "azl_v1-000004.safetensors": null, 283 | "azl_v1-000006.safetensors": null, 284 | "azl_v1-000008.safetensors": null, 285 | "azl_v1-000010.safetensors": null, 286 | "azl_v1-000012.safetensors": null, 287 | "azl_v1-000014.safetensors": null, 288 | "azl_v1-000016.safetensors": null, 289 | "azl_v1-000018.safetensors": null, 290 | "azl_v1.safetensors": null, 291 | "Asuka.safetensors": null, 292 | "wood_tile-long.safetensors": null, 293 | "wood_tile-Square.safetensors": null, 294 | "anthro.pt": null, 295 | "bad-artist.pt": null, 296 | "bad-hands-5.pt": null, 297 | "bad_prompt.pt": null, 298 | "bad_prompt_version2.pt": null, 299 | "bad_quality.pt": null, 300 | "bukkakAI.pt": null, 301 | "CandyPunk.pt": null, 302 | "CharTurner.pt": null, 303 | "CutAway-420.pt": null, 304 | "CutAway-460.pt": null, 305 | "CutAway-500.pt": null, 306 | "ely_neg_prompt.pt": null, 307 | "evil_neg_prompt3.pt": null, 308 | "InkPunk768.pt": null, 309 | "kc32-v4-5000.pt": null, 310 | "midjourney.pt": null, 311 | "Remix.pt": null, 312 | "schizo_neg_prompt.pt": null, 313 | "SDA768.pt": null, 314 | "Style-Empire.pt": null, 315 | "VikingPunk.pt": null, 316 | "webtoon.pt": null, 317 | "ycy_zzj-1000-1050.pt": null, 318 | "ycy_zzj-1000-1100.pt": null, 319 | "ycy_zzj-1000-1150.pt": null, 320 | "ycy_zzj-1000-1200.pt": null, 321 | "ycy_zzj-1000-1250.pt": null, 322 | "ycy_zzj-1000-1300.pt": null, 323 | "ycy_zzj-1000-1350.pt": null, 324 | "ycy_zzj-1000-1400.pt": null, 325 | "ycy_zzj-1000-1450.pt": null, 326 | "ycy_zzj-1000-1500.pt": null, 327 | "ycy_zzj-1000-1550.pt": null, 328 | "ycy_zzj-1000-1600.pt": null, 329 | "ycy_zzj-1000-1650.pt": null, 330 | "ycy_zzj-1000-1700.pt": null, 331 | "ycy_zzj-1000-1750.pt": null, 332 | "ycy_zzj-1000-1800.pt": null, 333 | "ycy_zzj-1000-1850.pt": null, 334 | "ycy_zzj-1000-1900.pt": null, 335 | "ycy_zzj-1000-1950.pt": null, 336 | "ycy_zzj-1000.pt": null, 337 | "ycy_zzj-2000.pt": null, 338 | "ycy_zzj.pt": null, 339 | "facebombmix_v1Bakedvae.safetensors": null, 340 | "mistoonSapphire_v10.safetensors": null, 341 | "LowRA.safetensors": null, 342 | "21SDModernBuildings_midjourneyBuildings.ckpt": null, 343 | "2dn_1.safetensors": null, 344 | "AbyssOrangeMix2_hard.safetensors": null, 345 | "adobisRealFlexibleMix_v2.safetensors": null, 346 | "allInOnePixelModel_v1.ckpt": null, 347 | "aloeverasSimpmaker3K_simpmaker3K1.ckpt": null, 348 | "analogDiffusion_10Safetensors.safetensors": null, 349 | "analogDream3D_10.ckpt": null, 350 | "anovel_speed.ckpt": null, 351 | "anygenV37_anygenv37.ckpt": null, 352 | "Anything-V3.0-pruned.ckpt": null, 353 | "anytwam11Mixedmodel_anytwam11.safetensors": null, 354 | "aoaokoPVCStyleModel_pvcAOAOKO.safetensors": null, 355 | "arcaneDiffusion_v3.ckpt": null, 356 | "Arcane_Diffusion.ckpt": null, 357 | "artErosAerosATribute_aerosNovae.safetensors": null, 358 | "aToZovyaRPGArtistsTools15_sd15V1.safetensors": null, 359 | "ayonimix_V2.safetensors": null, 360 | "babes_11.safetensors": null, 361 | "Basil_mix_fixed.safetensors": null, 362 | "biggerGirlsModel_biggergirlsV2.ckpt": null, 363 | "cheeseDaddys_30.safetensors": null, 364 | "chilloutmix_inpainting.inpainting.safetensors": null, 365 | "chilloutmix_NiPrunedFp32Fix.safetensors": null, 366 | "chillout_west_mix.safetensors": null, 367 | "chromaticcreamv1_chromaticcreamV1.ckpt": null, 368 | "ChromaV5 (2.0).ckpt": null, 369 | "clarity_14.safetensors": null, 370 | "classicNegative1521_classicNegative768px.ckpt": null, 371 | "Colorwater_v4.safetensors": null, 372 | "comicBabes_v1.safetensors": null, 373 | "comicDiffusion_v2.ckpt": null, 374 | "corneos7thHeavenMix_100.safetensors": null, 375 | "corneos7thHeavenMix_v1.safetensors": null, 376 | "Counterfeit-V2.5_pruned.safetensors": null, 377 | "CounterfeitV20_20.ckpt": null, 378 | "cuteRichstyle15_cuteRichstyle.ckpt": null, 379 | "cyberrealistic_v13.safetensors": null, 380 | "cynthiaModela_v10.safetensors": null, 381 | "deliberate_v11-inpainting.inpainting.safetensors": null, 382 | "deliberate_v11.safetensors": null, 383 | "dgspitzerArt_dgspitzerArtDiffusion.safetensors": null, 384 | "diGiMDSToriyamaModel_toriyamaV1.ckpt": null, 385 | "dreamlikeDiffusion10_10.ckpt": null, 386 | "dreamlikePhotoreal20_dreamlikePhotoreal20.safetensors": null, 387 | "dreamshaper_332BakedVaeClipFix.safetensors": null, 388 | "DucHaitenAIart.safetensors": null, 389 | "duchaitenaiart_V20.safetensors": null, 390 | "dvarchMultiPrompt_dvarchExterior.ckpt": null, 391 | "edgeOfRealism_eorV20Fp16BakedVAE.safetensors": null, 392 | "ElldrethsImaginationMix.ckpt": null, 393 | "elldrethsLucidMix_v10.safetensors": null, 394 | "elldrethSOg4060Mix_v10.ckpt": null, 395 | "elldrethsRetroMix_v10.safetensors": null, 396 | "elldrethsVividMix_v20VividEr.safetensors": null, 397 | "Elldreths_OG_4060_mix.ckpt": null, 398 | "Elldreths_Retro_Mix.ckpt": null, 399 | "fkingScifiV2_r41958.safetensors": null, 400 | "furtasticv11_furtasticv11.safetensors": null, 401 | "futagen_2.safetensors": null, 402 | "galaxytimemachinesGTM_v1.safetensors": null, 403 | "Grapefruit.safetensors": null, 404 | "grapeGrapefruitHenta_grapefruitV11.safetensors": null, 405 | "GrapeLikeDreamFruit.ckpt": null, 406 | "gta5ArtworkDiffusion_v1.ckpt": null, 407 | "hAS3Dkx10B_3Dkx10B.safetensors": null, 408 | "hasdx_hasedsdx.safetensors": null, 409 | "hassanblend1512And_hassanblend1512.safetensors": null, 410 | "hassanBlendAllVersio_hassanBlend14.safetensors": null, 411 | "HAs_3DKX 1.1.ckpt": null, 412 | "healySAnimeBlend_17.ckpt": null, 413 | "Healys_Anime_Blend.ckpt": null, 414 | "homoerotic_v2.safetensors": null, 415 | "icomix_V02Pruned.safetensors": null, 416 | "Inkpunk-Diffusion-v2.ckpt": null, 417 | "inkpunkDiffusion_v2-inpainting-fp16-no-ema.safetensors": null, 418 | "inkpunkDiffusion_v2-inpainting.safetensors": null, 419 | "inkpunkDiffusion_v2.ckpt": null, 420 | "instruct-pix2pix-00-22000.safetensors": null, 421 | "jaksCreepyCritter_sd21768px.ckpt": null, 422 | "jhSSamdoesarts_v5.ckpt": null, 423 | "kenshi_00.safetensors": null, 424 | "knollingcase_v1.ckpt": null, 425 | "kotosAbyssproto_v10.safetensors": null, 426 | "ligneClaireAnime_v1.safetensors": null, 427 | "majorXs2DPOVModel_2dpov11.ckpt": null, 428 | "mandarine_3.ckpt": null, 429 | "marvelWhatIf_v2.ckpt": null, 430 | "meinamix_meinaV8.safetensors": null, 431 | "meinamix_meinaV9.safetensors": null, 432 | "mimi_V3.safetensors": null, 433 | "mini_town_v1.safetensors": null, 434 | "mixProV3_v3.safetensors": null, 435 | "mixProV4_v4.safetensors": null, 436 | "modernDisney_v1.ckpt": null, 437 | "moistmix_v2.safetensors": null, 438 | "openjourney-v2.ckpt": null, 439 | "openjourneyAka_v1.ckpt": null, 440 | "owlerartStyle_v2.safetensors": null, 441 | "pastelMixStylizedAnime_pastelMixPrunedFP16.safetensors": null, 442 | "pfg_111Safetensors.safetensors": null, 443 | "pixhell_v20.safetensors": null, 444 | "princessZeldaLora_v1.safetensors": null, 445 | "projectUnrealEngine5_projectUnrealEngine5B.ckpt": null, 446 | "protogenV22Anime_22.safetensors": null, 447 | "protogenX34Photorealism_1.safetensors": null, 448 | "protogenX34Photoreal_1.safetensors": null, 449 | "protogenX58RebuiltScifi_10.ckpt": null, 450 | "protogenX58RebuiltScifi_10.safetensors": null, 451 | "protogenX58RebuiltSc_10.safetensors": null, 452 | "purepornplusMerge_purepornplus10.ckpt": null, 453 | "pyraMythraPneuma_50Epochs.safetensors": null, 454 | "qgo10a_qgo10a.safetensors": null, 455 | "ratnikamix_2.safetensors": null, 456 | "realeldenapocalypse_Analogsexknoll.safetensors": null, 457 | "realisticVisionV13_v12.safetensors": null, 458 | "realisticVisionV20_v20.safetensors": null, 459 | "realLifeTest_realLifeTest.ckpt": null, 460 | "redshiftDiffusion_v1.ckpt": null, 461 | "revAnimated_v11.safetensors": null, 462 | "revAnimated_v122.safetensors": null, 463 | "roboeticsMix_rmix01Ckpt.ckpt": null, 464 | "RPG.ckpt": null, 465 | "s1dlxbrew_02.safetensors": null, 466 | "samdoesartsUltmerge_v1.ckpt": null, 467 | "schoolAnime_schoolAnime.safetensors": null, 468 | "schoolmax25d_11.ckpt": null, 469 | "sd-v1-4.ckpt": null, 470 | "sd-v1-5-inpainting.ckpt": null, 471 | "shadyArtOFFICIAL_shadyArt1.safetensors": null, 472 | "shanshui_v0-000002.safetensors": null, 473 | "spybgsToolkitFor_v40YoutubeChannel.ckpt": null, 474 | "stablydiffusedsWild_3.safetensors": null, 475 | "StablyDiffuseds_Aesthetic_Mix.ckpt": null, 476 | "superheroDiffusion_v1.ckpt": null, 477 | "surugaModel_suruga12K.ckpt": null, 478 | "synthwavepunk_v2.ckpt": null, 479 | "theallysMixIIChurned_v10.safetensors": null, 480 | "theAllysMix_v10Safetensors.safetensors": null, 481 | "tmndMix_tmndMixPlus.safetensors": null, 482 | "toonyou_alpha3.safetensors": null, 483 | "uberRealisticPornMerge_urpmv12.safetensors": null, 484 | "unstableinkdream_v6.safetensors": null, 485 | "unstableinkdream_v73.safetensors": null, 486 | "unstablephotorealv5_05.ckpt": null, 487 | "v1-5-pruned.ckpt": null, 488 | "v2-1_768-nonema-pruned.ckpt": null, 489 | "wd-v1-3-full.ckpt": null, 490 | "wlop_1.ckpt": null, 491 | "yiffymix_.safetensors": null, 492 | "yinmu.safetensors": null, 493 | "\u5565\u73a9\u610f\u5b8c\u728a\u5b50F16.safetensors": null, 494 | "AnimeKiss.safetensors": null, 495 | "gakkou-00008.safetensors": null, 496 | "miniatureWorldStyle_v10.safetensors": null, 497 | "WuMo2.safetensors": null, 498 | "[LoCon] Octans\u516b\u5206\u5100 Style.safetensors": null, 499 | "CounterfeitV30_v30.safetensors": null, 500 | "flat2DAnimerge_v10.safetensors": null, 501 | "miniature_V1.safetensors": null, 502 | "rcnzsDumbMonkey_v10.safetensors": null, 503 | "saucitySauce_ssumdPlus.safetensors": null, 504 | "shanshui_v0.1.safetensors": null, 505 | "vividWatercolors_10.safetensors": null, 506 | "test\\3Guofeng3_v33.safetensors": null, 507 | "test\\schoolAnime_schoolAnime.safetensors": null, 508 | "beautifulRealistic_brav5.safetensors": null, 509 | "80year03.safetensors": null, 510 | "9khp2znuogB.safetensors": null, 511 | "battle_uniform-v1.1-000001.safetensors": null, 512 | "battle_uniform-v1.1-000002.safetensors": null, 513 | "battle_uniform-v1.1-000003.safetensors": null, 514 | "battle_uniform-v1.1-000004.safetensors": null, 515 | "battle_uniform-v1.1-000005.safetensors": null, 516 | "battle_uniform-v1.1-000006.safetensors": null, 517 | "battle_uniform-v1.1-000007.safetensors": null, 518 | "battle_uniform-v1.1-000008.safetensors": null, 519 | "battle_uniform-v1.1-000009.safetensors": null, 520 | "battle_uniform-v1.1.safetensors": null, 521 | "battle_uniform-v1.2-000001.safetensors": null, 522 | "battle_uniform-v1.2-000002.safetensors": null, 523 | "battle_uniform-v1.2-000003.safetensors": null, 524 | "battle_uniform-v1.2-000004.safetensors": null, 525 | "battle_uniform-v1.2-000005.safetensors": null, 526 | "battle_uniform-v1.2-000006.safetensors": null, 527 | "battle_uniform-v1.2-000007.safetensors": null, 528 | "battle_uniform-v1.2-000008.safetensors": null, 529 | "battle_uniform-v1.2-000009.safetensors": null, 530 | "battle_uniform-v1.2-000010.safetensors": null, 531 | "battle_uniform-v1.2-000011.safetensors": null, 532 | "battle_uniform-v1.2-000012.safetensors": null, 533 | "battle_uniform-v1.2-000013.safetensors": null, 534 | "battle_uniform-v1.2-000014.safetensors": null, 535 | "battle_uniform-v1.2-000015.safetensors": null, 536 | "battle_uniform-v1.2-000016.safetensors": null, 537 | "battle_uniform-v1.2-000017.safetensors": null, 538 | "battle_uniform-v1.2-000018.safetensors": null, 539 | "battle_uniform-v1.2-000019.safetensors": null, 540 | "battle_uniform-v1.2-000020.safetensors": null, 541 | "battle_uniform-v1.2-000021.safetensors": null, 542 | "battle_uniform-v1.2-000022.safetensors": null, 543 | "battle_uniform-v1.2-000023.safetensors": null, 544 | "battle_uniform-v1.2-000024.safetensors": null, 545 | "battle_uniform-v1.2-000025.safetensors": null, 546 | "battle_uniform-v1.2-000026.safetensors": null, 547 | "battle_uniform-v1.2-000027.safetensors": null, 548 | "battle_uniform-v1.2-000028.safetensors": null, 549 | "battle_uniform-v1.2-000029.safetensors": null, 550 | "battle_uniform-v1.2-000030.safetensors": null, 551 | "battle_uniform-v1.2-000031.safetensors": null, 552 | "battle_uniform-v1.2-000032.safetensors": null, 553 | "battle_uniform-v1.2-000033.safetensors": null, 554 | "battle_uniform-v1.2-000034.safetensors": null, 555 | "battle_uniform-v1.2-000035.safetensors": null, 556 | "battle_uniform-v1.2-000036.safetensors": null, 557 | "battle_uniform-v1.2-000037.safetensors": null, 558 | "battle_uniform-v1.2-000038.safetensors": null, 559 | "battle_uniform-v1.2-000039.safetensors": null, 560 | "battle_uniform-v1.2-000040.safetensors": null, 561 | "battle_uniform-v1.2-000041.safetensors": null, 562 | "battle_uniform-v1.2-000042.safetensors": null, 563 | "battle_uniform-v1.2-000043.safetensors": null, 564 | "battle_uniform-v1.2-000044.safetensors": null, 565 | "battle_uniform-v1.2-000045.safetensors": null, 566 | "battle_uniform-v1.2-000046.safetensors": null, 567 | "battle_uniform-v1.2-000047.safetensors": null, 568 | "battle_uniform-v1.2-000048.safetensors": null, 569 | "battle_uniform-v1.2-000049.safetensors": null, 570 | "battle_uniform-v1.2.safetensors": null, 571 | "battle_uniform_v1-000002.safetensors": null, 572 | "battle_uniform_v1-000004.safetensors": null, 573 | "battle_uniform_v1-000006.safetensors": null, 574 | "battle_uniform_v1-000008.safetensors": null, 575 | "battle_uniform_v1-000010.safetensors": null, 576 | "battle_uniform_v1-000012.safetensors": null, 577 | "battle_uniform_v1-000014.safetensors": null, 578 | "battle_uniform_v1-000016.safetensors": null, 579 | "battle_uniform_v1-000018.safetensors": null, 580 | "battle_uniform_v1-000020.safetensors": null, 581 | "battle_uniform_v1-000022.safetensors": null, 582 | "battle_uniform_v1-000024.safetensors": null, 583 | "battle_uniform_v1-000026.safetensors": null, 584 | "battle_uniform_v1-000028.safetensors": null, 585 | "battle_uniform_v1-000030.safetensors": null, 586 | "bookcover_V2_loha-000033.safetensors": null, 587 | "Boxcomple-15.safetensors": null, 588 | "childbookfinv2.safetensors": null, 589 | "ChineseKungFu.safetensors": null, 590 | "ClearVAE_V2.2.safetensors": null, 591 | "Cthulhu_monster.safetensors": null, 592 | "dunhuang_v20.safetensors": null, 593 | "Elegant hanfu ruqun style.safetensors": null, 594 | "Girls in Glass Jars v3.safetensors": null, 595 | "Girls' Frontline-OTs-14[lightning]-V3.safetensors": null, 596 | "hanfu_v30.safetensors": null, 597 | "history_scroll_0.5.safetensors": null, 598 | "howlbgsv3.safetensors": null, 599 | "LAS.safetensors": null, 600 | "Light and Shadow.safetensors": null, 601 | "Lora-Custom-ModelLiXian.safetensors": null, 602 | "lora_CelestialHarmony.safetensors": null, 603 | "mafuyulightmakeup.safetensors": null, 604 | "mafuyuLoraOfFace_origin.safetensors": null, 605 | "mario.safetensors": null, 606 | "miaoLan_165.safetensors": null, 607 | "mini2dtest_V2_loha.safetensors": null, 608 | "MultipleGirlsGroup.safetensors": null, 609 | "nami_final_offset.safetensors": null, 610 | "neowrsk.safetensors": null, 611 | "niba_style_v1.safetensors": null, 612 | "nico_robin_post_timeskip_offset.safetensors": null, 613 | "phoenixMarie.safetensors": null, 614 | "pixel_V1_loha-000024.safetensors": null, 615 | "piying_v0.1-side_view.safetensors": null, 616 | "Pmini_v3.5.18.safetensors": null, 617 | "qy_bookcover_v1.safetensors": null, 618 | "rageMode_v1.safetensors": null, 619 | "shinkai_makoto_offset.safetensors": null, 620 | "SurrealHarmony.safetensors": null, 621 | "toonyou_lora.safetensors": null, 622 | "toonyou_lycoris.safetensors": null, 623 | "WaterMargin_v1.safetensors": null, 624 | "zgf_v2_loha-000030.safetensors": null, 625 | "2dposter_v1_loha-000015.safetensors": null, 626 | "OF_Coconut_Kitty.safetensors": null, 627 | "aZovyaPhotoreal_v2.safetensors": null, 628 | "meinahentai_v4.safetensors": null, 629 | "3DMM_V11.safetensors": null, 630 | "anythingqingmix25D_v10.safetensors": null, 631 | "anythingV3Inpainting_1-inpainting.ckpt": null, 632 | "AnythingV5Ink_v32Ink.safetensors": null, 633 | "couterfeitv30_v30.inpainting.safetensors": null, 634 | "disneyPixarCartoon_v10.safetensors": null, 635 | "dis_V1-000020.safetensors": null, 636 | "ghostmix_v20Bakedvae.safetensors": null, 637 | "guofengrealmix_v10.safetensors": null, 638 | "majicMIX fantasy_v1.0.safetensors": null, 639 | "majicmixRealistic_v4.safetensors": null, 640 | "majicmixRealistic_v6.safetensors": null, 641 | "miaoshouai-anything-v4-pruned.safetensors": null, 642 | "niantu_v1.safetensors": null, 643 | "oukaGufeng_s1.safetensors": null, 644 | "pixarStyleModel_v10.ckpt": null, 645 | "rpg_V4.inpainting.safetensors": null, 646 | "rpg_V4.safetensors": null, 647 | "rpg_v4_2.inpainting.safetensors": null, 648 | "sdxl_base_pruned_no-ema.safetensors": null, 649 | "sdxl_refiner_pruned_no-ema.safetensors": null, 650 | "model_contest_1\\1-DangerAngelSavour10.safetensors-ckpt.safetensors": null, 651 | "model_contest_1\\10-huacai1.0-ckpt.safetensors": null, 652 | "model_contest_1\\11-CmixG-ckpt.safetensors": null, 653 | "model_contest_1\\16-NewGufengV1.0-ckpt.safetensors": null, 654 | "model_contest_1\\29-xxmix9realistic v4.0-ckpt.safetensors": null, 655 | "model_contest_1\\32-Rely on Defenc-ckpt.safetensors": null, 656 | "model_contest_1\\33-super_gufeng-ckpt.safetensors": null, 657 | "model_contest_1\\35-Dream CNrealistic_MIXv11-ckpt.safetensors": null, 658 | "model_contest_1\\38-version V1-ckpt.safetensors": null, 659 | "model_contest_1\\40-Alpha Lyrae-ckpt.safetensors": null, 660 | "model_contest_1\\41-tkf-ckpt.safetensors": null, 661 | "model_contest_1\\5-Dream CNrealistic_MIXv21-ckpt.safetensors": null, 662 | "model_contest_1\\54-guofeng-checkpoint.safetensors": null, 663 | "model_contest_1\\68-Colorful_girl-checkpoint.ckpt": null, 664 | "model_contest_1\\71-GCM-Game Concept Map-checkpoint.safetensors": null, 665 | "model_contest_1\\76-SJ_real109-checkpoint.safetensors": null, 666 | "model_contest_1\\95-chunzi-checkpoiint.ckpt": null, 667 | "model_contest_1\\99-Dream CNrealistic_MIXv12-checkpoint.safetensors": null, 668 | "model_contest_1\\CMixG-1-0.33.safetensors": null, 669 | "leokan.safetensors": null, 670 | "Moses_ten_commandments-BibleGilgalHK-V1.safetensors": null 671 | } --------------------------------------------------------------------------------