murf 1.2.3__py3-none-any.whl → 2.0.1__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 (62) hide show
  1. murf/__init__.py +37 -1
  2. murf/auth/client.py +11 -9
  3. murf/base_client.py +3 -20
  4. murf/client.py +0 -8
  5. murf/core/__init__.py +4 -0
  6. murf/core/client_wrapper.py +18 -17
  7. murf/core/http_client.py +6 -6
  8. murf/core/pydantic_utilities.py +2 -2
  9. murf/core/unchecked_base_model.py +305 -0
  10. murf/dubbing/jobs/client.py +37 -31
  11. murf/dubbing/languages/client.py +25 -21
  12. murf/dubbing/projects/client.py +37 -31
  13. murf/dubbing_client.py +0 -8
  14. murf/environment.py +10 -3
  15. murf/stream_input/__init__.py +5 -0
  16. murf/stream_input/types/__init__.py +6 -0
  17. murf/stream_input/types/receive_message.py +7 -0
  18. murf/stream_input/types/send_message.py +9 -0
  19. murf/text/client.py +15 -13
  20. murf/text_to_speech/client.py +79 -37
  21. murf/types/__init__.py +44 -0
  22. murf/types/api_job_response.py +2 -2
  23. murf/types/api_project_response.py +2 -2
  24. murf/types/api_voice.py +2 -2
  25. murf/types/audio_output.py +27 -0
  26. murf/types/auth_token_response.py +2 -2
  27. murf/types/character_count.py +2 -2
  28. murf/types/clear_context.py +20 -0
  29. murf/types/dub_api_detail_response.py +2 -2
  30. murf/types/dub_job_status_response.py +2 -2
  31. murf/types/final_output.py +27 -0
  32. murf/types/form_data_content_disposition.py +2 -2
  33. murf/types/generate_speech_response.py +2 -2
  34. murf/types/group_api_project_response.py +2 -2
  35. murf/types/locale_response.py +2 -2
  36. murf/types/metadata.py +2 -2
  37. murf/types/murf_api_translation_response.py +2 -2
  38. murf/types/pronunciation_detail.py +2 -2
  39. murf/types/send_text.py +35 -0
  40. murf/types/send_text_voice_config.py +55 -0
  41. murf/types/send_text_voice_config_pronunciation_dictionary_value.py +30 -0
  42. murf/types/send_text_voice_config_pronunciation_dictionary_value_type.py +5 -0
  43. murf/types/set_advanced_settings.py +20 -0
  44. murf/types/set_voice_configuration_or_initialize_context.py +26 -0
  45. murf/types/set_voice_configuration_or_initialize_context_voice_config.py +57 -0
  46. murf/types/set_voice_configuration_or_initialize_context_voice_config_pronunciation_dictionary_value.py +30 -0
  47. murf/types/set_voice_configuration_or_initialize_context_voice_config_pronunciation_dictionary_value_type.py +7 -0
  48. murf/types/source_locale_response.py +2 -2
  49. murf/types/speech_to_speech_response.py +2 -2
  50. murf/types/style_details.py +2 -2
  51. murf/types/translation.py +2 -2
  52. murf/types/tts_request_both_payload.py +29 -0
  53. murf/types/tts_request_both_payload_voice_config.py +44 -0
  54. murf/types/tts_request_both_payload_voice_config_pronunciation_dictionary.py +22 -0
  55. murf/types/tts_request_both_payload_voice_config_pronunciation_dictionary_guess.py +20 -0
  56. murf/types/word_duration_response.py +2 -2
  57. murf/voice_changer/client.py +29 -23
  58. {murf-1.2.3.dist-info → murf-2.0.1.dist-info}/METADATA +1 -1
  59. murf-2.0.1.dist-info/RECORD +101 -0
  60. murf-1.2.3.dist-info/RECORD +0 -80
  61. {murf-1.2.3.dist-info → murf-2.0.1.dist-info}/LICENSE +0 -0
  62. {murf-1.2.3.dist-info → murf-2.0.1.dist-info}/WHEEL +0 -0
@@ -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_or_initialize_context_voice_config_pronunciation_dictionary_value_type import (
5
+ SetVoiceConfigurationOrInitializeContextVoiceConfigPronunciationDictionaryValueType,
6
+ )
7
+ import pydantic
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
+ import typing
10
+
11
+
12
+ class SetVoiceConfigurationOrInitializeContextVoiceConfigPronunciationDictionaryValue(UncheckedBaseModel):
13
+ type: SetVoiceConfigurationOrInitializeContextVoiceConfigPronunciationDictionaryValueType = 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
+ SetVoiceConfigurationOrInitializeContextVoiceConfigPronunciationDictionaryValueType = 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")
@@ -5,7 +5,7 @@ from ..core.client_wrapper import SyncClientWrapper
5
5
  from .. import core
6
6
  from ..core.request_options import RequestOptions
7
7
  from ..types.speech_to_speech_response import SpeechToSpeechResponse
8
- from ..core.pydantic_utilities import parse_obj_as
8
+ from ..core.unchecked_base_model import construct_type
9
9
  from ..errors.bad_request_error import BadRequestError
10
10
  from ..errors.payment_required_error import PaymentRequiredError
11
11
  from ..errors.forbidden_error import ForbiddenError
