@echo off setlocal enabledelayedexpansion :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 ControlNet V3 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 ) REM Check if 7-Zip is installed and get its path for %%I in (7z.exe) do set "SEVEN_ZIP_PATH=%%~$PATH:I" if not defined SEVEN_ZIP_PATH ( if exist "%ProgramFiles%\7-Zip\7z.exe" ( set "SEVEN_ZIP_PATH=%ProgramFiles%\7-Zip\7z.exe" ) else if exist "%ProgramFiles(x86)%\7-Zip\7z.exe" ( set "SEVEN_ZIP_PATH=%ProgramFiles(x86)%\7-Zip\7z.exe" ) else ( echo 7-Zip is not installed. Downloading and installing... curl -L -o 7z-installer.exe https://www.7-zip.org/a/7z2201-x64.exe 7z-installer.exe /S set "SEVEN_ZIP_PATH=%ProgramFiles%\7-Zip\7z.exe" if not exist "%SEVEN_ZIP_PATH%" ( echo Installation of 7-Zip failed. Please install it manually and try again. exit /b 1 ) del 7z-installer.exe ) ) REM Check and install Git git --version > NUL 2>&1 if %errorlevel% NEQ 0 ( echo Installing Git... powershell -Command "& {Invoke-WebRequest -Uri 'https://github.com/git-for-windows/git/releases/download/v2.41.0.windows.3/Git-2.41.0.3-64-bit.exe' -OutFile 'Git-2.41.0.3-64-bit.exe'; if ($LASTEXITCODE -ne 0) { exit 1 }}" if %errorlevel% NEQ 0 ( echo Failed to download Git installer. exit /b ) start /wait Git-2.41.0.3-64-bit.exe /VERYSILENT del Git-2.41.0.3-64-bit.exe ) else ( echo Git already installed. ) REM Download ComfyUI echo Downloading ComfyUI... curl -L -o ComfyUI_windows_portable_nvidia_cu121_or_cpu.7z https://github.com/comfyanonymous/ComfyUI/releases/download/latest/ComfyUI_windows_portable_nvidia_cu121_or_cpu.7z REM Extract ComfyUI echo Extracting ComfyUI... "%SEVEN_ZIP_PATH%" x ComfyUI_windows_portable_nvidia_cu121_or_cpu.7z -o"%CD%" -y REM Check if extraction was successful if not exist "ComfyUI_windows_portable" ( echo Extraction failed. Please check the downloaded file and try again. exit /b 1 ) REM Navigate to custom_nodes folder cd ComfyUI_windows_portable\ComfyUI\custom_nodes REM Clone ComfyUI-Manager echo Cloning ComfyUI-Manager... git clone https://github.com/ltdrdata/ComfyUI-Manager.git REM Navigate to models folder cd ..\models REM Download VAE file echo Downloading VAE file... cd vae curl -L -o ae.safetensors https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/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/FLUX-auto_installer/resolve/main/clip_l.safetensors?download=true curl -L -o t5xxl_fp8_e4m3fn.safetensors https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/t5xxl_fp8_e4m3fn.safetensors?download=true curl -L -o t5xxl_fp16.safetensors https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/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/FLUX-auto_installer/resolve/main/flux1-dev-fp8.safetensors?download=true ) else ( curl -L -o flux1-dev.sft https://huggingface.co/Aitrepreneur/FLX/resolve/main/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/FLUX-auto_installer/resolve/main/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 ) 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 .\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 ..\..\.. mkdir .\user\default echo Downloading comfy settings... cd user\default curl -L -o comfy.settings.json https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/comfy.settings.json?download=true echo Downloading comfy workflow... mkdir .\workflows cd workflows curl -L -o "FLUX - TXT to IMG.json" https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/FLUX-TXTtoIMG.json?download=true curl -L -o "FLUX - IMG to IMG.json" https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/FLUX-IMGtoIMG.json?download=true curl -L -o "FLUX - Inpainting.json" https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/FLUX-Inpainting.json?download=true curl -L -o "FLUX - Upscale.json" https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/FLUX-Upscale.json?download=true curl -L -o "FLUX - CTRLNet DEPTH.json" https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/FLUX-CTRLNetDEPTH.json?download=true curl -L -o "FLUX - CTRLNet CANNY.json" https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/FLUX-CTRLNetCANNY.json?download=true curl -L -o "FLUX - CTRLNet HED.json" https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/FLUX-CTRLNetHED.json?download=true cd ..\..\..\.. REM Final steps based on user choice if "%INSTALL_TYPE%"=="fast-lowvram" ( echo Downloading special run file for fast-lowvram... curl -L -o "run_nvidia_gpu-LOWVRAM.bat" "https://huggingface.co/UmeAiRT/FLUX-auto_installer/resolve/main/run_nvidia_gpu-LOWVRAM.bat?download=true" echo ComfyUI and FLUX installed. Running ComfyUI... call "run_nvidia_gpu-LOWVRAM.bat" ) else ( echo ComfyUI and FLUX installed. HAVE FUN ;) )