Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions src/agora_agent/types/gemini_tts.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel
from .gemini_tts_params import GeminiTtsParams


class GeminiTts(UncheckedBaseModel):
"""
Gemini Text-to-Speech configuration.
"""

params: GeminiTtsParams
skip_patterns: typing.Optional[typing.List[int]] = pydantic.Field(default=None)
"""
Controls whether the TTS module skips bracketed content when reading LLM response text.
"""

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
42 changes: 42 additions & 0 deletions src/agora_agent/types/gemini_tts_params.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel


class GeminiTtsParams(UncheckedBaseModel):
"""
Gemini TTS configuration parameters.
"""

api_key: str = pydantic.Field()
"""
Gemini API key.
"""

model: str = pydantic.Field()
"""
Gemini TTS model name.
"""

voice: str = pydantic.Field()
"""
Gemini voice name.
"""

style: str = pydantic.Field()
"""
Style instruction for the generated speech.
"""

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
17 changes: 17 additions & 0 deletions src/agora_agent/types/tts.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from .deepgram_tts_params import DeepgramTtsParams
from .eleven_labs_tts_params import ElevenLabsTtsParams
from .fish_audio_tts_params import FishAudioTtsParams
from .gemini_tts_params import GeminiTtsParams
from .generic_http_tts_params import GenericHttpTtsParams
from .google_tts_params import GoogleTtsParams
from .gradium_tts_params import GradiumTtsParams
Expand Down Expand Up @@ -216,6 +217,21 @@ class Config:
extra = pydantic.Extra.allow


class Tts_Gemini(UncheckedBaseModel):
vendor: typing.Literal["gemini"] = "gemini"
params: GeminiTtsParams
skip_patterns: typing.Optional[typing.List[int]] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


class Tts_Amazon(UncheckedBaseModel):
vendor: typing.Literal["amazon"] = "amazon"
params: AmazonTtsParams
Expand Down Expand Up @@ -412,6 +428,7 @@ class Config:
Tts_Rime,
Tts_Fishaudio,
Tts_Google,
Tts_Gemini,
Tts_Amazon,
Tts_Sarvam,
Tts_GenericHttp,
Expand Down
Loading