@@ -26,6 +26,7 @@ class VoiceChangerClient:
26
26
  def convert(
27
27
  self,
28
28
  *,
29
+ voice_id: str,
29
30
  audio_duration: typing.Optional[float] = OMIT,
30
31
  channel_type: typing.Optional[str] = OMIT,
31
32
  encode_output_as_base_64: typing.Optional[bool] = OMIT,
@@ -43,7 +44,6 @@ class VoiceChangerClient:
43
44
  style: typing.Optional[str] = OMIT,
44
45
  transcription: typing.Optional[str] = OMIT,
45
46
  variation: typing.Optional[int] = OMIT,
46
- voice_id: typing.Optional[str] = OMIT,
47
47
  request_options: typing.Optional[RequestOptions] = None,
48
48
  ) -> SpeechToSpeechResponse:
49
49
  """
@@ -51,6 +51,9 @@ class VoiceChangerClient:
51
51
 
52
52
  Parameters
53
53
  ----------
54
+ voice_id : str
55
+ Use the GET /v1/speech/voices API to find supported voiceIds. You can use either the voiceId (e.g. en-US-natalie) or just the voice actor's name (e.g. natalie).
56
+
54
57
  audio_duration : typing.Optional[float]
55
58
  This parameter allows specifying the duration (in seconds) for the generated audio. If the value is 0, this parameter will be ignored. Only available for Gen2 model.
56
59
 
@@ -108,9 +111,6 @@ class VoiceChangerClient:
108
111
  variation : typing.Optional[int]
109
112
  Higher values will add more variation in terms of Pause, Pitch, and Speed to the voice. Only available for Gen2 model.
110
113
 
111
- voice_id : typing.Optional[str]
112
- Use the GET /v1/speech/voices API to find supported voiceIds. You can use either the voiceId (e.g. en-US-natalie) or just the voice actor's name (e.g. natalie).
113
-
114
114
  request_options : typing.Optional[RequestOptions]
115
115
  Request-specific configuration.
116
116
 
@@ -126,10 +126,13 @@ class VoiceChangerClient:
126
126
  client = Murf(
127
127
  api_key="YOUR_API_KEY",
128
128
  )
129
- client.voice_changer.convert()
129
+ client.voice_changer.convert(
130
+ voice_id="voice_id",
131
+ )
130
132
  """
