音频分类工具开发记录

## 2026-03-19: 修复音频加载除零错误 + 输入目录缓存功能
### 问题 1: 音频加载除零错误
后台日志出现 `加载失败: division by zero`,某些音频文件加载时采样率为 0 或 None。
### 解决方案 1
在音频加载时添加采样率有效性检查:
**修改的文件:**
- `python/api_server.py:1299` - `load_audio_file()` 添加 `sr` 检查
- `python/utils/sync_json_db.py:482` - 添加 `sr` 检查并优雅降级
- `python/main.py:431` - `preprocess_audio()` 添加 `sample_rate` 检查
**代码示例:**
```python
if sr == 0 or sr is None:
return None, 0, 0, "无效的采样率(0)"
```
### 问题 2: 输入目录无法缓存
用户希望输入目录在退出程序后自动保存,下次打开时自动恢复。
### 解决方案 2
实现输入目录本地缓存功能:
**修改的文件:**
- `tauri/src/stores/app.js:72` - 更新 `saveConfig()` 支持同时保存输入/输出目录
- `tauri/src/views/Batch.vue`:
- `addInputDir()` - 添加目录后自动保存
- `removeInputDir()` - 删除目录后自动保存
- `clearInputDirs()` - 清空目录后自动保存
- `appendInputDir()` - 运行时追加目录后自动保存
- `selectOutputDir()` - 选择输出目录时同时保存输入目录
- `onMounted()` - 启动时自动加载缓存的输入目录
**Bug 修复:**
1. `appendInputDir()` 运行时追加目录未保存缓存
2. 空输出目录会覆盖已有配置
---
## 2026-03-18: 移除Ollama依赖,优化文件名和标签生成
### 问题
1. 本地无Ollama服务,但代码依赖Ollama API调用
2. `filename` 字段被LLM输出污染(如"根据提供的信息..."、"翻译结果如下..."等)
3. 文件名和标签中出现禁用词(未分类、素材、音效等无意义词汇)
### 解决方案
1. **统一使用本地GGUF模型** (qwen2.5-7b-instruct)
- 移除所有Ollama API调用
- 使用 `llama-cpp-python` 直接加载本地模型
2. **禁用词过滤(双重机制)**
- LLM Prompt中明确禁止输出禁用词
- 代码强制过滤作为保底
3. **文件名生成优化**
- 最大长度50字符
- 结尾清理中文标点
- 优先级:LLM生成 → tags_cn组合 → model_keywords → 分类名
4. **禁用词列表**
```python
FORBIDDEN_WORDS = {
"未分类", "其他", "人工审核", "素材", "音效", "声音", "音频",
"专业", "通用", "未知", "待处理", "待审核", "综合",
"unknown", "other", "uncategorized", "misc", "audio", "sound", "effect", "sfx"
}
```
### 修改的文件
- `python/main.py`: 移除Ollama参数,改用本地LLM,新增 `_filter_forbidden_tags`
- `python/classifier_v2.py`: 新增禁用词常量,重构 `_optimize_filename_with_llm`,新增验证函数
- `python/utils/tag_generator.py`: `generate_tags_with_ollama` 改为 `generate_tags_with_local_llm`
- `python/config.py`: 注释掉Ollama配置
### 关键代码位置
- `classifier_v2.py:35-50`: 禁用词和污染词常量
- `classifier_v2.py:560-680`: LLM文件名生成和验证
- `classifier_v2.py:682-760`: 文件名生成主逻辑
- `main.py:1235-1347`: 标签生成(使用本地LLM)
## 2026-03-16: 修复大量文件扫描进度卡住问题
### 问题
点击"开始分类"时,如果目录文件数量很大(如10万+),扫描阶段会卡住不动,界面长时间显示"正在扫描文件..."但没有进度更新。
### 原因
原代码在扫描每个音频文件时都调用 `is_valid_audio_file()` 打开文件读取文件头来验证有效性,这个IO操作很慢,导致:
1. 扫描速度极慢(每秒只能处理几十个文件)
2. 进度更新间隔太大(每500个才更新一次)
3. 用户无法看到实时进度
### 解决方案
将扫描分为两阶段:
1. **快速收集阶段**(status: scanning)
- 只检查文件扩展名,不打开文件
- 每1000个文件更新一次进度
- 速度:每秒可处理数千个文件
2. **验证阶段**(status: scanning)
- 检查文件有效性(大小、文件头魔数)
- 每200个文件更新一次进度
- 显示有效文件数量
### 修改的文件
- `python/api_server.py`: 优化文件扫描逻辑,分两阶段处理
- `tauri/src/views/Batch.vue`: 前端支持扫描阶段显示进度
### 关键代码位置
- `api_server.py:1344-1397`: 文件扫描和验证逻辑
- `Batch.vue:36-76`: 扫描阶段的UI显示
- `Batch.vue:215-225`: 进度百分比计算

1TB+ ComfyUI本地大模型打包下载

这里的文件只包含模型不包含任何程序文件
所以下载后直接覆盖到的ComfyUI模型目录就可以了
自从去年下半年到现在所有我下载的模型都在这里了

