murf 1.2.2__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of murf might be problematic. Click here for more details.

Files changed (57) hide show
  1. murf/__init__.py +31 -1
  2. murf/auth/client.py +11 -9
  3. murf/base_client.py +3 -20
  4. murf/client.py +9 -8
  5. murf/core/__init__.py +4 -0
  6. murf/core/client_wrapper.py +18 -17
  7. murf/core/unchecked_base_model.py +305 -0
  8. murf/dubbing/jobs/client.py +37 -31
  9. murf/dubbing/languages/client.py +25 -21
  10. murf/dubbing/projects/client.py +37 -31
  11. murf/dubbing_client.py +9 -8
  12. murf/environment.py +10 -3
  13. murf/stream_input/__init__.py +5 -0
  14. murf/stream_input/types/__init__.py +6 -0
  15. murf/stream_input/types/receive_message.py +7 -0
  16. murf/stream_input/types/send_message.py +9 -0
  17. murf/text/client.py +15 -13
  18. murf/text_to_speech/client.py +43 -37
  19. murf/types/__init__.py +34 -0
  20. murf/types/api_job_response.py +2 -2
  21. murf/types/api_project_response.py +2 -2
  22. murf/types/api_voice.py +2 -2
  23. murf/types/audio_output.py +27 -0
  24. murf/types/auth_token_response.py +2 -2
  25. murf/types/character_count.py +2 -2
  26. murf/types/clear_context.py +20 -0
  27. murf/types/dub_api_detail_response.py +2 -2
  28. murf/types/dub_job_status_response.py +2 -2
  29. murf/types/final_output.py +27 -0
  30. murf/types/form_data_content_disposition.py +2 -2
  31. murf/types/generate_speech_response.py +2 -2
  32. murf/types/group_api_project_response.py +2 -2
  33. murf/types/locale_response.py +2 -2
  34. murf/types/metadata.py +2 -2
  35. murf/types/murf_api_translation_response.py +2 -2
  36. murf/types/pronunciation_detail.py +2 -2
  37. murf/types/send_text.py +32 -0
  38. murf/types/set_advanced_settings.py +20 -0
  39. murf/types/set_voice_configuration.py +20 -0
  40. murf/types/set_voice_configuration_voice_config.py +57 -0
  41. murf/types/set_voice_configuration_voice_config_pronunciation_dictionary_value.py +30 -0
  42. murf/types/set_voice_configuration_voice_config_pronunciation_dictionary_value_type.py +7 -0
  43. murf/types/source_locale_response.py +2 -2
  44. murf/types/speech_to_speech_response.py +2 -2
  45. murf/types/style_details.py +2 -2
  46. murf/types/translation.py +2 -2
  47. murf/types/tts_request_both_payload.py +29 -0
  48. murf/types/tts_request_both_payload_voice_config.py +44 -0
  49. murf/types/tts_request_both_payload_voice_config_pronunciation_dictionary.py +22 -0
  50. murf/types/tts_request_both_payload_voice_config_pronunciation_dictionary_guess.py +20 -0
  51. murf/types/word_duration_response.py +2 -2
  52. murf/voice_changer/client.py +17 -15
  53. {murf-1.2.2.dist-info → murf-2.0.0.dist-info}/METADATA +1 -1
  54. murf-2.0.0.dist-info/RECORD +98 -0
  55. murf-1.2.2.dist-info/RECORD +0 -80
  56. {murf-1.2.2.dist-info → murf-2.0.0.dist-info}/LICENSE +0 -0
  57. {murf-1.2.2.dist-info → murf-2.0.0.dist-info}/WHEEL +0 -0
@@ -1,12 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
6
  import pydantic
7
7
 
8
8
 
9
- class CharacterCount(UniversalBaseModel):
9
+ class CharacterCount(UncheckedBaseModel):
10
10
  total_source_text_length: typing.Optional[int] = None
11
11
  total_translated_text_length: typing.Optional[int] = None
12
12
 
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
5
+ import typing
6
+ import pydantic
7
+
8
+
9
+ class ClearContext(UncheckedBaseModel):
10
+ clear: bool
11
+ context_id: str
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -1,12 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
6
  import pydantic
7
7
 
8
8
 
9
- class DubApiDetailResponse(UniversalBaseModel):
9
+ class DubApiDetailResponse(UncheckedBaseModel):
10
10
  locale: typing.Optional[str] = None
11
11
  status: typing.Optional[str] = None
12
12
  error_message: typing.Optional[str] = None
@@ -1,13 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  import pydantic
6
6
  from .dub_api_detail_response import DubApiDetailResponse
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
 
9
9
 