131
133
  _response = self._client_wrapper.httpx_client.request(
132
134
  "v1/voice-changer/convert",
135
+ base_url=self._client_wrapper.get_environment().base,
133
136
  method="POST",
134
137
  data={
135
138
  "audio_duration": audio_duration,
@@ -160,7 +163,7 @@ class VoiceChangerClient:
160
163
  if 200 <= _response.status_code < 300:
161
164
  return typing.cast(
162
165
  SpeechToSpeechResponse,
163
- parse_obj_as(
166
+ construct_type(
164
167
  type_=SpeechToSpeechResponse, # type: ignore
165
168
  object_=_response.json(),
166
169
  ),
@@ -169,7 +172,7 @@ class VoiceChangerClient:
169
172
  raise BadRequestError(
170
173
  typing.cast(
171
174
  typing.Optional[typing.Any],
172
- parse_obj_as(
175
+ construct_type(
173
176
  type_=typing.Optional[typing.Any], # type: ignore
174
177
  object_=_response.json(),
175
178
  ),
@@ -179,7 +182,7 @@ class VoiceChangerClient:
179
182
  raise PaymentRequiredError(
180
183
  typing.cast(
181
184
  typing.Optional[typing.Any],
182
- parse_obj_as(
185
+ construct_type(
183
186
  type_=typing.Optional[typing.Any], # type: ignore
184
187
  object_=_response.json(),
185
188
  ),
@@ -189,7 +192,7 @@ class VoiceChangerClient:
189
192
  raise ForbiddenError(
190
193
  typing.cast(
191
194
  typing.Optional[typing.Any],
192
- parse_obj_as(
195
+ construct_type(
193
196
  type_=typing.Optional[typing.Any], # type: ignore
194
197
  object_=_response.json(),
195
198
  ),
@@ -199,7 +202,7 @@ class VoiceChangerClient:
199
202
  raise InternalServerError(
200
203
  typing.cast(
201
204
  typing.Optional[typing.Any],
202
- parse_obj_as(
205
+ construct_type(
203
206
  type_=typing.Optional[typing.Any], # type: ignore
204
207
  object_=_response.json(),
205
208
  ),
@@ -209,7 +212,7 @@ class VoiceChangerClient:
209
212
  raise ServiceUnavailableError(
210
213
  typing.cast(
211
214
  typing.Optional[typing.Any],
212
- parse_obj_as(
215
+ construct_type(
213
216
  type_=typing.Optional[typing.Any], # type: ignore
214
217
  object_=_response.json(),
215
218
  ),
@@ -228,6 +231,7 @@ class AsyncVoiceChangerClient:
228
231
  async def convert(
229
232
  self,
230
233
  *,
234
+ voice_id: str,
231
235
  audio_duration: typing.Optional[float] = OMIT,
232
236
  channel_type: typing.Optional[str] = OMIT,
233
237
  encode_output_as_base_64: typing.Optional[bool] = OMIT,
@@ -245,7 +249,6 @@ class AsyncVoiceChangerClient:
245
249
  style: typing.Optional[str] = OMIT,
246
250
  transcription: typing.Optional[str] = OMIT,
247
251
  variation: typing.Optional[int] = OMIT,
248
- voice_id: typing.Optional[str] = OMIT,
249
252
  request_options: typing.Optional[RequestOptions] = None,
250
253
  ) -> SpeechToSpeechResponse:
251
254
  """
@@ -253,6 +256,9 @@ class AsyncVoiceChangerClient:
253
256
 
254
257
  Parameters
255
258
  ----------
259
+ voice_id : str
260
+ Use the GET /v1/speech/voices API to find supported voiceIds. You can use either the voiceId (e.g. en-US-natalie) or just the voice actor's name (e.g. natalie).
261
+
256
262
  audio_duration : typing.Optional[float]
257
263
  This parameter allows specifying the duration (in seconds) for the generated audio. If the value is 0, this parameter will be ignored. Only available for Gen2 model.
258
264
 
@@ -310,9 +316,6 @@ class AsyncVoiceChangerClient:
310
316
  variation : typing.Optional[int]
311
317
  Higher values will add more variation in terms of Pause, Pitch, and Speed to the voice. Only available for Gen2 model.
312
318
 
313
- voice_id : typing.Optional[str]
314
- Use the GET /v1/speech/voices API to find supported voiceIds. You can use either the voiceId (e.g. en-US-natalie) or just the voice actor's name (e.g. natalie).
315
-
316
319
  request_options : typing.Optional[RequestOptions]
317
320
  Request-specific configuration.
318
321
 
@@ -333,13 +336,16 @@ class AsyncVoiceChangerClient:
333
336
 
334
337
 
335
338
  async def main() -> None:
336
- await client.voice_changer.convert()
339
+ await client.voice_changer.convert(
340
+ voice_id="voice_id",
341
+ )
337
342
 
338
343
 
339
344
  asyncio.run(main())
340
345
  """
341
346
  _response = await self._client_wrapper.httpx_client.request(
342
347
  "v1/voice-changer/convert",
348
+ base_url=self._client_wrapper.get_environment().base,
343
349
  method="POST",
344
350
  data={
345
351
  "audio_duration": audio_duration,
@@ -370,7 +376,7 @@ class AsyncVoiceChangerClient:
370
376
  if 200 <= _response.status_code < 300:
371
377
  return typing.cast(
372
378
  SpeechToSpeechResponse,
373
- parse_obj_as(
379
+ construct_type(
374
380
  type_=SpeechToSpeechResponse, # type: ignore
375
381
  object_=_response.json(),
376
382
  ),
@@ -379,7 +385,7 @@ class AsyncVoiceChangerClient:
379
385
  raise BadRequestError(
380
386
  typing.cast(
381
387
  typing.Optional[typing.Any],
382
- parse_obj_as(
388
+ construct_type(
383
389
  type_=typing.Optional[typing.Any], # type: ignore
384
390
  object_=_response.json(),
385
391
  ),
@@ -389,7 +395,7 @@ class AsyncVoiceChangerClient:
389
395
  raise PaymentRequiredError(
390
396
  typing.cast(
391
397
  typing.Optional[typing.Any],
392
- parse_obj_as(
398
+ construct_type(
393
399
  type_=typing.Optional[typing.Any], # type: ignore
394
400
  object_=_response.json(),
395
401
  ),
@@ -399,7 +405,7 @@ class AsyncVoiceChangerClient:
399
405
  raise ForbiddenError(
400
406
  typing.cast(
401
407
  typing.Optional[typing.Any],
402
- parse_obj_as(
408
+ construct_type(
403
409
  type_=typing.Optional[typing.Any], # type: ignore
404
410
  object_=_response.json(),
405
411
  ),
@@ -409,7 +415,7 @@ class AsyncVoiceChangerClient:
409
415
  raise InternalServerError(
410
416
  typing.cast(
411
417
  typing.Optional[typing.Any],
412
- parse_obj_as(
418
+ construct_type(
413
419
  type_=typing.Optional[typing.Any], # type: ignore
414
420
  object_=_response.json(),
415
421
  ),
@@ -419,7 +425,7 @@ class AsyncVoiceChangerClient:
419
425
  raise ServiceUnavailableError(
420
426
  typing.cast(
421
427
  typing.Optional[typing.Any],
422
- parse_obj_as(
428
+ construct_type(
423
429
  type_=typing.Optional[typing.Any], # type: ignore
424
430
  object_=_response.json(),
425
431
  ),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: murf
3
- Version: 1.2.3
3
+ Version: 2.0.1
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -0,0 +1,101 @@
1
+ murf/__init__.py,sha256=orz2MLv2l_zqTaKrkzIrJsItPCu9-z56aUZnIkRkqrM,3756
2
+ murf/auth/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
3
+ murf/auth/client.py,sha256=aJIq8Mj3jVv-KLAFSG_nP_VqQALEKe41O7Xc3tw5uUc,6270
4
+ murf/base_client.py,sha256=xEryUjqHJ5OHkwBklQdbBr_fucX-nroxc4-a6zG4hfU,5646
5
+ murf/client.py,sha256=xFAsGgZ9c5xKa7gctrO0P8ud112oQ8QpBpSy76mNv2U,4686
6
+ murf/core/__init__.py,sha256=OKbX2aCZXgHCDUsCouqv-OiX32xA6eFFCKIUH9M5Vzk,1591
7
+ murf/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
8
+ murf/core/client_wrapper.py,sha256=Sy1KYNA-oofvoDL4VX4NcCtUAlEk2wLHjQ83O_3VUls,2035
9
+ murf/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
10
+ murf/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
11
+ murf/core/http_client.py,sha256=Z77OIxIbL4OAB2IDqjRq_sYa5yNYAWfmdhdCSSvh6Y4,19552
12
+ murf/core/jsonable_encoder.py,sha256=qaF1gtgH-kQZb4kJskETwcCsOPUof-NnYVdszHkb-dM,3656
13
+ murf/core/pydantic_utilities.py,sha256=UibVGGYmBDsV834x8CtckRDrTIL4lYJPMrcq9yvf7RM,11973
14
+ murf/core/query_encoder.py,sha256=ekulqNd0j8TgD7ox-Qbz7liqX8-KP9blvT9DsRCenYM,2144
15
+ murf/core/remove_none_from_dict.py,sha256=EU9SGgYidWq7SexuJbNs4-PZ-5Bl3Vppd864mS6vQZw,342
16
+ murf/core/request_options.py,sha256=h0QUNCFVdCW_7GclVySCAY2w4NhtXVBUCmHgmzaxpcg,1681
17
+ murf/core/serialization.py,sha256=D9h_t-RQON3-CHWs1C4ESY9B-Yd5d-l5lnTLb_X896g,9601
18
+ murf/core/unchecked_base_model.py,sha256=zliEPgLnK9yQ1dZ0mHP6agQ7H0bTZk8AvX6VC1r9oPQ,10754
19
+ murf/dubbing/__init__.py,sha256=nyJUo0t4Z_4LyOGqEQIUwsKcOGDvYn9kQueQ27lwaos,427
20
+ murf/dubbing/client.py,sha256=MjhDQHdZdAnuSmlz-6O2uSIFpd12cG62KDdMdarPXXo,1164
21
+ murf/dubbing/jobs/__init__.py,sha256=tCnld9WPopucbecyb-MqLCmND-I8TZUOgNhlbsHjgIo,233
22
+ murf/dubbing/jobs/client.py,sha256=3GivX_8zcndkHU_CaKs0Y8Vs9OLpHF8edQdpTxILC0s,25446
23
+ murf/dubbing/jobs/types/__init__.py,sha256=AmEepTMwyEn2mMDgFB3RD--Xfw5EN7ppC-dLbMA-iQk,313
24
+ murf/dubbing/jobs/types/jobs_create_request_priority.py,sha256=Z_6ojVLfhFtvBk8d6xLBx55NeDb7dHW2SrTICjMLk3E,174
25
+ murf/dubbing/jobs/types/jobs_create_with_project_id_request_priority.py,sha256=G_wLjL3kUZLhr1Z7wP3DRiwtEMHsOgSUf_ZSlgJlrJw,187
26
+ murf/dubbing/languages/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
27
+ murf/dubbing/languages/client.py,sha256=ST6nKG9cE5TWtIBqNOJxHhPRhFEYHhmCynyFKbOwEDY,13661
28
+ murf/dubbing/projects/__init__.py,sha256=fNaAsaAco0NlcwZdDcT8yD5Ihe9G6mOdGI5u_bQgtn4,169
29
+ murf/dubbing/projects/client.py,sha256=_5pLSE8mR_M5vEnGMmkZNuSzN3iFz68tUSUeJFs5O-g,23550
30
+ murf/dubbing/projects/types/__init__.py,sha256=JGWNZtycIzMF9Fkro47ZhMDtrHDK71jrbiulgVd8N4c,203
31
+ murf/dubbing/projects/types/api_create_project_request_dubbing_type.py,sha256=tcXNZRPd_7cYdkJYKekwmc2or9AAXGpf8kEXu31f094,177
32
+ murf/dubbing_client.py,sha256=6tHtRym3WKD-DVLJo24spLVpLq4IAo-MFTmLGg2aDWQ,4732
33
+ murf/environment.py,sha256=a-FdfZZpoG3eBN2S9PlMDxIstcpc1poywUw2_Opf5K8,386
34
+ murf/errors/__init__.py,sha256=Y88-JEjEvw-fav3aqMuQEKFf54uKkKUYELJ0yQNQ710,552
35
+ murf/errors/bad_request_error.py,sha256=_EbO8mWqN9kFZPvIap8qa1lL_EWkRcsZe1HKV9GDWJY,264
36
+ murf/errors/forbidden_error.py,sha256=QO1kKlhClAPES6zsEK7g9pglWnxn3KWaOCAawWOg6Aw,263
37
+ murf/errors/internal_server_error.py,sha256=8USCagXyJJ1MOm9snpcXIUt6eNXvrd_aq7Gfcu1vlOI,268
38
+ murf/errors/payment_required_error.py,sha256=7xjVK_OFqWNU7L0BloP5ns1kavWIbC2XMfbBVgK6rr4,269
39
+ murf/errors/service_unavailable_error.py,sha256=aiWJkLwL3ZF8DUhnHA7DncgPR-gAA9Omj86XByHSVlg,272
40
+ murf/errors/unauthorized_error.py,sha256=1ewNCqSG1P-uogB5yCNwreq4Bf3VRor0woSOXS4NjPU,266
41
+ murf/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ murf/stream_input/__init__.py,sha256=VvN8mm0LP4Ryp2xmyhJt_EnlMfs07eu-Oqs1ohUiP04,157
43
+ murf/stream_input/types/__init__.py,sha256=NzFX9bjNOKm_ZpICdGUkxaepmFfagtb_5pkdnuOGn_Y,192
44
+ murf/stream_input/types/receive_message.py,sha256=eczdgGeN-ak8vuuPcRdMT8gxL1Pt0N8oIL7EklOc-Iw,228
45
+ murf/stream_input/types/send_message.py,sha256=tg4qlGX-3yKID0gSGOodJDcpdQFtLJQAYFnGKC8FRHE,453
46
+ murf/text/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
47
+ murf/text/client.py,sha256=Ht3lES96uodzVeX1LGcrs1wzFMNppiDUKSB8rZz2xjw,9284
48
+ murf/text_to_speech/__init__.py,sha256=Xv0-uZoCGDrfYszMbB2sh5nsApPBrcmek6SDgljYfxA,167
49
+ murf/text_to_speech/client.py,sha256=TwjLwlbMnLTC5Ip8ENerzltrDcUon9ez3AM8K0DAjwo,37951
50
+ murf/text_to_speech/types/__init__.py,sha256=Hq1g0iZQ8sHQVU32Pt6lEetGXKEUUntytBmIq4bVK0A,199
51
+ murf/text_to_speech/types/generate_speech_request_model_version.py,sha256=y0NvjvNgtPrNcywVnq11MjANl-hJ7m-S5M_Ik5NP7c8,173
52
+ murf/types/__init__.py,sha256=y_FwqlvbyX9Bq6eRI3VJVY-PIWM2SKlKCz8_C2oalDI,4424
53
+ murf/types/api_job_response.py,sha256=mR227w0Yh4yFfNUeYz_wc4YFDNyqF_1j6maPwsNNtvM,1390
54
+ murf/types/api_job_response_dubbing_type.py,sha256=-tnqFfuSOXSZngLhHBLg0Dn_X4fP5XIGMsI1TewVxig,168
55
+ murf/types/api_job_response_priority.py,sha256=27xuE25oMRVKzRXc-CLv_mu7ADr_PRsvNDXa4aFbt-k,171
56
+ murf/types/api_project_response.py,sha256=TR22oIOv2UkpTJy2ywjWEOa2TQCHJlUPSaL8l5ZqT_Q,1149
57
+ murf/types/api_project_response_dubbing_type.py,sha256=ir-drn3sD8Qdbe6RWeJdPQyxx8hwSRV4U0Db22OGkw4,172
58
+ murf/types/api_voice.py,sha256=i0PFfX4gmIee3QQtQe6p5OJkYnoJ7GZiGb-tv4QsW40,1922
59
+ murf/types/api_voice_gender.py,sha256=d0HtLLsXDckaiNE3mb7wojzRi6YwqzFiEnqdNecfo-E,169
60
+ murf/types/audio_output.py,sha256=cICH1rrwyMEi-bJSN9zzFtiXwmHKdABu-eYIMhg5wkk,739
61
+ murf/types/auth_token_response.py,sha256=M_YRtWjWoRg3Dmj1RsykQHuhEFopUa8yz-MEAiaudWk,918
62
+ murf/types/character_count.py,sha256=9SML_j1y0mYub78CUCVrMD3m5aL2y4MLE_L20jS851Q,665
63
+ murf/types/clear_context.py,sha256=Sfa7sq_mk9jXaJpP-U5R6anA6h2w14EH2TKQdyP0G2A,579
64
+ murf/types/dub_api_detail_response.py,sha256=bsp9x30dl53Qvy7KJHp1MOwGcCitwyuNQy094DTfCDM,774
65
+ murf/types/dub_job_status_response.py,sha256=51QkNiQ6cziH-Uwf1x1h8ltMRreWIJ6-b1t4ZjVV1ko,1125
66
+ murf/types/final_output.py,sha256=MdzpeN6frSIdi8nZ37i4WQgfNab1OjGdXf3xX70Z2wI,796
67
+ murf/types/form_data_content_disposition.py,sha256=hVKzwOBdH6MA8gLAtypR0BmbAfj1a_K9sLNKo4cd7N0,1309
68
+ murf/types/generate_speech_response.py,sha256=oVMTE_VEygmQvz5Lj7s4OSuyePEbBpoRsOMg_O8GZwc,1635
69
+ murf/types/group_api_project_response.py,sha256=6jsknHQLFsxfRPFPjuSY7Og24n4FpRHBp66z8ksEfJ0,747
70
+ murf/types/locale_response.py,sha256=_-X19eFW9IW2jgPXjumkLhfge1BbE-VeQt56-JV9GKE,775
71
+ murf/types/locale_response_supports_item.py,sha256=yxGwpkzpeIfpG1KzygTHGjU1nK3U_plweHpxrbUWyT4,169
72
+ murf/types/metadata.py,sha256=uxL9756hDF6bAaaQsayGwD27_M21txnbTJOKqVot7NU,740
73
+ murf/types/murf_api_translation_response.py,sha256=FPo_9OqTOrKuMM1XmhLNcCpDczmQtyEs9PGVwsIVrLw,739
74
+ murf/types/pronunciation_detail.py,sha256=opX2Ei-AnDCbNmmbazn03qYwksnyQNsGW2_9-QFfT3M,939
75
+ murf/types/pronunciation_detail_type.py,sha256=ihRcpMJJBEZGo59TFZefg_tfl_LeU0wlOXfMjkUNmh0,164
76
+ murf/types/send_text.py,sha256=Qkqh9D8y8Nbem2N-N29-PMMO-dudBO_o0CFqkyDAnDQ,1000
77
+ murf/types/send_text_voice_config.py,sha256=qKwo-N1z3Xqi5RRHmYFDsSftYvuedPxvH9BqCspNFBU,2008
78
+ murf/types/send_text_voice_config_pronunciation_dictionary_value.py,sha256=N0k_SY1Or-JwRtkaCokm0xDigCX7aY2C12XrxHGEIMA,945
79
+ murf/types/send_text_voice_config_pronunciation_dictionary_value_type.py,sha256=2SOWIR9BmQePfIm8HxsAJIW-gGXan7GPKH8DoIeurVU,192
80
+ murf/types/set_advanced_settings.py,sha256=Vtxll-WceTkuFr9174HHIfmI4UBevUUWQEXW0RgusFU,655
81
+ murf/types/set_voice_configuration_or_initialize_context.py,sha256=Ea8VOS8HoP4mYBmEpG-LKY-EpRu9GMoHADzkKbh92H0,890
82
+ murf/types/set_voice_configuration_or_initialize_context_voice_config.py,sha256=G4CbLFaCCkqFyF0Es3fsa8_6ZskCHQJmrZGW-s5GfHE,2147
83
+ murf/types/set_voice_configuration_or_initialize_context_voice_config_pronunciation_dictionary_value.py,sha256=HG4Cs4P8D5fkcdx1W1XaGzVTOGiop1waZZCCXpmGq9o,1077
84
+ murf/types/set_voice_configuration_or_initialize_context_voice_config_pronunciation_dictionary_value_type.py,sha256=kJN4FBZcgXZQ5MHqikoaNEMa08Vf1LsRw3LeP3I5dC4,230
85
+ murf/types/source_locale_response.py,sha256=by1x3riQX7jeu7umwgmLHDcxVNl3yxOjVaDp0yeDDkw,585
86
+ murf/types/speech_to_speech_response.py,sha256=xRSgNhNbYdxKjGxBubrBvwPVc0ZSP12rov83hLrILZk,1449
87
+ murf/types/style_details.py,sha256=uPbR7KT3E9YJSc3Jc9B4eF4fg1M_HXDhdDCWUIrlEqY,801
88
+ murf/types/translation.py,sha256=7miGdshyflHjJGFMfD1v2OfD64__k-Rl-Bzw-8cnVg8,636
89
+ murf/types/tts_request_both_payload.py,sha256=_XMmolTkl95WJ1qzkWZ7l6JzixX1SBXkl4YiQi9W5bM,887
90
+ murf/types/tts_request_both_payload_voice_config.py,sha256=zUpd3BtZ7T6C8fCbAo1xXmikFbR_WWjwm8IztFtIkqE,1358
91
+ murf/types/tts_request_both_payload_voice_config_pronunciation_dictionary.py,sha256=FJLKUU7fP0BYuaPkOlUimHufNiZGVm_FxH3ekFJT-rs,834
92
+ murf/types/tts_request_both_payload_voice_config_pronunciation_dictionary_guess.py,sha256=EWQOiUUB_CCEWCMSYSkb5VoIRU1tZFzOFOhLjsKyalY,676
93
+ murf/types/word_duration_response.py,sha256=ZQPwu0Yb0yfBzg16Q_UNiWAVUpQ7lMOIWNBuuxrNy0s,1510
94
+ murf/utils.py,sha256=VzRmn8e3fbDVYW7IlfGrcPwgu44PA2kBYRcZ7ZVNYUk,1259
95
+ murf/version.py,sha256=pVGisqquGqFs8v4SJPE2o540FaaDKHWfOikWf4-9KKk,71
96
+ murf/voice_changer/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
97
+ murf/voice_changer/client.py,sha256=tcMbh2CdQ_2AR-X7WnlTEVEZyDgdO0p27hOFkINykIU,17858
98
+ murf-2.0.1.dist-info/LICENSE,sha256=SxRdfCVAmnkiSsVHJHhXmRX0yqidcRlBMjy-R2GZFdM,1066
99
+ murf-2.0.1.dist-info/METADATA,sha256=-TVbXIZvxZFs0c03c05DjjeoZeYpmmlos045oBJkbYA,6848
100
+ murf-2.0.1.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
101
+ murf-2.0.1.dist-info/RECORD,,
@@ -1,80 +0,0 @@
1
- murf/__init__.py,sha256=TkqLNGuu7H0kvP3wYhLf_vfOo7deH6P422JMZ66A9HA,2205
2
- murf/auth/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
3
- murf/auth/client.py,sha256=mXUOPNju_oGpemo5yb-psqdru7b409R-smTw9heBh54,6118
4
- murf/base_client.py,sha256=lkptrkFgokPx7QXBQt767h71N3uwtFIVYsXqOPgIjFc,6343
5
- murf/client.py,sha256=An05KYM98L2sKFY6d3nrvnbQxyea8RONbFfEpbR6ng8,5030
6
- murf/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
7
- murf/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
8
- murf/core/client_wrapper.py,sha256=DiuT7aZa5PwY7WN8UpY5aJ92x1k7sRYzF5WoIYhauZ4,1995
9
- murf/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
10
- murf/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
11
- murf/core/http_client.py,sha256=siUQ6UV0ARZALlxubqWSSAAPC9B4VW8y6MGlHStfaeo,19552
12
- murf/core/jsonable_encoder.py,sha256=qaF1gtgH-kQZb4kJskETwcCsOPUof-NnYVdszHkb-dM,3656
13
- murf/core/pydantic_utilities.py,sha256=Pj_AIcjRR-xc28URvV4t2XssDPjLvpN6HAcsY3MVLRM,11973
14
- murf/core/query_encoder.py,sha256=ekulqNd0j8TgD7ox-Qbz7liqX8-KP9blvT9DsRCenYM,2144
15
- murf/core/remove_none_from_dict.py,sha256=EU9SGgYidWq7SexuJbNs4-PZ-5Bl3Vppd864mS6vQZw,342
16
- murf/core/request_options.py,sha256=h0QUNCFVdCW_7GclVySCAY2w4NhtXVBUCmHgmzaxpcg,1681
17
- murf/core/serialization.py,sha256=D9h_t-RQON3-CHWs1C4ESY9B-Yd5d-l5lnTLb_X896g,9601
18
- murf/dubbing/__init__.py,sha256=nyJUo0t4Z_4LyOGqEQIUwsKcOGDvYn9kQueQ27lwaos,427
19
- murf/dubbing/client.py,sha256=MjhDQHdZdAnuSmlz-6O2uSIFpd12cG62KDdMdarPXXo,1164
20
- murf/dubbing/jobs/__init__.py,sha256=tCnld9WPopucbecyb-MqLCmND-I8TZUOgNhlbsHjgIo,233
21
- murf/dubbing/jobs/client.py,sha256=aX3lzPqwNILXF3E9ytbDg7GyhvkQeaoMfE9iWQ3sPCY,24986
22
- murf/dubbing/jobs/types/__init__.py,sha256=AmEepTMwyEn2mMDgFB3RD--Xfw5EN7ppC-dLbMA-iQk,313
23
- murf/dubbing/jobs/types/jobs_create_request_priority.py,sha256=Z_6ojVLfhFtvBk8d6xLBx55NeDb7dHW2SrTICjMLk3E,174
24
- murf/dubbing/jobs/types/jobs_create_with_project_id_request_priority.py,sha256=G_wLjL3kUZLhr1Z7wP3DRiwtEMHsOgSUf_ZSlgJlrJw,187
25
- murf/dubbing/languages/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
26
- murf/dubbing/languages/client.py,sha256=4rwg8mzD44fkzoh-6kxAxKad5rSdmhtr6msHzoInVL4,13353
27
- murf/dubbing/projects/__init__.py,sha256=fNaAsaAco0NlcwZdDcT8yD5Ihe9G6mOdGI5u_bQgtn4,169
28
- murf/dubbing/projects/client.py,sha256=f3qscfYlyZnVSxNqhactECe79KUflCr0qeb5vZ4TMcs,23090
29
- murf/dubbing/projects/types/__init__.py,sha256=JGWNZtycIzMF9Fkro47ZhMDtrHDK71jrbiulgVd8N4c,203
30
- murf/dubbing/projects/types/api_create_project_request_dubbing_type.py,sha256=tcXNZRPd_7cYdkJYKekwmc2or9AAXGpf8kEXu31f094,177
31
- murf/dubbing_client.py,sha256=Gh0zDXuDUeM_olURKN-5Xt38Jf3WYJSpOX2R3Zo4Qbk,5076
32
- murf/environment.py,sha256=UJ2CmhHv79L09Ug4ygReh0SKr4sS0OUcAXja9u_lQ4U,149
33
- murf/errors/__init__.py,sha256=Y88-JEjEvw-fav3aqMuQEKFf54uKkKUYELJ0yQNQ710,552
34
- murf/errors/bad_request_error.py,sha256=_EbO8mWqN9kFZPvIap8qa1lL_EWkRcsZe1HKV9GDWJY,264
35
- murf/errors/forbidden_error.py,sha256=QO1kKlhClAPES6zsEK7g9pglWnxn3KWaOCAawWOg6Aw,263
36
- murf/errors/internal_server_error.py,sha256=8USCagXyJJ1MOm9snpcXIUt6eNXvrd_aq7Gfcu1vlOI,268
37
- murf/errors/payment_required_error.py,sha256=7xjVK_OFqWNU7L0BloP5ns1kavWIbC2XMfbBVgK6rr4,269
38
- murf/errors/service_unavailable_error.py,sha256=aiWJkLwL3ZF8DUhnHA7DncgPR-gAA9Omj86XByHSVlg,272
39
- murf/errors/unauthorized_error.py,sha256=1ewNCqSG1P-uogB5yCNwreq4Bf3VRor0woSOXS4NjPU,266
40
- murf/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- murf/text/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
42
- murf/text/client.py,sha256=Aownk0rY8RvIREiksxl1jPYLhNXyMjyZ1vJaQcaXD9I,9124
43
- murf/text_to_speech/__init__.py,sha256=Xv0-uZoCGDrfYszMbB2sh5nsApPBrcmek6SDgljYfxA,167
44
- murf/text_to_speech/client.py,sha256=bgvTfBH8OQJ_s8SVdC6cIjSx-rEOaVy0UAa1G0FOLeQ,35421
45
- murf/text_to_speech/types/__init__.py,sha256=Hq1g0iZQ8sHQVU32Pt6lEetGXKEUUntytBmIq4bVK0A,199
46
- murf/text_to_speech/types/generate_speech_request_model_version.py,sha256=y0NvjvNgtPrNcywVnq11MjANl-hJ7m-S5M_Ik5NP7c8,173
47
- murf/types/__init__.py,sha256=Nvq_pfebZdLeBJ4Rupwdov89hlkMNfJyq5E0q1NLCdY,2127
48
- murf/types/api_job_response.py,sha256=-0sasAgDmTzyn_7KVpYcRC5pCzm-QowtQNmrG6qpz6s,1388
49
- murf/types/api_job_response_dubbing_type.py,sha256=-tnqFfuSOXSZngLhHBLg0Dn_X4fP5XIGMsI1TewVxig,168
50
- murf/types/api_job_response_priority.py,sha256=27xuE25oMRVKzRXc-CLv_mu7ADr_PRsvNDXa4aFbt-k,171
51
- murf/types/api_project_response.py,sha256=7PGbi1Bmk-okT6U8t0UI7VfVGoERNL0tWOLEkJsDJao,1147
52
- murf/types/api_project_response_dubbing_type.py,sha256=ir-drn3sD8Qdbe6RWeJdPQyxx8hwSRV4U0Db22OGkw4,172
53
- murf/types/api_voice.py,sha256=q56eq_iz_NnSCDWzxRvsJKFOU2Tje8vCrXHg1AmKf4U,1920
54
- murf/types/api_voice_gender.py,sha256=d0HtLLsXDckaiNE3mb7wojzRi6YwqzFiEnqdNecfo-E,169
55
- murf/types/auth_token_response.py,sha256=kc04BEfbgsTMuEnxGhs1hI3-4gtrOTOaKpR16Mg9Cc8,916
56
- murf/types/character_count.py,sha256=lDD1Bslx0bhewrJ7pYnTNx6ykmBnXoWxTuV-J6r19kQ,663
57
- murf/types/dub_api_detail_response.py,sha256=7Rgy1ygNuWGVPmnEUoQYh3B7owBrlpFKZ_PvvUZf-YA,772
58
- murf/types/dub_job_status_response.py,sha256=TNqCSOnO3kANySbyynNxQDYXpb_ewPp-meD1TFtV6NE,1123
59
- murf/types/form_data_content_disposition.py,sha256=kecApnkfJhGUcM9lP1Yc7khTrA5C-uMzaLeUH3TfQBI,1307
60
- murf/types/generate_speech_response.py,sha256=4ShyktWhUAik8nD4E97Vh-7LELJgqKc4wbnOfNBmMdE,1633
61
- murf/types/group_api_project_response.py,sha256=cgKB9I02vDH_t1rYOSM5z6p25CzDOZrZjASQpt-HWyA,745
62
- murf/types/locale_response.py,sha256=2ix9RuJ_-Qw95XWTeTP-15a6kFTROReEQS0vn3Da2uU,773
63
- murf/types/locale_response_supports_item.py,sha256=yxGwpkzpeIfpG1KzygTHGjU1nK3U_plweHpxrbUWyT4,169
64
- murf/types/metadata.py,sha256=jROjd-DtKykNMS5L4iGVyKdoa-5F-2HeoqYI138QkLw,738
65
- murf/types/murf_api_translation_response.py,sha256=N-iRMtFGZSMvEOxTzgYcktgyo74EO9IDCI32QuwnLiw,737
66
- murf/types/pronunciation_detail.py,sha256=wm8asAQsYkL6O7QIhFl9tDEvo23r50-BUWamzdybHcg,937
67
- murf/types/pronunciation_detail_type.py,sha256=ihRcpMJJBEZGo59TFZefg_tfl_LeU0wlOXfMjkUNmh0,164
68
- murf/types/source_locale_response.py,sha256=hCIpMkpAKfCy2jqMCCLLqNnC_E0h-gDRyATnmDHNR2g,583
69
- murf/types/speech_to_speech_response.py,sha256=NMKRfNHzUFQ4bpCUQ_L7BfFpnwQ8AEMrJ7WYbh4GPzg,1447
70
- murf/types/style_details.py,sha256=Gh2ev6dv5K0uZU1ZRViWfITpJ5r7LmQvwV3PcxF1RKE,799
71
- murf/types/translation.py,sha256=t1CFv_3PlsUgprZEb4EBLdy48StDgCfZ5qwc-rE8gVw,634
72
- murf/types/word_duration_response.py,sha256=bdW6yDcIWrMgAuQqp-MWseHpfLPexim-BWzHYOIArSs,1508
73
- murf/utils.py,sha256=VzRmn8e3fbDVYW7IlfGrcPwgu44PA2kBYRcZ7ZVNYUk,1259
74
- murf/version.py,sha256=pVGisqquGqFs8v4SJPE2o540FaaDKHWfOikWf4-9KKk,71
75
- murf/voice_changer/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
76
- murf/voice_changer/client.py,sha256=QYBG_FG7Tnlu8JpHEba_xEnhaWOU5mIAKCw1a7rPb3E,17688
77
- murf-1.2.3.dist-info/LICENSE,sha256=SxRdfCVAmnkiSsVHJHhXmRX0yqidcRlBMjy-R2GZFdM,1066
78
- murf-1.2.3.dist-info/METADATA,sha256=6ZB7ZC5s0fTSd8wgqJhyIGbkMsoFLibm80TBEExnwRE,6848
79
- murf-1.2.3.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
80
- murf-1.2.3.dist-info/RECORD,,
File without changes