From 7f32281a385582fbfe88ee7e062191b21ff52e55 Mon Sep 17 00:00:00 2001 From: Warren B Date: Thu, 3 Sep 2026 00:47:13 +0100 Subject: [PATCH] webui: add the catalog entries for models that ship but cannot be selected Four model families publish installable GGUF packages that no catalog entry reached, so the WebUI could not show or install them at all: - moss_voicegen: Apache-2.0, an active loader, a published GGUF package and a matching UI tab, and no way to select it. - f5_tts: the Habibi unified checkpoint plus seven Arabic dialect checkpoints. The non-commercial licence is named in the input hint. - pocket_tts: the German, Italian, Portuguese and Spanish checkpoints. Each ships without a built-in voice embedding, so the hint says a reference voice upload is required. - dots_tts: the Edit checkpoint, for speech editing. Fourteen entries, each naming an exact packages[].id and the directory that package installs into. Existing entries are untouched. The remaining reachability warning after this change is f5_tts's vocos_mel_24khz vocoder, which is a support package rather than a model and has no UI tab of its own. Validation: tools/check_loader_catalog_sync.py # the two "family has no entry" # warnings for f5_tts and # dots_tts_edit are gone Reachable packages, measured by loading catalog.ts through Vite's SSR loader: without these entries 130 packages across 85 entries with them 149 packages across 99 entries --- webui/configs/models_catalog.json | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/webui/configs/models_catalog.json b/webui/configs/models_catalog.json index 36e8f4041..46c816bdf 100644 --- a/webui/configs/models_catalog.json +++ b/webui/configs/models_catalog.json @@ -8,8 +8,37 @@ "models": [ { "id": "omnivoice", "display_name": "OmniVoice (tts)", "family": "omnivoice", "path": "models/OmniVoice", "task": "tts", "mode": "offline", "download_id": "omnivoice", "min_vram_gb": 10 }, { "id": "pocket-tts", "display_name": "Pocket TTS (tts)", "family": "pocket_tts", "path": "models/pocket-tts", "task": "tts", "mode": "offline", "download_id": "pocket_tts", "min_vram_gb": 2 }, + { "id": "pocket-tts-german", "display_name": "Pocket TTS German (voice clone)", "family": "pocket_tts", "path": "models/PocketTTS-GGUF/german", "task": "clon", "mode": "offline", "download_id": "pocket_tts_german_q8_0", "min_vram_gb": 2, + "input_hint_en": "**Pocket TTS German**: German offline speech. Unlike the English package this checkpoint ships no packaged voice embedding, so a reference voice upload is required." }, + { "id": "pocket-tts-italian", "display_name": "Pocket TTS Italian (voice clone)", "family": "pocket_tts", "path": "models/PocketTTS-GGUF/italian", "task": "clon", "mode": "offline", "download_id": "pocket_tts_italian_q8_0", "min_vram_gb": 2, + "input_hint_en": "**Pocket TTS Italian**: Italian offline speech. Unlike the English package this checkpoint ships no packaged voice embedding, so a reference voice upload is required." }, + { "id": "pocket-tts-portuguese", "display_name": "Pocket TTS Portuguese (voice clone)", "family": "pocket_tts", "path": "models/PocketTTS-GGUF/portuguese", "task": "clon", "mode": "offline", "download_id": "pocket_tts_portuguese_q8_0", "min_vram_gb": 2, + "input_hint_en": "**Pocket TTS Portuguese**: Portuguese offline speech. Unlike the English package this checkpoint ships no packaged voice embedding, so a reference voice upload is required." }, + { "id": "pocket-tts-spanish", "display_name": "Pocket TTS Spanish (voice clone)", "family": "pocket_tts", "path": "models/PocketTTS-GGUF/spanish", "task": "clon", "mode": "offline", "download_id": "pocket_tts_spanish_q8_0", "min_vram_gb": 2, + "input_hint_en": "**Pocket TTS Spanish**: Spanish offline speech. Unlike the English package this checkpoint ships no packaged voice embedding, so a reference voice upload is required." }, { "id": "dots-tts-soar", "display_name": "DotTTS SOAR (tts + clone)", "family": "dots_tts", "path": "models/DotTTS-SOAR-GGUF", "task": "tts", "mode": "offline", "download_id": "dots_tts_soar_q8_0", "min_vram_gb": 8 }, { "id": "dots-tts-meanflow", "display_name": "DotTTS MeanFlow (tts + clone)", "family": "dots_tts", "path": "models/DotTTS-MF-GGUF", "task": "tts", "mode": "offline", "download_id": "dots_tts_mf_q8_0", "min_vram_gb": 8 }, + { "id": "f5-tts-habibi", "display_name": "F5-TTS Habibi Unified (voice clone, ar)", "family": "f5_tts", "path": "models/Habibi-TTS/Unified", "task": "clon", "mode": "offline", "download_id": "habibi_unified", "min_vram_gb": 4, + "input_hint_en": "**F5-TTS Habibi Unified**: Arabic zero-shot cloning across dialects. Upload a reference voice and provide the matching reference transcript; select a dialect with `dialect` (MSA, SAU, UAE, ALG, IRQ, EGY, MAR, ...) in the JSON box. Weights are cc-by-nc-sa-4.0 (F5-TTS Base is cc-by-nc-4.0) -- non-commercial use only." }, + { "id": "f5-tts-habibi-alg", "display_name": "F5-TTS Habibi Algerian (voice clone, ar-ALG)", "family": "f5_tts", "path": "models/Habibi-TTS/Specialized/ALG", "task": "clon", "mode": "offline", "download_id": "habibi_alg", "min_vram_gb": 4, + "input_hint_en": "**F5-TTS Habibi Algerian**: Arabic zero-shot cloning specialised for the Algerian checkpoint. Upload a reference voice and provide the matching reference transcript. Weights are cc-by-nc-sa-4.0 (F5-TTS Base is cc-by-nc-4.0) -- non-commercial use only." }, + { "id": "f5-tts-habibi-egy", "display_name": "F5-TTS Habibi Egyptian (voice clone, ar-EGY)", "family": "f5_tts", "path": "models/Habibi-TTS/Specialized/EGY", "task": "clon", "mode": "offline", "download_id": "habibi_egy", "min_vram_gb": 4, + "input_hint_en": "**F5-TTS Habibi Egyptian**: Arabic zero-shot cloning specialised for the Egyptian checkpoint. Upload a reference voice and provide the matching reference transcript. Weights are cc-by-nc-sa-4.0 (F5-TTS Base is cc-by-nc-4.0) -- non-commercial use only." }, + { "id": "f5-tts-habibi-irq", "display_name": "F5-TTS Habibi Iraqi (voice clone, ar-IRQ)", "family": "f5_tts", "path": "models/Habibi-TTS/Specialized/IRQ", "task": "clon", "mode": "offline", "download_id": "habibi_irq", "min_vram_gb": 4, + "input_hint_en": "**F5-TTS Habibi Iraqi**: Arabic zero-shot cloning specialised for the Iraqi checkpoint. Upload a reference voice and provide the matching reference transcript. Weights are cc-by-nc-sa-4.0 (F5-TTS Base is cc-by-nc-4.0) -- non-commercial use only." }, + { "id": "f5-tts-habibi-mar", "display_name": "F5-TTS Habibi Moroccan (voice clone, ar-MAR)", "family": "f5_tts", "path": "models/Habibi-TTS/Specialized/MAR", "task": "clon", "mode": "offline", "download_id": "habibi_mar", "min_vram_gb": 4, + "input_hint_en": "**F5-TTS Habibi Moroccan**: Arabic zero-shot cloning specialised for the Moroccan checkpoint. Upload a reference voice and provide the matching reference transcript. Weights are cc-by-nc-sa-4.0 (F5-TTS Base is cc-by-nc-4.0) -- non-commercial use only." }, + { "id": "f5-tts-habibi-msa", "display_name": "F5-TTS Habibi Modern Standard Arabic (voice clone, ar-MSA)", "family": "f5_tts", "path": "models/Habibi-TTS/Specialized/MSA", "task": "clon", "mode": "offline", "download_id": "habibi_msa", "min_vram_gb": 4, + "input_hint_en": "**F5-TTS Habibi Modern Standard Arabic**: Arabic zero-shot cloning specialised for the Modern Standard Arabic checkpoint. Upload a reference voice and provide the matching reference transcript. Weights are cc-by-nc-sa-4.0 (F5-TTS Base is cc-by-nc-4.0) -- non-commercial use only." }, + { "id": "f5-tts-habibi-sau", "display_name": "F5-TTS Habibi Saudi (voice clone, ar-SAU)", "family": "f5_tts", "path": "models/Habibi-TTS/Specialized/SAU", "task": "clon", "mode": "offline", "download_id": "habibi_sau", "min_vram_gb": 4, + "input_hint_en": "**F5-TTS Habibi Saudi**: Arabic zero-shot cloning specialised for the Saudi checkpoint. Upload a reference voice and provide the matching reference transcript. Weights are cc-by-nc-sa-4.0 (F5-TTS Base is cc-by-nc-4.0) -- non-commercial use only." }, + { "id": "f5-tts-habibi-uae", "display_name": "F5-TTS Habibi Emirati (voice clone, ar-UAE)", "family": "f5_tts", "path": "models/Habibi-TTS/Specialized/UAE", "task": "clon", "mode": "offline", "download_id": "habibi_uae", "min_vram_gb": 4, + "input_hint_en": "**F5-TTS Habibi Emirati**: Arabic zero-shot cloning specialised for the Emirati checkpoint. Upload a reference voice and provide the matching reference transcript. Weights are cc-by-nc-sa-4.0 (F5-TTS Base is cc-by-nc-4.0) -- non-commercial use only." }, + { "id": "dots-tts-edit", "display_name": "DotTTS Edit (speech editing)", "family": "dots_tts", "path": "models/DotTTS-Edit-GGUF", "task": "s2s", "mode": "offline", "download_id": "dots_tts_edit_q8_0", "min_vram_gb": 8, + "default_options": {"template_name": "edit"}, + "input_hint_en": "**DotTTS Edit**: upload the source speech and describe the edit in the text box. Optional `instruction`, `source_text`, `target_text` and `use_xvector` overrides can be passed through the JSON box." }, + { "id": "moss-voicegen", "display_name": "MOSS-VoiceGenerator (voice design)", "family": "moss_voicegen", "path": "models/MOSS-VoiceGenerator-GGUF", "task": "vdes", "mode": "offline", "download_id": "moss_voicegen_bf16_codec_f16_decode", "min_vram_gb": 8, + "input_hint_en": "**MOSS-VoiceGenerator**: Apache-2.0 voice design -- the speaker comes from a written description instead of a reference recording. The model reads the description from the `instruct` option, so pass it in the JSON box (for example {\"instruct\": \"A warm male radio voice in his fifties, calm.\"}); it also expects full language names such as English or Chinese rather than en/zh." }, { "id": "neutts-2e", "display_name": "NeuTTS 2E (tts, preset voices)", "family": "neutts", "path": "models/NeuTTS-2E-GGUF", "task": "tts", "mode": "offline", "download_id": "neutts_2e_orig", "min_vram_gb": 4 }, { "id": "qwen3-tts", "display_name": "Qwen3-TTS 0.6B (tts)", "family": "qwen3_tts", "path": "models/Qwen3-TTS-12Hz-0.6B-Base", "task": "tts", "mode": "offline", "download_id": "qwen3_tts_0_6b_base", "min_vram_gb": 5 }, { "id": "qwen3-tts-1.7b", "display_name": "Qwen3-TTS 1.7B Base (tts)", "family": "qwen3_tts", "path": "models/Qwen3-TTS-12Hz-1.7B-Base", "task": "tts", "mode": "offline", "download_id": "qwen3_tts_1_7b_base", "min_vram_gb": 8 },