## 目录
1. [基础模型 (Checkpoints)](#1-基础模型-checkpoints)
2. [扩散模型 (Diffusion Models)](#2-扩散模型-diffusion-models)
3. [LoRA 模型](#3-lora-模型)
4. [ControlNet 模型](#4-controlnet-模型)
5. [VAE 模型](#5-vae-模型)
6. [CLIP 和文本编码器](#6-clip-和文本编码器)
7. [CLIP Vision 模型](#7-clip-vision-模型)
8. [超分模型 (Upscale Models)](#8-超分模型-upscale-models)
9. [VAE Approx 模型](#9-vae-approx-模型)
10. [音频编码器](#10-音频编码器)
11. [风格模型](#11-风格模型)
12. [GLIGEN 模型](#12-gligen-模型)
13. [XLabs 模型](#13-xlabs-模型)
14. [FlashVSR 模型](#14-flashvsr-模型)
15. [UNet 模型](#15-unet-模型)
16. [模型补丁 (Model Patches)](#16-模型补丁-model-patches)
17. [根目录模型](#17-根目录模型)
18. [模型配合关系汇总](#18-模型配合关系汇总)

---

## 1. 基础模型 (Checkpoints)

基础模型是图像生成的核心模型,包含完整的U-Net、VAE和文本编码器。

| 模型名称 | 类型 | 主要用途 | 需配合的模型 |
|---------|------|---------|-------------|
| `v1-5-pruned-emaonly.safetensors` / `.ckpt` | SD 1.5 | Stable Diffusion 1.5 官方基础模型,通用图像生成 | 可选:VAE、LoRA、ControlNet |
| `v1-5-pruned-emaonly-fp16.safetensors` | SD 1.5 FP16 | SD 1.5 半精度版本,显存占用更低 | 同上 |
| `v2-1_768-ema-pruned.safetensors` | SD 2.1 | Stable Diffusion 2.1 官方模型,支持768x768分辨率 | 可选:VAE、ControlNet |
| `512-inpainting-ema.safetensors` | SD 1.5 Inpainting | SD 1.5 图像修复专用模型 | 可选:VAE、ControlNet |
| `dreamshaper_8.safetensors` / `DreamShaper_8_pruned.safetensors` | SD 1.5 微调 | DreamShaper v8,写实风格优化模型 | 可选:VAE、LoRA、ControlNet |
| `sd_xl_base_1.0.safetensors` | SDXL | Stable Diffusion XL 基础模型,质量更高 | 可选:SDXL VAE、SDXL LoRA、SDXL ControlNet、Refiner |
| `sd_xl_base_1.0_0.9vae.safetensors` | SDXL + VAE | 集成VAE的SDXL基础模型 | 可选:SDXL LoRA、ControlNet |
| `sd_xl_refiner_1.0.safetensors` | SDXL Refiner | SDXL 精修模型,用于细节增强 | 必须与 SDXL Base 配合使用 |
| `majicmixRealistic_v7.safetensors` | SD 1.5 微调 | MajicMix Realistic v7,写实人像模型 | 可选:VAE、LoRA、ControlNet |
| `japaneseStyleRealistic_v20.safetensors` | SD 1.5 微调 | 日式写实风格模型 | 可选:VAE、LoRA、ControlNet |
| `awpainting_v14.safetensors` | SD 1.5 微调 | 动漫/绘画风格模型 | 可选:VAE、LoRA、ControlNet |
| `experience_V10.safetensors` | SD 1.5 微调 | Experience v10 艺术风格模型 | 可选:VAE、LoRA、ControlNet |
| `architecturerealmix_v11.safetensors` | SD 1.5 微调 | 建筑/室内设计专用模型 | 可选:VAE、ControlNet |
| `interiordesignsuperm_v2.safetensors` | SD 1.5 微调 | 室内设计超级模型v2 | 可选:VAE、ControlNet |
| `flux1-dev-fp8.safetensors` | FLUX.1 Dev | FLUX.1 开发版,高质量图像生成(FP8量化) | 必须配合:CLIP_L + T5XXL 文本编码器、FLUX VAE |
| `flux1-schnell.safetensors` / `flux1-schnell-fp8.safetensors` | FLUX.1 Schnell | FLUX.1 快速版,4步生成高质量图像 | 必须配合:CLIP_L + T5XXL 文本编码器、FLUX VAE |
| `flux1-schnell-F16.gguf` / `flux1-schnell-Q8_0.gguf` | FLUX.1 Schnell GGUF | FLUX.1 Schnell GGUF格式,更低显存占用 | 必须配合:CLIP_L + T5XXL 文本编码器、FLUX VAE |
| `flux1-dev-F16.gguf` | FLUX.1 Dev GGUF | FLUX.1 Dev GGUF格式 | 必须配合:CLIP_L + T5XXL 文本编码器、FLUX VAE |
| `sd3.5_large_fp8_scaled.safetensors` | SD 3.5 Large | Stable Diffusion 3.5 Large(FP8量化) | 必须配合:CLIP_L + CLIP_G + T5XXL 文本编码器 |
| `flux1-redux-dev.safetensors` | FLUX Redux | FLUX 图像变体和风格迁移模型 | 必须配合:FLUX Dev/Schnell、CLIP Vision |
| `hunyuan_3d_v2.1.safetensors` / `hunyuan3d-dit-v2_fp16.safetensors` | Hunyuan3D | 腾讯混元3D生成模型 | 专用工作流 |
| `stable-audio-open-1.0.safetensors` | Stable Audio | 音频生成模型 | 专用工作流 |
| `ace_step_v1_3.5b.safetensors` | ACE Step | 轻量级快速生成模型 | 可选:VAE |
| `ltx-2-19b-dev-fp8.safetensors` | LTX-Video 19B | Lightricks视频生成模型(FP8量化) | 配合LTX VAE |
| `ltx-2.3-22b-dev-fp8.safetensors` | LTX-Video 2.3 22B | LTX-2.3 22B视频生成模型(FP8量化) | 配合LTX VAE |
| `ltx-2.3-22b-distilled-fp8.safetensors` | LTX-Video 2.3 Distilled | LTX-2.3 蒸馏版,更快生成速度 | 配合LTX VAE |

---

## 2. 扩散模型 (Diffusion Models)

分离式扩散模型,通常需要配合特定的文本编码器和VAE使用。

| 模型名称 | 类型 | 主要用途 | 需配合的模型 |
|---------|------|---------|-------------|
| `flux1-dev.safetensors` | FLUX.1 Dev DiT | FLUX.1 Dev 的扩散Transformer部分 | 必须:CLIP_L + T5XXL、FLUX VAE |
| `flux1-fill-dev.safetensors` | FLUX.1 Fill | FLUX.1 图像修复/外绘专用模型 | 必须:CLIP_L + T5XXL、FLUX VAE |
| `flux1-canny-dev.safetensors` | FLUX.1 Canny | FLUX.1 Canny边缘控制模型 | 必须:CLIP_L + T5XXL、FLUX VAE |
| `flux1-kontext-dev.safetensors` | FLUX.1 Kontext | FLUX.1 上下文感知编辑模型 | 必须:CLIP_L + T5XXL、FLUX VAE |
| `flux1-redux-dev.safetensors` | FLUX Redux | FLUX 图像风格迁移 | 必须:FLUX 基础模型、CLIP Vision |
| `flux1-krea-dev_fp8_scaled.safetensors` | FLUX.1 Krea | Krea AI 优化版 FLUX | 必须:CLIP_L + T5XXL、FLUX VAE |
| `flux_dev_fp8_scaled_diffusion_model.safetensors` | FLUX Dev FP8 | FLUX Dev FP8量化扩散模型 | 必须:CLIP_L + T5XXL、FLUX VAE |
| `flux1-dev-kontext_fp8_scaled.safetensors` | FLUX Kontext FP8 | FLUX Kontext FP8量化版 | 必须:CLIP_L + T5XXL、FLUX VAE |
| `wan2.1_t2v_14B_bf16.safetensors` | Wan 2.1 T2V 14B | 阿里万相视频生成模型(文生视频) | 必须:Wan VAE、文本编码器 |
| `wan2.1_i2v_480p_14B_bf16.safetensors` / `wan2.1_i2v_480p_14B_fp16.safetensors` | Wan 2.1 I2V 480p | 万相图生视频模型(480p) | 必须:Wan VAE |
| `wan2.1_i2v_720p_14B_fp16.safetensors` | Wan 2.1 I2V 720p | 万相图生视频模型(720p高清版) | 必须:Wan VAE |
| `wan2.1_vace_14B_fp16.safetensors` / `wan2.1_vace_1.3B_fp16.safetensors` | Wan 2.1 VACE | 万相视频编辑模型 | 必须:Wan VAE |
| `wan2.1_fun_camera_v1.1_14B_bf16.safetensors` / `wan2.1_fun_camera_v1.1_1.3B_bf16.safetensors` | Wan 2.1 Camera | 万相相机运动控制模型 | 必须:Wan VAE、相机控制LoRA |
| `hidream_i1_full_fp8.safetensors` | HiDream I1 | HiDream 图像生成模型 | 必须:HiDream CLIP组合、VAE |
| `omnigen2_fp16.safetensors` | OmniGen2 | 统一图像生成与编辑模型 | 专用工作流 |
| `chroma-unlocked-v33.safetensors` / `Chroma1-Radiance-v0.3.safetensors` | Chroma | Chroma 图像生成模型 | 专用工作流 |
| `Cosmos-1_0-Diffusion-14B-Text2World.safetensors` | Cosmos T2W | NVIDIA Cosmos 文生世界模型 | 专用工作流 |
| `wan2.2_t2v_high_noise_14B_fp8_scaled.safetensors` / `wan2.2_t2v_low_noise_14B_fp8_scaled.safetensors` | Wan 2.2 T2V | 万相2.2版本文生视频 | 必须:Wan VAE |
| `wan2.2_i2v_high_noise_14B_fp8_scaled.safetensors` / `wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors` | Wan 2.2 I2V | 万相2.2版本图生视频 | 必须:Wan VAE |
| `wan2.2_fun_camera_high_noise_14B_fp8_scaled.safetensors` / `wan2.2_fun_camera_low_noise_14B_fp8_scaled.safetensors` | Wan 2.2 Camera | 万相2.2相机运动控制 | 必须:Wan VAE |
| `wan2.2_fun_control_high_noise_14B_fp8_scaled.safetensors` / `wan2.2_fun_control_low_noise_14B_fp8_scaled.safetensors` | Wan 2.2 Control | 万相2.2控制模型 | 必须:Wan VAE、ControlNet |
| `wan2.2_s2v_14B_fp8_scaled.safetensors` | Wan 2.2 S2V | 万相2.2 基于风格/主体的视频生成 | 必须:Wan VAE |
| `wan2.2_ti2v_5B_fp16.safetensors` | Wan 2.2 TI2V | 万相2.2 主题一致性视频生成 | 必须:Wan VAE |
| `wan2.2_fun_inpaint_high_noise_14B_fp8_scaled.safetensors` / `wan2.2_fun_inpaint_low_noise_14B_fp8_scaled.safetensors` | Wan 2.2 Inpaint | 万相2.2视频修复/外绘 | 必须:Wan VAE |
| `Wan2_1-I2V-ATI-14B_fp8_e4m3fn.safetensors` | Wan 2.1 I2V ATI | 万相I2V ATI优化版 | 必须:Wan VAE |
| `Wan2_2-Animate-14B_fp8_e4m3fn_scaled_KJ.safetensors` | Wan 2.2 Animate | 万相动画生成模型 | 必须:Wan VAE |
| `qwen_image_fp8_e4m3fn.safetensors` | Qwen Image | 通义千问图像生成模型 | 必须:Qwen VAE、文本编码器 |
| `qwen_image_edit_2509_fp8_e4m3fn.safetensors` / `qwen_image_edit_2511_bf16.safetensors` | Qwen Image Edit | 通义千问图像编辑模型 | 必须:Qwen VAE |
| `humo_17B_fp8_e4m3fn.safetensors` | HuMo | HuMo 视频生成模型 | 专用工作流 |
| `flux-2-klein-4b-fp8.safetensors` | FLUX.2 Klein | FLUX.2 Klein 轻量模型 | 必须:CLIP_L + T5XXL |
| `flux.1-fill-dev-OneReward-transformer_fp8.safetensors` | FLUX Fill + OneReward | 带奖励模型优化的FLUX Fill | 必须:CLIP_L + T5XXL、FLUX VAE |
| `lotus-depth-d-v1-1.safetensors` | Lotus Depth | Lotus 深度估计模型 | 专用工作流 |
| `z_image_turbo_bf16.safetensors` | Z Image Turbo | Z Image 快速生成模型 | 专用工作流 |
| `wan2.1_flf2v_720p_14B_fp16.safetensors` | Wan 2.1 FLF2V | 万相FLF2V模型(720p) | 必须:Wan VAE |
| `wan2.1_fun_control_1.3B_bf16.safetensors` | Wan 2.1 Fun Control 1.3B | 万相控制模型(1.3B小模型版) | 必须:Wan VAE |
| `wan2.2_fun_control_5B_bf16.safetensors` | Wan 2.2 Fun Control 5B | 万相2.2控制模型(5B中等规模) | 必须:Wan VAE |

---

## 3. LoRA 模型

LoRA(Low-Rank Adaptation)用于微调基础模型的风格或添加新概念。

| 模型名称 | 适用基础模型 | 主要用途 |
|---------|-------------|---------|
| `Loraeyes_V1.safetensors` | SD 1.5 | 眼睛细节优化LoRA |
| `blindbox_v1_mix.safetensors` | SD 1.5 | 盲盒/手办风格LoRA |
| `MoXinV1.safetensors` | SD 1.5 | 墨心/中国画风格LoRA |
| `dmd2_sdxl_4step_lora.safetensors` | SDXL | DMD2 4步快速生成LoRA |
| `ltxv-13b-0.9.7-distilled-lora128.safetensors` | LTX-Video | LTXV 蒸馏LoRA,加速生成 |
| `Hyper-FLUX.1-dev-8steps-lora.safetensors` | FLUX.1 Dev | HyperSD 8步快速生成LoRA |
| `Hyper-FLUX.1-dev-16steps-lora.safetensors` | FLUX.1 Dev | HyperSD 16步生成LoRA |
| `Wan21_CausVid_14B_T2V_lora_rank32.safetensors` | Wan 2.1 14B | CausVid 因果视频生成LoRA |
| `Wan21_CausVid_bidirect2_T2V_1_3B_lora_rank32.safetensors` | Wan 2.1 1.3B | CausVid 双向因果视频生成LoRA(小模型版) |
| `lightx2v_T2V_14B_cfg_step_distill_v2_lora_rank64_bf16.safetensors` | Wan 2.1 14B T2V | LightX2V CFG蒸馏LoRA,加速文生视频 |
| `lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors` | Wan 2.1 14B I2V | LightX2V CFG蒸馏LoRA,加速图生视频 |
| `ltx-2-19b-distilled-lora-384.safetensors` | LTX-2 19B | LTX-2 蒸馏LoRA |
| `ltx-2-19b-lora-camera-control-dolly-left.safetensors` | LTX-2 19B | LTX-2 相机控制LoRA(左移) |
| `Qwen-Image-Lightning-4steps-V1.0.safetensors` / `Qwen-Image-Lightning-8steps-V1.0.safetensors` | Qwen Image | Qwen图像闪电快速生成LoRA |
| `Qwen-Image-Edit-2509-Lightning-4steps-V1.0-bf16.safetensors` / `Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors` | Qwen Image Edit | Qwen图像编辑闪电LoRA |
| `Qwen-Edit-2509-Multiple-angles.safetensors` | Qwen Image | Qwen多角度编辑LoRA |
| `uso-flux1-dit-lora-v1.safetensors` | FLUX.1 | USO-FLUX DiT LoRA |
| `wan2.2_t2v_lightx2v_4steps_lora_v1.1_high_noise.safetensors` / `wan2.2_t2v_lightx2v_4steps_lora_v1.1_low_noise.safetensors` | Wan 2.2 T2V | Wan 2.2 LightX2V 4步LoRA(高/低噪声版) |
| `wan2.2_i2v_lightx2v_4steps_lora_v1_high_noise.safetensors` / `wan2.2_i2v_lightx2v_4steps_lora_v1_low_noise.safetensors` | Wan 2.2 I2V | Wan 2.2 LightX2V 4步LoRA(高/低噪声版) |
| `removal_timestep_alpha-2-1740.safetensors` | Wan/FLUX | 时间步移除LoRA |
| `wan_alpha_2.1_rgba_lora.safetensors` | Wan 2.1 | Wan Alpha通道LoRA,支持RGBA生成 |
| `WanAnimate_relight_lorc_fp16.safetensors` | Wan | Wan动画重新打光LoRA |
| `ltx2-squish.safetensors` | LTX-Video | LTX视频压缩/变形效果LoRA |
| `ltx-2.3-22b-distilled-lora-384.safetensors` | LTX-2.3 22B | LTX-2.3 22B蒸馏LoRA,加速生成 |
| `Qwen-Image-Edit-2509-Light-Migration.safetensors` | Qwen Image Edit | Qwen图像编辑光照迁移LoRA |
| `Qwen-Image-Edit-2509-Lightning-8steps-V1.0-bf16.safetensors` | Qwen Image Edit | Qwen图像编辑闪电8步LoRA |
| `FireRed-Image-Edit-1.0-Lightning-8steps-v1.0.safetensors` | FireRed Image Edit | FireRed图像编辑闪电8步LoRA |
| `gemma-3-12b-it-abliterated_lora_rank64_bf16.safetensors` | Gemma 3 12B | Gemma 3 指令模型LoRA(rank64) |
| `WanAnimate_relight_lora_fp16.safetensors` | Wan | Wan动画重新打光LoRA(FP16版) |

---

## 4. ControlNet 模型

ControlNet 用于控制图像生成过程,基于各种条件输入。

| 模型名称 | 适用基础模型 | 控制类型 | 主要用途 |
|---------|-------------|---------|---------|
| `control_v11p_sd15_openpose_fp16.safetensors` | SD 1.5 | OpenPose | 人体姿态控制 |
| `control_v11p_sd15_scribble_fp16.safetensors` | SD 1.5 | Scribble | 涂鸦/草图控制 |
| `control_v11f1p_sd15_depth_fp16.safetensors` | SD 1.5 | Depth | 深度图控制 |
| `controlnetT2IAdapter_t2iAdapterDepth.safetensors` | SD 1.5 | Depth | T2I Adapter 深度控制 |
| `control-lora-canny-rank128.safetensors` / `control-lora-canny-rank256.safetensors` | SDXL | Canny | Canny边缘检测控制(LoRA格式) |
| `t2i-adapter-canny-sdxl-1.0.safetensors` / `t2i-adapter-canny-sdxl-1.0.fp16.safetensors` | SDXL | Canny | SDXL T2I Canny控制 |
| `sd3.5_large_controlnet_blur.safetensors` | SD 3.5 Large | Blur | SD 3.5 模糊控制网络 |
| `Qwen-Image-InstantX-ControlNet-Union.safetensors` | Qwen Image | Union | Qwen图像联合控制网络 |
| `Qwen-Image-InstantX-ControlNet-Inpainting.safetensors` | Qwen Image | Inpainting | Qwen图像修复控制网络 |
| `PanRightToLeft.safetensors` | Wan 2.1 | Motion | Wan视频平移控制(右到左) |

---

## 5. VAE 模型

VAE(变分自编码器)用于在像素空间和潜在空间之间转换图像。

| 模型名称 | 适用基础模型 | 主要用途 |
|---------|-------------|---------|
| `vae-ft-mse-840000-ema-pruned.safetensors` | SD 1.5 / SDXL | 标准VAE(840k步训练,EMA剪枝版) |
| `ae.safetensors` | FLUX 系列 | FLUX 官方VAE |
| `flux2-vae.safetensors` | FLUX.2 | FLUX.2 VAE |
| `wan_2.1_vae.safetensors` | Wan 2.1 | 万相视频VAE |
| `wan2.2_vae.safetensors` | Wan 2.2 | 万相2.2视频VAE |
| `wan_alpha_2.1_vae_rgb_channel.safetensors` / `wan_alpha_2.1_vae_alpha_channel.safetensors` | Wan Alpha | 万相Alpha通道VAE(RGB+Alpha分离) |
| `qwen_image_vae.safetensors` | Qwen Image | 通义千问图像VAE |
| `vaeFtMse840000EmaPruned_vaeFtMse840k.safetensors` | SD 1.5 | 另一种命名格式的VAE |

---

## 6. CLIP 和文本编码器

CLIP和文本编码器用于将文本提示转换为模型可理解的嵌入向量。

| 模型名称 | 类型 | 适用基础模型 | 主要用途 |
|---------|------|-------------|---------|
| `clip_l.safetensors` | CLIP-L | FLUX / SD3 / HiDream | CLIP-Large 文本编码器 |
| `t5xxl_fp16.safetensors` | T5-XXL FP16 | FLUX / SD3 | T5-XXL 文本编码器(FP16精度) |
| `t5xxl_fp8_e4m3fn_scaled.safetensors` | T5-XXL FP8 | FLUX / SD3 | T5-XXL FP8量化版 |
| `clip/t5xxl_fp16.safetensors` | T5-XXL | FLUX | 同上的另一种存放位置 |
| `umt5_xxl_fp16.safetensors` | UMT5-XXL | SD 3.5 / Wan | UMT5-XXL 文本编码器 |
| `umt5_xxl_fp8_e4m3fn_scaled.safetensors` | UMT5-XXL FP8 | SD 3.5 / Wan | UMT5-XXL FP8量化版 |
| `umt5_xxl_fp8_e4m3fn_scaled.safetensors` (checkpoints目录) | UMT5-XXL FP8 | SD 3.5 | 同上,checkpoints目录副本 |
| `clip_g_hidream.safetensors` | CLIP-G | HiDream | HiDream专用CLIP-G |
| `clip_l_hidream.safetensors` | CLIP-L | HiDream | HiDream专用CLIP-L |
| `fluxTextencoderT5XxlFp8_v10.safetensors` | T5-XXL FP8 | FLUX | FLUX专用T5-XXL FP8 |
| `t5-base.safetensors` | T5-Base | 通用 | T5基础版编码器 |
| `qwen_2.5_vl_fp16.safetensors` | Qwen 2.5 VL | Qwen Image/Video | 通义千问视觉语言模型 |
| `qwen_2.5_vl_7b_fp8_scaled.safetensors` | Qwen 2.5 VL 7B FP8 | Qwen Image/Video | 通义千问VL 7B FP8版 |
| `qwen_3_4b.safetensors` | Qwen 3 4B | Qwen | 通义千问3 4B模型 |
| `gemma_3_12B_it_fp4_mixed.safetensors` | Gemma 3 12B | 通用 | Google Gemma 3 12B指令模型 |
| `qwen_0.6b_ace15.safetensors` | Qwen 0.6B ACE | ACE模型 | 通义千问0.6B ACE模型文本编码器 |

---

## 7. CLIP Vision 模型

CLIP Vision 用于处理图像输入,实现图生图、风格迁移等功能。

| 模型名称 | 主要用途 | 需配合的模型 |
|---------|---------|-------------|
| `clip_vision_g.safetensors` | CLIP Vision Large | IP-Adapter、图像反推、风格迁移 |
| `clip_vision_h.safetensors` | CLIP Vision Huge | 高清图像理解 |
| `sigclip_vision_patch14_384.safetensors` | SigCLIP Vision | SigCLIP 视觉编码器(384x384) |
| `checkpoints/clip_vision_g.safetensors` | 同上 | checkpoints目录副本 |

---

## 8. 超分模型 (Upscale Models)

用于图像放大和细节增强。

| 模型名称 | 放大倍数 | 算法类型 | 主要用途 |
|---------|---------|---------|---------|
| `RealESRGAN_x4.pth` | 4x | RealESRGAN | 通用图像4倍放大 |
| `RealESRGAN_x4plus.safetensors` | 4x | RealESRGAN+ | 增强版RealESRGAN |
| `4x-UltraSharp.pth` / `.bin` | 4x | ESRGAN | UltraSharp高质量放大 |
| `4x-UltraSharp-fp16.bin` / `4x-UltraSharp-fp32.bin` | 4x | ESRGAN | UltraSharp半精度/全精度版 |
| `4x-UltraSharp-fp16-opset*.onnx` / `4x-UltraSharp-fp32-opset*.onnx` | 4x | ESRGAN (ONNX) | UltraSharp ONNX格式(不同opset版本) |
| `4x-UltraMix_Balanced.pth` | 4x | ESRGAN | UltraMix平衡版(质量与速度平衡) |
| `4x-UltraMix_Restore.pth` | 4x | ESRGAN | UltraMix修复版(针对老照片) |
| `4x-UltraMix_Smooth.pth` | 4x | ESRGAN | UltraMix平滑版(减少噪点) |
| `4xFaceUpSharpDAT.pth` | 4x | DAT | 面部专用超分 |
| `ldsr/last.ckpt` | 可变 | LDSR | 潜在扩散超分辨率 |
| `upscale/x4-upscaler-ema.safetensors` | 4x | 潜在扩散 | 4倍潜在超分 |
| `latent_upscale_models/ltx-2-spatial-upscaler-x2-1.0.safetensors` | 2x | LTX | LTX-2空间超分 |
| `latent_upscale_models/ltx-2.3-spatial-upscaler-x2-1.0.safetensors` | 2x | LTX | LTX-2.3空间超分 v1.0 |
| `latent_upscale_models/ltx-2.3-spatial-upscaler-x2-1.1.safetensors` | 2x | LTX | LTX-2.3空间超分 v1.1(更新版) |

---

## 9. VAE Approx 模型

VAE Approximation 模型用于快速潜在解码预览。

| 模型名称 | 适用基础模型 | 主要用途 |
|---------|-------------|---------|
| `taesd_encoder.safetensors` / `taesd_decoder.safetensors` | SD 1.5 | SD 1.5 快速VAE编解码器 |
| `taesdxl_encoder.safetensors` / `taesdxl_decoder.safetensors` | SDXL | SDXL 快速VAE编解码器 |
| `taesd3_encoder.safetensors` / `taesd3_decoder.safetensors` | SD 3 | SD 3 快速VAE编解码器 |
| `taef1_encoder.safetensors` / `taef1_decoder.safetensors` | FLUX | FLUX 快速VAE编解码器 |

---

## 10. 音频编码器

用于音频处理和语音识别的模型。

| 模型名称 | 主要用途 |
|---------|---------|
| `wav2vec2_large_english_fp16.safetensors` | Wav2Vec 2.0 Large,英语语音识别 |
| `whisper_large_v3_fp16.safetensors` | OpenAI Whisper Large v3,多语言语音识别 |

---

## 11. 风格模型

用于图像风格迁移和处理的模型。

| 模型名称 | 主要用途 | 需配合的模型 |
|---------|---------|-------------|
| `flux1-redux-dev.safetensors` | FLUX Redux 风格迁移 | FLUX 基础模型、CLIP Vision |

---

## 12. GLIGEN 模型

GLIGEN(Grounded Language-Image Generation)用于基于位置的图像生成。

| 模型名称 | 适用基础模型 | 主要用途 |
|---------|-------------|---------|
| `gligen_sd14_textbox_pruned.safetensors` | SD 1.4 | 基于文本框位置的图像生成 |

---

## 13. XLabs 模型

XLabs AI 开发的模型集合。

| 模型名称 | 主要用途 | 需配合的模型 |
|---------|---------|-------------|
| `ipadapters/ip_adapter.safetensors` | IP-Adapter | 图像提示适配器,实现图生图风格迁移 |

---

## 14. FlashVSR 模型

FlashVSR 视频超分辨率模型集合。

| 模型名称 | 主要用途 |
|---------|---------|
| `FlashVSR1_1.safetensors` | FlashVSR 主模型 |
| `LQ_proj_in.safetensors` | 低质量投影输入模型 |
| `Prompt.safetensors` | 提示编码器 |
| `TCDecoder.safetensors` | TC解码器 |
| `Wan2.1_VAE.safetensors` | Wan 2.1 VAE(FlashVSR专用) |
| `Wan2_1-T2V-1_3B_FlashVSR_fp32.safetensors` | Wan 2.1 T2V 1.3B FlashVSR版 |
| `Wan2_1_FlashVSR_LQ_proj_model_bf16.safetensors` | FlashVSR低质量投影模型BF16版 |

---

## 15. UNet 模型

UNet模型用于扩散过程的核心网络结构。

| 模型名称 | 类型 | 主要用途 |
|---------|------|---------|
| `z_image_bf16.safetensors` | Z Image UNet | Z Image 模型UNet网络(BF16精度) |

---

## 16. 模型补丁 (Model Patches)

模型补丁用于修改或增强基础模型的功能。

| 模型名称 | 适用基础模型 | 主要用途 |
|---------|-------------|---------|
| `uso-flux1-projector-v1.safetensors` | FLUX.1 | USO-FLUX投影器,用于图像风格迁移 |

---

## 17. 根目录模型

根目录下存放的独立模型文件。

| 模型名称 | 类型 | 主要用途 |
|---------|------|---------|
| `diffusion_pytorch_model_streaming_dmd.safetensors` | Streaming DMD | 流式扩散模型,用于实时生成 |

---

## 18. 模型配合关系汇总

### 18.1 SD 1.5 系列工作流
```
基础模型 (SD 1.5 checkpoint)
    ├── 可选: VAE (vae-ft-mse-840000)
    ├── 可选: LoRA (如 MoXinV1、blindbox)
    └── 可选: ControlNet (OpenPose、Canny、Depth、Scribble)
```

### 18.2 SDXL 系列工作流
```
基础模型 (SDXL Base)
    ├── 可选: SDXL VAE
    ├── 可选: SDXL LoRA
    ├── 可选: SDXL ControlNet (Canny、T2I-Adapter)
    └── 可选: SDXL Refiner (用于精修)
```

### 18.3 FLUX.1 系列工作流
```
基础模型 (FLUX Dev / Schnell)
    ├── 必须: CLIP_L (clip_l.safetensors)
    ├── 必须: T5-XXL (t5xxl_fp16 或 fp8)
    ├── 必须: FLUX VAE (ae.safetensors)
    ├── 可选: FLUX LoRA (如 Hyper-FLUX、USO-FLUX)
    └── 可选: FLUX Redux (风格迁移)
```

### 18.4 SD 3.5 系列工作流
```
基础模型 (SD 3.5 Large)
    ├── 必须: CLIP_L (clip_l.safetensors)
    ├── 必须: CLIP_G (clip_g,如需要)
    ├── 必须: T5-XXL / UMT5-XXL
    └── 可选: SD 3.5 ControlNet
```

### 18.5 Wan 2.1/2.2 视频工作流
```
基础模型 (Wan T2V / I2V / VACE)
    ├── 必须: Wan VAE (wan_2.1_vae 或 wan2.2_vae)
    ├── 可选: UMT5-XXL 文本编码器
    ├── 可选: Wan LoRA (CausVid、LightX2V)
    └── 可选: Wan ControlNet
```

### 18.6 HiDream 工作流
```
基础模型 (HiDream I1)
    ├── 必须: HiDream CLIP组合 (clip_l_hidream + clip_g_hidream)
    └── 必须: HiDream VAE
```

### 18.7 Qwen Image 工作流
```
基础模型 (Qwen Image)
    ├── 必须: Qwen VAE (qwen_image_vae)
    ├── 必须: Qwen 文本编码器 (qwen_2.5_vl)
    └── 可选: Qwen LoRA (Lightning、Edit)
```

### 18.8 LTX Video 工作流
```
基础模型 (LTX-2 19B / LTX-2.3 22B)
    ├── 必须: LTX VAE
    ├── 可选: LTX 蒸馏LoRA (加速生成)
    ├── 可选: LTX 相机控制LoRA
    └── 可选: LTX 空间超分模型 (2x放大)
```

---

## 附录:模型目录结构

```
models/
├── audio_encoders/      # 音频编码器 (Wav2Vec, Whisper)
├── checkpoints/         # 基础模型 (SD, SDXL, FLUX, SD3, Wan等)
├── clip/                # CLIP模型
├── clip_vision/         # CLIP Vision模型
├── controlnet/          # ControlNet模型
├── diffusion_models/    # 分离式扩散模型
├── gligen/              # GLIGEN模型
├── latent_upscale_models/ # 潜在空间超分模型
├── loras/               # LoRA微调模型
├── model_patches/       # 模型补丁
├── style_models/        # 风格模型
├── text_encoders/       # 文本编码器 (T5, UMT5等)
├── unet/                # UNet模型
├── vae/                 # VAE模型
├── vae_approx/          # 快速VAE近似模型
├── upscale_models/      # 超分模型
├── FlashVSR/            # FlashVSR视频超分
└── xlabs/               # XLabs模型 (IP-Adapter等)

你可以一起下载也可以按需下载:
链接:https://pan.quark.cn/s/64598499e434

更新记录

| `processWebmTranscode()` 异步返回值无效 | 移除 `@Async` 注解 |
| `deleteSfxByIds()` 未加载标签 | 新增 `findByIdInWithTags()` 方法 |
| `removeTagFromSfx()` 缺少关联清理 | 添加 setSfx(null) 和 setTag(null) |
| `batchUpdate()` 循环内多次 save | 新增私有方法,统一 save |
---
## 2026-03-16 SfxService音效和标签增删改查逻辑修复
### 问题描述
检查SfxService的音效和标签增删查改逻辑,发现以下脏数据风险:
| 优先级 | 问题 | 位置 |
|--------|------|------|
| P0 | decrementUsageCount无边界检查,会产生负数 | TagService.java:172-184 |
| P0 | deleteSfxAllTags未清理中间表SfxTag | SfxService.java:726-741 |
| P1 | batchUpdate循环内标签计数重复递增 | SfxService.java:845-875 |
| P1 | deleteSfxTag索引更新顺序不当 | SfxService.java:700-724 |
| P2 | clearNotApproved未加载标签关联 | SfxService.java:950-972 |
### 修复内容
#### 1. TagService.decrementUsageCount 添加负数检查
```java
if (tagStats.getUsageCount() > 0) {
tagStats.setUsageCount(tagStats.getUsageCount() - 1);
tagStatsRepository.save(tagStats);
}
```
#### 2. SfxService.deleteSfxAllTags 添加中间表清理
```java
sfx.getSfxTags().clear();
sfxTagRepository.deleteBySfxId(sfxId); // 新增
```
#### 3. SfxService.batchUpdate 使用Set收集标签统一递增
```java
Set<String> addedTags = new HashSet<>();
// 循环中添加到Set
addedTags.add(tagName);
// 循环后统一递增
for(String tagName : addedTags) {
tagService.incrementUsageCount(tag, SfxCategory.SFX);
}
```
#### 4. SfxService.deleteSfxTag 优化索引更新
```java
if (sfx != null) {
audioEffectService.indexAudioEffect(sfx);
}
invalidateCache();
```
#### 5. SfxRepository 新增 findByStatusNotWithTags
```java
@EntityGraph(attributePaths = {"sfxTags", "sfxTags.tag"})
Page<Sfx> findByStatusNotWithTags(int approvedStatus, Pageable pageable);
```

更新记录

**经验总结**:
- `@Async` 方法不能直接使用 `HttpServletRequest` 对象
- 需要在调用异步方法前提取所有需要的数据
- DTO 模式是解决此类问题的标准方案
---
## SfxService 音效文件和标签增删查改逻辑修复
### 2026-03-16 修复 SfxService 内部逻辑问题
#### 问题描述
验证 SfxService 内部音效文件和音效标签的增删查改逻辑,发现以下问题:
#### 问题1: `processWebmTranscode()` 异步返回值无效 (严重)
**问题原因**:
`@Async` 异步方法返回 `boolean` 类型,调用者 `moveToNewPath()` 立即得到默认值 `false`
导致转码还没开始就被判定失败,然后删除已移动的文件。
**解决方案**:
移除 `@Async` 注解,改为同步执行,确保返回值正确传递。
#### 问题2: `deleteSfxByIds()` 未加载标签
**问题原因**:
`findByIdIn()` 没有 `@EntityGraph`,标签集合未加载,导致标签计数递减逻辑无法正确执行。
**解决方案**:
新增 `findByIdInWithTags()` 方法,使用 `@EntityGraph` 加载标签关联。
#### 问题3: `removeTagFromSfx()` 缺少关联清理
**问题原因**:
移除标签时未显式清理 `SfxTag` 的双向关联引用,与 `updateSfxTags()` 方法不一致。
**解决方案**:
添加 `tagToRemove.setSfx(null)``tagToRemove.setTag(null)` 确保关联清理一致性。
#### 问题4: `batchUpdate()` 循环内多次 save 效率低下
**问题原因**:
每次添加标签都触发 `save()``invalidateCache()`,效率低下。
**解决方案**:
新增 `addTagToSfxWithoutSave()` 私有方法,循环结束后统一执行 `save()`
#### 修改文件
- `src/main/java/com/imdaxiong/bigbearcloud/service/SfxService.java`
- `src/main/java/com/imdaxiong/bigbearcloud/repository/SfxRepository.java`
#### 修复汇总
| 问题 | 修复方案 |
|------|----------|
| `processWebmTranscode()` 异步返回值无效 | 移除 `@Async` 注解 |
| `deleteSfxByIds()` 未加载标签 | 新增 `findByIdInWithTags()` 方法 |
| `removeTagFromSfx()` 缺少关联清理 | 添加 setSfx(null) 和 setTag(null) |
| `batchUpdate()` 循环内多次 save | 新增私有方法,统一 save |

修复标签与标题脱离原始文件名的问题

核心问题是:文件名中的中文部分是后期不准确的直译,而英文部分是准确的原始描述。需要优先使用英文部分进行翻译和标签生成。

  • 英文部分是准确的原始描述,中文部分可能是后期不准确的直译,应优先使用英文部分
  • 过滤无意义内容:天途影像、X 2 数量标识、错误直译词
  • 单个中文数字(一、二、三等)应保留,不应被过滤
  • 保持代码修改已提交到 git

Discoveries

  1. 问题根源_extract_english_part 方法从完整路径提取英文而非只提取文件名
  2. 多层过滤问题:多个地方都有 len(word) >= 2 的过滤条件,导致单个中文数字被过滤
  3. 需要修改的位置
    • _extract_semantic_words 中的语义提取
    • _filter_meaningless_tags 中的标签过滤
    • _generate_natural_language_filename 中的文件名生成

Accomplished

  1. 新增 _extract_english_part() 方法提取英文部分(已修复路径问题)
  2. 新增 _optimize_filename_with_llm() 方法使用 Qwen 模型优化
  3. 扩展翻译词库(鸟类、猫、狗、身体部位、数字等约150词)
  4. 扩展 label_to_tags 映射表(约120词)
  5. 修复 NameError: quoted_content 未定义 错误
  6. 添加缺失的翻译词:finger→手指, five→五, six→六 等
  7. 修改多处过滤逻辑允许单个中文数字通过

正在修复:单个中文数字在最终文件名生成时仍被过滤的问题

Relevant files / directories

  • python/classifier_v2.py - 主分类器,包含文件名处理逻辑

    • _extract_english_part() - 提取英文部分
    • _extract_semantic_words() - 提取语义词
    • _generate_natural_language_filename() - 生成新文件名
    • _translate_filename_to_chinese() - 翻译英文到中文
    • _optimize_filename_with_llm() - LLM优化文件名
  • python/utils/tag_generator.py - 标签生成工具

    • extract_filename_keywords() - 提取关键词
    • _filter_meaningless_tags() - 过滤无意义标签
    • MEANINGLESS_TAGS - 无意义标签列表
    • translation_map - 翻译词库
  • python/utils/local_llm_tags.py - 本地LLM标签生成器

File: Five finger whistles..07034113.wav
Semantic: ['五', '手指', '口哨']  ✅ 正确
Keywords: ['五', '手指', '口哨']  ✅ 正确
CN Tags: ['五', '手指', '口哨', ...]  ✅ 正确
New Name: 手指_口哨_2df943.wav  ❌ 缺少 '五'

【已用光】激活码送给有缘人

5X3W-33Q7-A5RA-6E93                    RRLA-S397-B7QA-4R2E
DVYU-S5WC-8GEZ-8NTN                 M786-3DSD-HJ5P-PGFD
Y8L3-XKU2-U5F4-K6BN                    ECUH-XPSJ-MFU5-T5A2
84E4-4565-Q46P-7U9H                     9S6S-8QJH-P2DL-RRU7
JZL3-YR8D-FL3L-TRR6                      L7X7-B349-V5ZS-R93U

正在改进音效分类工具

目前有大批的音效超过万首以上待审核
过去的音效分类工具虽然用了大模型
但是对于音效这种短音频文件
很难识别的特别准确

所有我整合了三个模型来做智能音效分类
希望能够尽快的完成音效库的搭建
毕竟工具体验再好
资源不完整也是白搭

达芬奇音效字幕插件v1.2.4升级!

## 📝 字幕模块 ### 新增:智能定位 打开字幕面板时,自动跳转到当前播放头所在的字幕位置,不用再手动翻找了。 ### 优化:点击跳转 现在只有**真正点击输入框**时才会跳转播放头,解决了之前"不小心碰到就乱跳"的问题。 ### 优化:后台自动释放 当你切换到其他软件时,字幕输入框会自动失去焦点,避免意外修改字幕内容。 --- ## 🎵 音效模块 ### 修复:播放头位置 添加音效后,播放头现在会停在音效的**开头位置**,方便你直接预听效果。(之前会跳到结尾,很烦人) ### 新增:智能避让 添加音效时如果和已有内容重叠,会**自动创建新轨道**,不会再覆盖掉其他素材。 ### 优化:轨道命名 音效轨道命名改为更简洁的 **BGX** 格式,时间线更清爽。 --- **一句话总结**:字幕定位更智能,音效添加更顺手。

我不太会写博客

就记录一下比格熊的更新日志吧!