10
- class DubJobStatusResponse(UniversalBaseModel):
10
+ class DubJobStatusResponse(UncheckedBaseModel):
11
11
  project_id: typing.Optional[str] = pydantic.Field(default=None)
12
12
  """
13
13
  Your Project Id
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import pydantic
5
+ import typing
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class FinalOutput(UncheckedBaseModel):
10
+ is_final: bool = pydantic.Field()
11
+ """
12
+ Indicates if the audio is final, you will not receive audio param in this message
13
+ """
14
+
15
+ context_id: typing.Optional[str] = pydantic.Field(default=None)
16
+ """
17
+ Optional context identifier
18
+ """
19
+
20
+ if IS_PYDANTIC_V2:
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
+ else:
23
+
24
+ class Config:
25
+ frozen = True
26
+ smart_union = True
27
+ extra = pydantic.Extra.allow
@@ -1,6 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  import typing_extensions
6
6
  from ..core.serialization import FieldMetadata
@@ -9,7 +9,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
  import pydantic
10
10
 
11
11
 
12
- class FormDataContentDisposition(UniversalBaseModel):
12
+ class FormDataContentDisposition(UncheckedBaseModel):
13
13
  type: typing.Optional[str] = None
14
14
  parameters: typing.Optional[typing.Dict[str, str]] = None
15
15
  file_name: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="fileName")] = None
@@ -1,6 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing_extensions
5
5
  from ..core.serialization import FieldMetadata
6
6
  import pydantic
@@ -9,7 +9,7 @@ from .word_duration_response import WordDurationResponse
9
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
10
 
11
11
 
12
- class GenerateSpeechResponse(UniversalBaseModel):
12
+ class GenerateSpeechResponse(UncheckedBaseModel):
13
13
  audio_file: typing_extensions.Annotated[str, FieldMetadata(alias="audioFile")]
14
14
  audio_length_in_seconds: typing_extensions.Annotated[float, FieldMetadata(alias="audioLengthInSeconds")]
15
15
  consumed_character_count: typing_extensions.Annotated[int, FieldMetadata(alias="consumedCharacterCount")] = (
@@ -1,13 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  from .api_project_response import ApiProjectResponse
6
6
  import pydantic
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
 
9
9
 
10
- class GroupApiProjectResponse(UniversalBaseModel):
10
+ class GroupApiProjectResponse(UncheckedBaseModel):
11
11
  next: typing.Optional[str] = None
12
12
  projects: typing.List[ApiProjectResponse] = pydantic.Field()
13
13
  """
@@ -1,13 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  from .locale_response_supports_item import LocaleResponseSupportsItem
6
6
  import pydantic
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
 
9
9
 
10
- class LocaleResponse(UniversalBaseModel):
10
+ class LocaleResponse(UncheckedBaseModel):
11
11
  locale: str
12
12
  language: str
13
13
  supports: typing.List[LocaleResponseSupportsItem] = pydantic.Field()
murf/types/metadata.py CHANGED
@@ -1,13 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  from .character_count import CharacterCount
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
7
  import pydantic
8
8
 
9
9
 
10
- class Metadata(UniversalBaseModel):
10
+ class Metadata(UncheckedBaseModel):
11
11
  character_count: typing.Optional[CharacterCount] = None
12
12
  credits_used: typing.Optional[float] = None
13
13
  target_language: typing.Optional[str] = None
@@ -1,6 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  from .metadata import Metadata
6
6
  from .translation import Translation
@@ -8,7 +8,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
  import pydantic
9
9
 
10
10
 
11
- class MurfApiTranslationResponse(UniversalBaseModel):
11
+ class MurfApiTranslationResponse(UncheckedBaseModel):
12
12
  metadata: typing.Optional[Metadata] = None
13
13
  translations: typing.Optional[typing.List[Translation]] = None
14
14
 
@@ -1,13 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  from .pronunciation_detail_type import PronunciationDetailType
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
7
  import pydantic
8
8
 
9
9
 
10
- class PronunciationDetail(UniversalBaseModel):
10
+ class PronunciationDetail(UncheckedBaseModel):
11
11
  """
12
12
  An object used to define custom pronunciations.
13
13
 
@@ -0,0 +1,32 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import pydantic
5
+ import typing
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class SendText(UncheckedBaseModel):
10
+ text: str = pydantic.Field()
11
+ """
12
+ The text to convert to speech
13
+ """
14
+
15
+ context_id: typing.Optional[str] = pydantic.Field(default=None)
16
+ """
17
+ Optional context identifier
18
+ """
19
+
20
+ end: typing.Optional[bool] = pydantic.Field(default=None)
21
+ """
22
+ Indicates if this is the end of the text stream (optional)
23
+ """
24
+
25
+ if IS_PYDANTIC_V2:
26
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
27
+ else:
28
+
29
+ class Config:
30
+ frozen = True
31
+ smart_union = True
32
+ extra = pydantic.Extra.allow
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class SetAdvancedSettings(UncheckedBaseModel):
10
+ min_buffer_size: typing.Optional[int] = None
11
+ max_buffer_delay_in_ms: typing.Optional[int] = None
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ from .set_voice_configuration_voice_config import SetVoiceConfigurationVoiceConfig
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import typing
7
+ import pydantic
8
+
9
+
10
+ class SetVoiceConfiguration(UncheckedBaseModel):
11
+ voice_config: SetVoiceConfigurationVoiceConfig
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -0,0 +1,57 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import pydantic
6
+ from .set_voice_configuration_voice_config_pronunciation_dictionary_value import (
7
+ SetVoiceConfigurationVoiceConfigPronunciationDictionaryValue,
8
+ )
9
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
+
11
+
12
+ class SetVoiceConfigurationVoiceConfig(UncheckedBaseModel):
13
+ voice_id: typing.Optional[str] = pydantic.Field(default=None)
14
+ """
15
+ Voice ID to use for TTS. Defaults to "en-US-daniel"
16
+ """
17
+
18
+ style: typing.Optional[str] = pydantic.Field(default=None)
19
+ """
20
+ The style of speech (optional)
21
+ """
22
+
23
+ rate: typing.Optional[int] = pydantic.Field(default=None)
24
+ """
25
+ Speech rate (optional)
26
+ """
27
+
28
+ pitch: typing.Optional[int] = pydantic.Field(default=None)
29
+ """
30
+ Speech pitch (optional)
31
+ """
32
+
33
+ pronunciation_dictionary: typing.Optional[
34
+ typing.Dict[str, SetVoiceConfigurationVoiceConfigPronunciationDictionaryValue]
35
+ ] = pydantic.Field(default=None)
36
+ """
37
+ A map of words to their pronunciation details. Example 1: {"live":{"type": "IPA", "pronunciation": "laɪv"}}.
38
+ """
39
+
40
+ variation: typing.Optional[int] = pydantic.Field(default=None)
41
+ """
42
+ Higher values will add more variation in terms of Pause, Pitch, and Speed to the voice. Only available for Gen2 model.
43
+ """
44
+
45
+ multi_native_locale: typing.Optional[str] = pydantic.Field(default=None)
46
+ """
47
+ Specifies the language for the generated audio, enabling a voice to speak in multiple languages natively. Only available in the Gen2 model. Valid values: "en-US", "en-UK", "es-ES", etc. Use the GET /v1/speed/voices endpoint to retrieve the list of available voices and languages.
48
+ """
49
+
50
+ if IS_PYDANTIC_V2:
51
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
52
+ else:
53
+
54
+ class Config:
55
+ frozen = True
56
+ smart_union = True
57
+ extra = pydantic.Extra.allow
@@ -0,0 +1,30 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ from .set_voice_configuration_voice_config_pronunciation_dictionary_value_type import (
5
+ SetVoiceConfigurationVoiceConfigPronunciationDictionaryValueType,
6
+ )
7
+ import pydantic
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
+ import typing
10
+
11
+
12
+ class SetVoiceConfigurationVoiceConfigPronunciationDictionaryValue(UncheckedBaseModel):
13
+ type: SetVoiceConfigurationVoiceConfigPronunciationDictionaryValueType = pydantic.Field()
14
+ """
15
+ Type of pronunciation (IPA or SAY_AS)
16
+ """
17
+
18
+ pronunciation: str = pydantic.Field()
19
+ """
20
+ The actual pronunciation string
21
+ """
22
+
23
+ if IS_PYDANTIC_V2:
24
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
25
+ else:
26
+
27
+ class Config:
28
+ frozen = True
29
+ smart_union = True
30
+ extra = pydantic.Extra.allow
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ SetVoiceConfigurationVoiceConfigPronunciationDictionaryValueType = typing.Union[
6
+ typing.Literal["IPA", "SAY_AS"], typing.Any
7
+ ]
@@ -1,12 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
5
5
  import typing
6
6
  import pydantic
7
7
 
8
8
 
9
- class SourceLocaleResponse(UniversalBaseModel):
9
+ class SourceLocaleResponse(UncheckedBaseModel):
10
10
  locale: str
11
11
  language: str
12
12
 
@@ -1,12 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import pydantic
5
5
  import typing
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
7
 
8
8
 
9
- class SpeechToSpeechResponse(UniversalBaseModel):
9
+ class SpeechToSpeechResponse(UncheckedBaseModel):
10
10
  audio_file: str = pydantic.Field()
11
11
  """
12
12
  The URL or path of the generated audio file.
@@ -1,6 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing_extensions
5
5
  import typing
6
6
  from ..core.serialization import FieldMetadata
@@ -8,7 +8,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
  import pydantic
9
9
 
10
10
 
11
- class StyleDetails(UniversalBaseModel):
11
+ class StyleDetails(UncheckedBaseModel):
12
12
  available_styles: typing_extensions.Annotated[
13
13
  typing.Optional[typing.List[str]], FieldMetadata(alias="availableStyles")
14
14
  ] = None
murf/types/translation.py CHANGED
@@ -1,12 +1,12 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
6
  import pydantic
7
7
 
8
8
 
9
- class Translation(UniversalBaseModel):
9
+ class Translation(UncheckedBaseModel):
10
10
  source_text: typing.Optional[str] = None
11
11
  translated_text: typing.Optional[str] = None
12
12
 
@@ -0,0 +1,29 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ from .tts_request_both_payload_voice_config import TtsRequestBothPayloadVoiceConfig
5
+ import pydantic
6
+ import typing
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class TtsRequestBothPayload(UncheckedBaseModel):
11
+ voice_config: TtsRequestBothPayloadVoiceConfig
12
+ text: str = pydantic.Field()
13
+ """
14
+ The text to convert to speech
15
+ """
16
+
17
+ context_id: typing.Optional[str] = pydantic.Field(default=None)
18
+ """
19
+ Optional context identifier
20
+ """
21
+
22
+ if IS_PYDANTIC_V2:
23
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
24
+ else:
25
+
26
+ class Config:
27
+ frozen = True
28
+ smart_union = True
29
+ extra = pydantic.Extra.allow
@@ -0,0 +1,44 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing_extensions
5
+ from ..core.serialization import FieldMetadata
6
+ import pydantic
7
+ import typing
8
+ from .tts_request_both_payload_voice_config_pronunciation_dictionary import (
9
+ TtsRequestBothPayloadVoiceConfigPronunciationDictionary,
10
+ )
11
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
12
+
13
+
14
+ class TtsRequestBothPayloadVoiceConfig(UncheckedBaseModel):
15
+ voice_id: typing_extensions.Annotated[str, FieldMetadata(alias="voiceId")] = pydantic.Field()
16
+ """
17
+ Voice ID to use for TTS
18
+ """
19
+
20
+ style: typing.Optional[str] = pydantic.Field(default=None)
21
+ """
22
+ The style of speech (optional)
23
+ """
24
+
25
+ rate: typing.Optional[int] = pydantic.Field(default=None)
26
+ """
27
+ Speech rate (optional)
28
+ """
29
+
30
+ pitch: typing.Optional[int] = pydantic.Field(default=None)
31
+ """
32
+ Speech pitch (optional)
33
+ """
34
+
35
+ pronunciation_dictionary: typing.Optional[TtsRequestBothPayloadVoiceConfigPronunciationDictionary] = None
36
+
37
+ if IS_PYDANTIC_V2:
38
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
39
+ else:
40
+
41
+ class Config:
42
+ frozen = True
43
+ smart_union = True
44
+ extra = pydantic.Extra.allow
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ from .tts_request_both_payload_voice_config_pronunciation_dictionary_guess import (
6
+ TtsRequestBothPayloadVoiceConfigPronunciationDictionaryGuess,
7
+ )
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
+ import pydantic
10
+
11
+
12
+ class TtsRequestBothPayloadVoiceConfigPronunciationDictionary(UncheckedBaseModel):
13
+ guess: typing.Optional[TtsRequestBothPayloadVoiceConfigPronunciationDictionaryGuess] = None
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class TtsRequestBothPayloadVoiceConfigPronunciationDictionaryGuess(UncheckedBaseModel):
10
+ type: typing.Optional[str] = None
11
+ pronunciation: typing.Optional[str] = None
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -1,6 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.pydantic_utilities import UniversalBaseModel
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing_extensions
5
5
  import typing
6
6
  from ..core.serialization import FieldMetadata
@@ -8,7 +8,7 @@ import pydantic
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
- class WordDurationResponse(UniversalBaseModel):
11
+ class WordDurationResponse(UncheckedBaseModel):
12
12
  end_ms: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="endMs")] = None
13
13
  pitch_scale_maximum: typing_extensions.Annotated[
14
14
  typing.Optional[float], FieldMetadata(alias="pitchScaleMaximum")