@echo off setlocal enabledelayedexpansion set "comfyUIPath=%CD%" :check_folder if exist "%comfyUIPath%\ComfyUI" ( echo ComfyUI folder detected ) else if exist "%comfyUIPath%\ComfyUI_windows_portable" ( cd ComfyUI_windows_portable echo ComfyUI folder detected ) else ( echo ComfyUI folder not detected pause exit /b ) :CHOOSE_OPTION REM Ask user for installation type echo Choose your preferred installation: echo A) Fast-Lowvram install echo B) Unoptimized normal model set /p "CHOICE=Enter your choice (A or B) and press Enter: " if /i "%CHOICE%"=="A" ( set "INSTALL_TYPE=fast-lowvram" ) else if /i "%CHOICE%"=="B" ( set "INSTALL_TYPE=unoptimized" ) else ( echo Invalid choice. Please enter A or B. goto CHOOSE_OPTION ) :CHOOSE_FLUX_SCHNELL REM Ask user if they want to download FLUX SCHNELL Model echo Do you want to download the FLUX SCHNELL Model? echo A) Yes echo B) No set /p "FLUX_SCHNELL_CHOICE=Enter your choice (A or B) and press Enter: " if /i "%FLUX_SCHNELL_CHOICE%"=="A" ( set "DOWNLOAD_FLUX_SCHNELL=yes" ) else if /i "%FLUX_SCHNELL_CHOICE%"=="B" ( set "DOWNLOAD_FLUX_SCHNELL=no" ) else ( echo Invalid choice. Please enter A or B. goto CHOOSE_FLUX_SCHNELL ) :CHOOSE_FLUX_GGUF REM Ask user if they want to download FLUX GGUF Model echo Do you want to download FLUX GGUF Models? echo A) Q8_0 + T5_Q8 (24GB Vram) echo B) Q5_K_S + T5_Q5_K_M (16GB Vram) echo C) Q4_K_S + T5_Q3_K_L (less than 12GB Vram) echo D) All echo E) No set /p "FLUX_GGUF_CHOICE=Enter your choice (A,B,C,D or E) and press Enter: " if /i "%FLUX_GGUF_CHOICE%"=="A" ( set "DOWNLOAD_GGUF=yes" ) else if /i "%FLUX_GGUF_CHOICE%"=="B" ( set "DOWNLOAD_GGUF=yes" ) else if /i "%FLUX_GGUF_CHOICE%"=="C" ( set "DOWNLOAD_GGUF=yes" ) else if /i "%FLUX_GGUF_CHOICE%"=="D" ( set "DOWNLOAD_GGUF=yes" ) else if /i "%FLUX_GGUF_CHOICE%"=="E" ( set "DOWNLOAD_GGUF=no" ) else ( echo Invalid choice. Please enter A or B. goto CHOOSE_FLUX_GGUF ) :CHOOSE_FLUX_CONTROLNET REM Ask user if they want to download FLUX SCHNELL Model echo Do you want to download FLUX ControlNet Models? echo A) Yes echo B) No set /p "FLUX_CONTROLNET_CHOICE=Enter your choice (A or B) and press Enter: " if /i "%FLUX_CONTROLNET_CHOICE%"=="A" ( set "DOWNLOAD_FLUX_CONTROLNET=yes" ) else if /i "%FLUX_CONTROLNET_CHOICE%"=="B" ( set "DOWNLOAD_FLUX_CONTROLNET=no" ) else ( echo Invalid choice. Please enter A or B. goto CHOOSE_FLUX_CONTROLNET ) :CHOOSE_FLUX_LORA REM Ask user if they want to download FLUX LORA echo Do you want to download UmeAiRT LoRAs? echo A) Yes echo B) No set /p "FLUX_LORA_CHOICE=Enter your choice (A or B) and press Enter: " if /i "%FLUX_LORA_CHOICE%"=="A" ( set "DOWNLOAD_FLUX_LORA=yes" ) else if /i "%FLUX_LORA_CHOICE%"=="B" ( set "DOWNLOAD_FLUX_LORA=no" ) else ( echo Invalid choice. Please enter A or B. goto CHOOSE_FLUX_LORA ) cd ComfyUI\models curl -L -o "insightface.7z" https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/insightface.7z?download=true >nul 2>&1 "%SEVEN_ZIP_PATH%" x insightface.7z -o"%CD%" -y >nul 2>&1 del /f insightface.7z -force >nul 2>&1 mkdir pulid cd pulid curl -L -o "pulid_flux_v0.9.0.safetensors" https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/pulid/pulid_flux_v0.9.0.safetensors?download=true >nul 2>&1 cd .. REM Download VAE file echo Downloading VAE file... cd vae curl -L -o ae.safetensors https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/vae/ae.safetensors?download=true cd .. REM Download CLIP files echo Downloading CLIP files... cd clip curl -L -o "clip_l.safetensors" https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/clip/clip_l.safetensors?download=true curl -L -o "longclip-L.pt" https://huggingface.co/BeichenZhang/LongCLIP-L/blob/main/longclip-L.pt?download=true curl -L -o "t5xxl_fp8_e4m3fn.safetensors" https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/clip/t5xxl_fp8_e4m3fn.safetensors?download=true curl -L -o "t5xxl_fp16.safetensors" https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/clip/t5xxl_fp16.safetensors?download=true curl -L -o "ViT-L-14-TEXT-detail-improved-hiT-GmP-TE-only-HF.safetensors" https://huggingface.co/zer0int/CLIP-GmP-ViT-L-14/resolve/main/ViT-L-14-TEXT-detail-improved-hiT-GmP-TE-only-HF.safetensors?download=true if "%DOWNLOAD_GGUF%"=="yes" ( echo Downloading FLUX GGUF encoder Model... if /i "%FLUX_GGUF_CHOICE%"=="A" ( curl -L -o t5-v1_1-xxl-encoder-Q8_0.gguf https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf/resolve/main/t5-v1_1-xxl-encoder-Q8_0.gguf?download=true ) else if /i "%FLUX_GGUF_CHOICE%"=="B" ( curl -L -o t5-v1_1-xxl-encoder-Q5_K_M.gguf https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf/resolve/main/t5-v1_1-xxl-encoder-Q5_K_M.gguf?download=true ) else if /i "%FLUX_GGUF_CHOICE%"=="C" ( curl -L -o t5-v1_1-xxl-encoder-Q3_K_L.gguf https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf/resolve/main/t5-v1_1-xxl-encoder-Q3_K_L.gguf?download=true ) else if /i "%FLUX_GGUF_CHOICE%"=="D" ( curl -L -o t5-v1_1-xxl-encoder-Q8_0.gguf https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf/resolve/main/t5-v1_1-xxl-encoder-Q8_0.gguf?download=true curl -L -o t5-v1_1-xxl-encoder-Q5_K_M.gguf https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf/resolve/main/t5-v1_1-xxl-encoder-Q5_K_M.gguf?download=true curl -L -o t5-v1_1-xxl-encoder-Q3_K_L.gguf https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf/resolve/main/t5-v1_1-xxl-encoder-Q3_K_L.gguf?download=true ) ) cd .. REM Download UNET file based on user choice echo Downloading UNET file... cd unet if "%INSTALL_TYPE%"=="fast-lowvram" ( curl -L -o flux1-dev-fp8.safetensors https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/unet/flux1-dev-fp8.safetensors?download=true ) else ( curl -L -o flux1-dev.sft https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/unet/flux1-dev.sft?download=true ) if "%DOWNLOAD_GGUF%"=="yes" ( echo Downloading FLUX GGUF Model... if /i "%FLUX_GGUF_CHOICE%"=="A" ( curl -L -o flux1-dev-Q8_0.gguf https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q8_0.gguf?download=true ) else if /i "%FLUX_GGUF_CHOICE%"=="B" ( curl -L -o flux1-dev-Q5_K_S.gguf https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q5_K_S.gguf?download=true ) else if /i "%FLUX_GGUF_CHOICE%"=="C" ( curl -L -o flux1-dev-Q4_K_S.gguf https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q4_K_S.gguf?download=true ) else if /i "%FLUX_GGUF_CHOICE%"=="D" ( curl -L -o flux1-dev-Q8_0.gguf https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q8_0.gguf?download=true curl -L -o flux1-dev-Q5_K_S.gguf https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q5_K_S.gguf?download=true curl -L -o flux1-dev-Q4_K_S.gguf https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q4_K_S.gguf?download=true ) ) REM Download FLUX SCHNELL Model if user chose to if "%DOWNLOAD_FLUX_SCHNELL%"=="yes" ( echo Downloading FLUX SCHNELL Model... curl -L -o flux1-schnell-fp8.safetensors https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/unet/flux1-schnell-fp8.safetensors?download=true ) cd .. cd loras REM Download FLUX SCHNELL Model if user chose to if "%DOWNLOAD_FLUX_LORA%"=="yes" ( echo Downloading UmeAiRT LoRAs... curl -L -o ume_sky_v2.safetensors https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Ume_Sky/resolve/main/ume_sky_v2.safetensors?download=true curl -L -o ume_modern_pixelart.safetensors https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Modern_Pixel_art/resolve/main/ume_modern_pixelart.safetensors?download=true curl -L -o ume_classic_Romanticism.safetensors https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Romanticism/resolve/main/ume_classic_Romanticism.safetensors?download=true curl -L -o ume_classic_impressionist.safetensors https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Impressionism/resolve/main/ume_classic_impressionist.safetensors?download=true curl -L -o ume_the-little-newspaper.safetensors https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Ume_J1900/resolve/main/umej1900.safetensors?download=true curl -L -o ume_knight.safetensors https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Ume_Knight/resolve/main/ume_gachaak.safetensors?download=true ) cd .. REM Download upscale model echo Downloading upscale models... cd upscale_models curl -L -o 4x_NMKD-Siax_200k.pth https://huggingface.co/uwg/upscaler/resolve/main/ESRGAN/4x_NMKD-Siax_200k.pth?download=true curl -L -o 4x-ClearRealityV1.pth https://huggingface.co/skbhadra/ClearRealityV1/resolve/main/4x-ClearRealityV1.pth?download=true cd .. mkdir LLM mkdir .\xlabs\controlnets cd xlabs\controlnets REM Download FLUX ControlNet Models if user chose to if "%DOWNLOAD_FLUX_CONTROLNET%"=="yes" ( echo Downloading FLUX ControlNet Models... curl -L -o flux-canny-controlnet-v3.safetensors https://huggingface.co/XLabs-AI/flux-controlnet-canny-v3/resolve/main/flux-canny-controlnet-v3.safetensors?download=true curl -L -o flux-depth-controlnet-v3.safetensors https://huggingface.co/XLabs-AI/flux-controlnet-depth-v3/resolve/main/flux-depth-controlnet-v3.safetensors?download=true curl -L -o flux-hed-controlnet-v3.safetensors https://huggingface.co/XLabs-AI/flux-controlnet-hed-v3/resolve/main/flux-hed-controlnet-v3.safetensors?download=true cd ..\.. cd unet curl -L -o flux1-depth-dev-fp8.safetensors https://huggingface.co/boricuapab/flux1-depth-dev-fp8/resolve/main/flux1-depth-dev-fp8.safetensors?download=true curl -L -o flux1-canny-dev-fp8.safetensors https://huggingface.co/boricuapab/flux1-canny-dev-fp8/resolve/main/flux1-canny-dev-fp8.safetensors?download=true if "%DOWNLOAD_GGUF%"=="yes" ( echo Downloading ControlNet GGUF Model... if /i "%FLUX_GGUF_CHOICE%"=="A" ( curl -L -o flux1-depth-dev-fp16-Q8_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Depth-dev-GGUF/resolve/main/flux1-depth-dev-fp16-Q8_0-GGUF.gguf?download=true curl -L -o flux1-canny-dev-fp16-Q8_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Canny-dev-GGUF/resolve/main/flux1-canny-dev-fp16-Q8_0-GGUF.gguf?download=true ) else if /i "%FLUX_GGUF_CHOICE%"=="B" ( curl -L -o flux1-depth-dev-fp16-Q5_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Depth-dev-GGUF/resolve/main/flux1-depth-dev-fp16-Q5_0-GGUF.gguf?download=true curl -L -o flux1-canny-dev-fp16-Q5_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Canny-dev-GGUF/resolve/main/flux1-canny-dev-fp16-Q5_0-GGUF.gguf?download=true ) else if /i "%FLUX_GGUF_CHOICE%"=="C" ( curl -L -o flux1-depth-dev-fp16-Q4_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Depth-dev-GGUF/resolve/main/flux1-depth-dev-fp16-Q4_0-GGUF.gguf?download=true curl -L -o flux1-canny-dev-fp16-Q4_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Canny-dev-GGUF/resolve/main/flux1-canny-dev-fp16-Q4_0-GGUF.gguf?download=true ) else if /i "%FLUX_GGUF_CHOICE%"=="D" ( curl -L -o flux1-depth-dev-fp16-Q8_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Depth-dev-GGUF/resolve/main/flux1-depth-dev-fp16-Q8_0-GGUF.gguf?download=true curl -L -o flux1-depth-dev-fp16-Q5_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Depth-dev-GGUF/resolve/main/flux1-depth-dev-fp16-Q5_0-GGUF.gguf?download=true curl -L -o flux1-depth-dev-fp16-Q4_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Depth-dev-GGUF/resolve/main/flux1-depth-dev-fp16-Q4_0-GGUF.gguf?download=true curl -L -o flux1-canny-dev-fp16-Q8_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Canny-dev-GGUF/resolve/main/flux1-canny-dev-fp16-Q8_0-GGUF.gguf?download=true curl -L -o flux1-canny-dev-fp16-Q5_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Canny-dev-GGUF/resolve/main/flux1-canny-dev-fp16-Q5_0-GGUF.gguf?download=true curl -L -o flux1-canny-dev-fp16-Q4_0-GGUF.gguf https://huggingface.co/SporkySporkness/FLUX.1-Canny-dev-GGUF/resolve/main/flux1-canny-dev-fp16-Q4_0-GGUF.gguf?download=true ) ) cd .. cd controlnet curl -L -o diffusion_pytorch_model_promax.safetensors https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/controlnet/diffusion_pytorch_model_promax.safetensors?download=true curl -L -o Shakker-LabsFLUX1-dev-ControlNet-Union-Pro.safetensors https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/controlnet/Shakker-LabsFLUX1-dev-ControlNet-Union-Pro.safetensors?download=true )