mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-28 08:49:42 +02:00
fix: sync Smallest AI voice dropdown with selected model (#451)
Add model_options to SmallestAITTSConfiguration's voice field so the UI renders the correct voice list per model — 15 standard voices for lightning_v3.1 and 6 premium voices (meher, rhea, aviraj, cressida, willow, maverick) for lightning_v3.1_pro. All 21 voice IDs verified against the Smallest AI API. The frontend's existing model_options machinery already handles dropdown filtering and auto-reset on model change, so no UI changes are needed.
This commit is contained in:
parent
e7b67e0efb
commit
bec8a23dfb
3 changed files with 21 additions and 2 deletions
|
|
@ -44,6 +44,7 @@ from .sarvam import (
|
||||||
from .smallest import (
|
from .smallest import (
|
||||||
SMALLEST_TTS_LANGUAGES,
|
SMALLEST_TTS_LANGUAGES,
|
||||||
SMALLEST_TTS_MODELS,
|
SMALLEST_TTS_MODELS,
|
||||||
|
SMALLEST_TTS_PRO_VOICES,
|
||||||
SMALLEST_TTS_VOICES,
|
SMALLEST_TTS_VOICES,
|
||||||
)
|
)
|
||||||
from .speechmatics import SPEECHMATICS_STT_LANGUAGES
|
from .speechmatics import SPEECHMATICS_STT_LANGUAGES
|
||||||
|
|
@ -87,6 +88,7 @@ __all__ = [
|
||||||
"SARVAM_V3_VOICES",
|
"SARVAM_V3_VOICES",
|
||||||
"SMALLEST_TTS_LANGUAGES",
|
"SMALLEST_TTS_LANGUAGES",
|
||||||
"SMALLEST_TTS_MODELS",
|
"SMALLEST_TTS_MODELS",
|
||||||
|
"SMALLEST_TTS_PRO_VOICES",
|
||||||
"SMALLEST_TTS_VOICES",
|
"SMALLEST_TTS_VOICES",
|
||||||
"SPEECHMATICS_STT_LANGUAGES",
|
"SPEECHMATICS_STT_LANGUAGES",
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,15 @@ SMALLEST_TTS_VOICES = (
|
||||||
"mia",
|
"mia",
|
||||||
"maithili",
|
"maithili",
|
||||||
)
|
)
|
||||||
|
# Premium voices for lightning_v3.1_pro (American, British, Indian accents; English + Hindi only)
|
||||||
|
SMALLEST_TTS_PRO_VOICES = (
|
||||||
|
"meher",
|
||||||
|
"rhea",
|
||||||
|
"aviraj",
|
||||||
|
"cressida",
|
||||||
|
"willow",
|
||||||
|
"maverick",
|
||||||
|
)
|
||||||
SMALLEST_TTS_LANGUAGES = (
|
SMALLEST_TTS_LANGUAGES = (
|
||||||
"en",
|
"en",
|
||||||
"hi",
|
"hi",
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ from api.services.configuration.options import (
|
||||||
SARVAM_V3_VOICES,
|
SARVAM_V3_VOICES,
|
||||||
SMALLEST_TTS_LANGUAGES,
|
SMALLEST_TTS_LANGUAGES,
|
||||||
SMALLEST_TTS_MODELS,
|
SMALLEST_TTS_MODELS,
|
||||||
|
SMALLEST_TTS_PRO_VOICES,
|
||||||
SMALLEST_TTS_VOICES,
|
SMALLEST_TTS_VOICES,
|
||||||
SPEECHMATICS_STT_LANGUAGES,
|
SPEECHMATICS_STT_LANGUAGES,
|
||||||
)
|
)
|
||||||
|
|
@ -1194,8 +1195,15 @@ class SmallestAITTSConfiguration(BaseTTSConfiguration):
|
||||||
)
|
)
|
||||||
voice: str = Field(
|
voice: str = Field(
|
||||||
default="sophia",
|
default="sophia",
|
||||||
description="Smallest AI voice ID.",
|
description="Smallest AI voice ID. Available voices differ by model: lightning_v3.1 has a broad multilingual pool; lightning_v3.1_pro has premium American, British, and Indian accent voices (English + Hindi only).",
|
||||||
json_schema_extra={"examples": SMALLEST_TTS_VOICES, "allow_custom_input": True},
|
json_schema_extra={
|
||||||
|
"examples": list(SMALLEST_TTS_VOICES),
|
||||||
|
"allow_custom_input": True,
|
||||||
|
"model_options": {
|
||||||
|
"lightning_v3.1": list(SMALLEST_TTS_VOICES),
|
||||||
|
"lightning_v3.1_pro": list(SMALLEST_TTS_PRO_VOICES),
|
||||||
|
},
|
||||||
|
},
|
||||||
)
|
)
|
||||||
language: str = Field(
|
language: str = Field(
|
||||||
default="en",
|
default="en",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue