File size: 12,319 Bytes
aff16f3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
@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 ;)
)