Skip to content

Commit 16193e1

Browse files
feat(gallery): add Higgs Audio v3 TTS (#11456)
Expose the existing audio.cpp Higgs support as an installable Q8 gallery model and document voice cloning and licensing constraints. Assisted-by: Codex:gpt-5 Co-authored-by: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com>
1 parent 7cfccdc commit 16193e1

3 files changed

Lines changed: 85 additions & 0 deletions

File tree

core/gallery/variants_lint_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
. "github.com/onsi/gomega"
1212
"gopkg.in/yaml.v3"
1313

14+
"github.com/mudler/LocalAI/core/config"
1415
"github.com/mudler/LocalAI/core/gallery"
1516
)
1617

@@ -517,6 +518,28 @@ var _ = Describe("gallery/index.yaml variant invariants", Ordered, func() {
517518
})
518519
})
519520

521+
var _ = Describe("gallery/index.yaml Higgs Audio entry", func() {
522+
It("installs the validated Q8 model through audio-cpp for TTS", func() {
523+
entries, err := loadGalleryIndex()
524+
Expect(err).ToNot(HaveOccurred())
525+
526+
models := make([]*gallery.GalleryModel, 0, len(entries))
527+
for i := range entries {
528+
models = append(models, &entries[i])
529+
}
530+
entry := gallery.FindGalleryElement(models, "audio-cpp-higgs-audio-v3")
531+
Expect(entry).ToNot(BeNil())
532+
Expect(entry.Overrides).To(HaveKeyWithValue("backend", "audio-cpp"))
533+
Expect(entry.GetKnownUsecases()).ToNot(BeNil())
534+
Expect(*entry.GetKnownUsecases() & config.FLAG_TTS).To(Equal(config.FLAG_TTS))
535+
Expect(entry.AdditionalFiles).To(ConsistOf(gallery.File{
536+
Filename: "audio-cpp/higgs-audio-v3-tts-4b-q8_0.gguf",
537+
SHA256: "b857344af06b1b2497f4f8c1d0f0c134d0eeaf9c089c0d28ae6e58084d90f901",
538+
URI: "huggingface://audio-cpp/audio.cpp-gguf/Higgs-Audio-v3-TTS-4B-GGUF/higgs-audio-v3-tts-4b-q8_0.gguf",
539+
}))
540+
})
541+
})
542+
520543
// The lint rules above check the catalog as text. This drives the real
521544
// resolution path for the entry a user actually clicked and failed to install,
522545
// so the fix is proven at the layer that broke and not only at the layer that

docs/content/features/text-to-audio.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -807,6 +807,26 @@ one installed backend covers TTS (`supertonic`, `vibevoice`, `voxcpm2`, `fish_au
807807
`irodori_tts`, `moss_tts_local`, `moss_tts_nano`) and voice design (`qwen3_tts`, `irodori_tts`), alongside ASR, VAD,
808808
diarization and separation.
809809

810+
Higgs Audio v3 is available directly from the model gallery as
811+
`audio-cpp-higgs-audio-v3`. It uses the Q8_0 GGUF validated by audio.cpp and supports
812+
expressive multilingual TTS and zero-shot voice cloning. For cloning, pass the path to a
813+
server-local WAV file in the OpenAI `voice` field. Use only reference audio for which you
814+
have the necessary rights and consent, and review the model's research and non-commercial
815+
license before deployment.
816+
817+
```bash
818+
local-ai models install audio-cpp-higgs-audio-v3
819+
820+
curl http://localhost:8080/v1/audio/speech \
821+
-H "Content-Type: application/json" \
822+
-d '{
823+
"model": "audio-cpp-higgs-audio-v3",
824+
"input": "Welcome to LocalAI.",
825+
"voice": "/models/voices/reference.wav"
826+
}' \
827+
--output higgs.wav
828+
```
829+
810830
```yaml
811831
name: supertonic
812832
backend: audio-cpp

gallery/index.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50100,6 +50100,48 @@
5010050100
- filename: audio-cpp/supertonic-3-orig.gguf
5010150101
sha256: af814486a0bc9513fb36afabd9b1155ad14fb2c36a107ac6ffe62ea9adafb662
5010250102
uri: huggingface://audio-cpp/audio.cpp-gguf/Supertonic-3-GGUF/supertonic-3-orig.gguf
50103+
- name: audio-cpp-higgs-audio-v3
50104+
url: github:mudler/LocalAI/gallery/virtual.yaml@master
50105+
urls:
50106+
- https://huggingface.co/bosonai/higgs-tts-3-4b
50107+
- https://huggingface.co/audio-cpp/audio.cpp-gguf
50108+
- https://github.com/0xShug0/audio.cpp
50109+
description: |
50110+
Higgs Audio v3 TTS 4B (audio.cpp, Q8_0) - expressive conversational
50111+
speech in more than 100 languages, with zero-shot voice cloning and inline
50112+
control over emotion, style, prosody, pauses and sound effects.
50113+
50114+
Supply a server-local WAV path in the OpenAI `voice` field to clone a
50115+
speaker, and use only audio for which you have the necessary rights and
50116+
consent. The Q8_0 GGUF is the recommended quality and speed balance and is
50117+
recorded as passing upstream's audio.cpp validation.
50118+
50119+
The Boson Higgs TTS 3 Research and Non-Commercial License permits research
50120+
and non-commercial use. Its creator-use grant and commercial-use terms
50121+
carry additional conditions; review the model license before deployment.
50122+
license: other
50123+
tags:
50124+
- audio-cpp
50125+
- higgs-audio
50126+
- multilingual
50127+
- tts
50128+
- text-to-speech
50129+
- voice-cloning
50130+
- gguf
50131+
- ggml
50132+
- quantized
50133+
last_checked: "2026-08-11"
50134+
overrides:
50135+
backend: audio-cpp
50136+
known_usecases:
50137+
- tts
50138+
name: audio-cpp-higgs-audio-v3
50139+
parameters:
50140+
model: audio-cpp/higgs-audio-v3-tts-4b-q8_0.gguf
50141+
files:
50142+
- filename: audio-cpp/higgs-audio-v3-tts-4b-q8_0.gguf
50143+
sha256: b857344af06b1b2497f4f8c1d0f0c134d0eeaf9c089c0d28ae6e58084d90f901
50144+
uri: huggingface://audio-cpp/audio.cpp-gguf/Higgs-Audio-v3-TTS-4B-GGUF/higgs-audio-v3-tts-4b-q8_0.gguf
5010350145
- name: audio-cpp-chatterbox
5010450146
url: github:mudler/LocalAI/gallery/virtual.yaml@master
5010550147
urls:

0 commit comments

Comments
 (0)