download.py
2.06 KB
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
"""Pre-download MiniMax-H3 NF4 weights via DiffSynth's own ModelConfig,
so the on-disk layout matches exactly what the pipeline later resolves.
已下过的会被 download_if_necessary() 跳过,重跑是幂等的。
两个分区:FL2VA 收首末帧,Ref2VA 收任意多张参考图/参考视频,
DiT 与 processor 各一套,VAE 和文本编码器共用。"""
import os, time, traceback
from diffsynth.core.loader import ModelConfig
JOBS = [ # small first, so a load smoke-test can start early
("MiniMax/MiniMax-H3", "FL2VA/processor/"),
("DiffSynth-Studio/MiniMax-H3-NF4", "audio_vae_nf4.safetensors"),
("DiffSynth-Studio/MiniMax-H3-NF4", "video_vae_nf4.safetensors"),
("lightx2v/Minimax-h3-Turbo", "minimax_h3_fl2v_turbo_4step_v1.0_768p_bf16.safetensors"),
("DiffSynth-Studio/MiniMax-H3-NF4", "minimax-h3-text-encoder-nf4.safetensors"),
("DiffSynth-Studio/MiniMax-H3-NF4", "minimax-h3-fl2va-nf4.safetensors"),
# Ref2VA:参考图模式。Turbo LoRA 只有 v0.1,FL2V 那个是 v1.0 768p。
("MiniMax/MiniMax-H3", "Ref2VA/processor/"),
("lightx2v/Minimax-h3-Turbo", "minimax_h3_ref2v_turbo_4step_v0.1_bf16.safetensors"),
("DiffSynth-Studio/MiniMax-H3-NF4", "minimax-h3-ref2va-nf4.safetensors"),
# 上面那个 bf16 版实测出噪点(二分见 docs/H3)。comfyui 版是另一套键名,试它能不能被认。
("lightx2v/Minimax-h3-Turbo", "minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors"),
]
for i, (mid, pat) in enumerate(JOBS, 1):
t0 = time.time()
print(f"[{i}/{len(JOBS)}] {mid} :: {pat}", flush=True)
for attempt in range(1, 6):
try:
ModelConfig(model_id=mid, origin_file_pattern=pat).download_if_necessary()
print(f" done in {time.time()-t0:.0f}s", flush=True)
break
except Exception:
print(f" attempt {attempt} failed:\n{traceback.format_exc()}", flush=True)
time.sleep(15)
else:
print(f" GIVING UP on {mid}::{pat}", flush=True)
print("ALL DOWNLOADS FINISHED", flush=True)