cartesia 2.0.13__py3-none-any.whl → 2.0.14__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 cartesia might be problematic. Click here for more details.

@@ -16,7 +16,7 @@ class BaseClientWrapper:
16
16
  headers: typing.Dict[str, str] = {
17
17
  "X-Fern-Language": "Python",
18
18
  "X-Fern-SDK-Name": "cartesia",
19
- "X-Fern-SDK-Version": "2.0.13",
19
+ "X-Fern-SDK-Version": "2.0.14",
20
20
  }
21
21
  headers["X-API-Key"] = self.api_key
22
22
  headers["Cartesia-Version"] = "2024-11-13"
@@ -8,7 +8,7 @@ from typing import Any, AsyncGenerator, Callable, Dict, List, Optional, Union
8
8
 
9
9
  import aiohttp
10
10
 
11
- from cartesia.tts.requests import TtsRequestVoiceSpecifierParams
11
+ from cartesia.tts.requests import GenerationConfigParams, TtsRequestVoiceSpecifierParams
12
12
  from cartesia.tts.requests.output_format import OutputFormatParams
13
13
  from cartesia.tts.types import (
14
14
  WebSocketResponse,
@@ -61,6 +61,7 @@ class _AsyncTTSContext:
61
61
  model_id: str,
62
62
  transcript: str,
63
63
  output_format: OutputFormatParams,
64
+ generation_config: Optional[GenerationConfigParams] = None,
64
65
  voice: TtsRequestVoiceSpecifierParams,
65
66
  context_id: Optional[str] = None,
66
67
  duration: Optional[int] = None,
@@ -116,6 +117,12 @@ class _AsyncTTSContext:
116
117
  if flush:
117
118
  request_body["flush"] = flush
118
119
 
120
+ if generation_config is not None:
121
+ if isinstance(generation_config, dict):
122
+ request_body["generation_config"] = generation_config
123
+ else:
124
+ request_body["generation_config"] = generation_config.dict()
125
+
119
126
  if (
120
127
  "context_id" in request_body
121
128
  and request_body["context_id"] is not None
@@ -315,10 +322,10 @@ class AsyncTtsWebsocket(TtsWebsocket):
315
322
  # Extract status code if available
316
323
  status_code = None
317
324
  error_message = str(e)
318
-
325
+
319
326
  if hasattr(e, 'status') and e.status is not None:
320
327
  status_code = e.status
321
-
328
+
322
329
  # Create a meaningful error message based on status code
323
330
  if status_code == 402:
324
331
  error_message = "Payment required. Your API key may have insufficient credits or permissions."
@@ -328,7 +335,7 @@ class AsyncTtsWebsocket(TtsWebsocket):
328
335
  error_message = "Forbidden. You don't have permission to access this resource."
329
336
  elif status_code == 404:
330
337
  error_message = "Not found. The requested resource doesn't exist."
331
-
338
+
332
339
  raise RuntimeError(f"Failed to connect to WebSocket.\nStatus: {status_code}. Error message: {error_message}")
333
340
  else:
334
341
  raise RuntimeError(f"Failed to connect to WebSocket at {url}. {e}")
@@ -14,7 +14,7 @@ except ImportError:
14
14
 
15
15
  from iterators import TimeoutIterator # type: ignore
16
16
 
17
- from cartesia.tts.requests import TtsRequestVoiceSpecifierParams
17
+ from cartesia.tts.requests import GenerationConfigParams, TtsRequestVoiceSpecifierParams
18
18
  from cartesia.tts.requests.output_format import OutputFormatParams
19
19
  from cartesia.tts.types import (
20
20
  WebSocketResponse,
@@ -60,6 +60,7 @@ class _TTSContext:
60
60
  model_id: str,
61
61
  transcript: typing.Generator[str, None, None],
62
62
  output_format: OutputFormatParams,
63
+ generation_config: Optional[GenerationConfigParams] = None,
63
64
  voice: TtsRequestVoiceSpecifierParams,
64
65
  context_id: Optional[str] = None,
65
66
  max_buffer_delay_ms: Optional[int] = None,
@@ -111,6 +112,11 @@ class _TTSContext:
111
112
  if max_buffer_delay_ms:
112
113
  request_body["max_buffer_delay_ms"] = max_buffer_delay_ms
113
114
 
115
+ if generation_config is not None:
116
+ if isinstance(generation_config, dict):
117
+ request_body["generation_config"] = generation_config
118
+ else:
119
+ request_body["generation_config"] = generation_config.dict()
114
120
  if (
115
121
  "context_id" in request_body
116
122
  and request_body["context_id"] is not None
@@ -293,10 +299,10 @@ class TtsWebsocket:
293
299
  # Extract status code if available
294
300
  status_code = None
295
301
  error_message = str(e)
296
-
302
+
297
303
  if hasattr(e, 'status') and e.status is not None:
298
304
  status_code = e.status
299
-
305
+
300
306
  # Create a meaningful error message based on status code
301
307
  if status_code == 402:
302
308
  error_message = "Payment required. Your API key may have insufficient credits or permissions."
@@ -306,7 +312,7 @@ class TtsWebsocket:
306
312
  error_message = "Forbidden. You don't have permission to access this resource."
307
313
  elif status_code == 404:
308
314
  error_message = "Not found. The requested resource doesn't exist."
309
-
315
+
310
316
  raise RuntimeError(f"Failed to connect to WebSocket.\nStatus: {status_code}. Error message: {error_message}")
311
317
  else:
312
318
  raise RuntimeError(f"Failed to connect to WebSocket. {e}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cartesia
3
- Version: 2.0.13
3
+ Version: 2.0.14
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -19,7 +19,7 @@ cartesia/base_client.py,sha256=igAZOMDXz2Nv58oXHa7I9UfgxVN48drqhEmfsCCQlg8,6701
19
19
  cartesia/client.py,sha256=LoJjlJW2kJA-hyDt-Wu7QuKQsiTiLQfLYZjsjtewPJM,6537
20
20
  cartesia/core/__init__.py,sha256=-t9txgeQZL_1FDw_08GEoj4ft1Cn9Dti6X0Drsadlr0,1519
21
21
  cartesia/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
22
- cartesia/core/client_wrapper.py,sha256=AaBv3QuyR9s29eT23DbkL6YWcr6LjLQJTT0POZnzuTU,1855
22
+ cartesia/core/client_wrapper.py,sha256=0KSb2fMEKPh62KA7qLmVkQjJ20sJzkJEeU8QQqwh2Sk,1855
23
23
  cartesia/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
24
24
  cartesia/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
25
25
  cartesia/core/http_client.py,sha256=KL5RGa0y4n8nX0-07WRg4ZQUTq30sc-XJbWcP5vjBDg,19552
@@ -75,8 +75,8 @@ cartesia/stt/types/transcript_message.py,sha256=J-MchlahI96nVBiMSLJrEOXFw2pBShbM
75
75
  cartesia/stt/types/transcription_response.py,sha256=QMcD6eLmp_Z2uaRLVyxYYIdoiRiVSGhBoxN3kjRTK2I,1190
76
76
  cartesia/stt/types/transcription_word.py,sha256=yxTndKXNmToPOM6_F_QfF-B0dE6Kx8-UwBpHLj2_zWk,803
77
77
  cartesia/tts/__init__.py,sha256=KmlvJPusv7yRI3OmkEn3GlxqITbfewLVO5S0SJkqV5M,5079
78
- cartesia/tts/_async_websocket.py,sha256=YG0NJpfQU4j48Gy2riWu1ItelPFX-IUvSFD6eMBvfGM,19454
79
- cartesia/tts/_websocket.py,sha256=K93vHOdxhF4-Duk8xunNnIpvkAT_ztfAtaomD5im8c0,19247
78
+ cartesia/tts/_async_websocket.py,sha256=zcLNLWT7ndf1izMxKLkcyMBNM_nCcW5Nt14e0Z3DOEM,19754
79
+ cartesia/tts/_websocket.py,sha256=A9jTgP_PJhr9JMFk91ZlBQSrh9JSnoDzzwlhnuAuOTE,19546
80
80
  cartesia/tts/client.py,sha256=mJXJG9JliWHw7UYCCd9evIW3gaSr3JYORW606E8lHzU,19607
81
81
  cartesia/tts/requests/__init__.py,sha256=zS0ny3c6HXr2l6D9TiBmMuyp-tbVuszhBiOQ5RdcQyw,3502
82
82
  cartesia/tts/requests/cancel_context_request.py,sha256=Wl8g-o5vwl9ENm-H1wsLx441FkIR_4Wt5UYtuWce2Yw,431
@@ -201,7 +201,7 @@ cartesia/voices/types/voice_expand_options.py,sha256=e4FroWdlxEE-LXQfT1RWlGHtswl
201
201
  cartesia/voices/types/voice_id.py,sha256=GDoXcRVeIm-V21R4suxG2zqLD3DLYkXE9kgizadzFKo,79
202
202
  cartesia/voices/types/voice_metadata.py,sha256=4KNGjXMUKm3niv-NvKIFVGtiilpH13heuzKcZYNQxk4,1181
203
203
  cartesia/voices/types/weight.py,sha256=XqDU7_JItNUb5QykIDqTbELlRYQdbt2SviRgW0w2LKo,80
204
- cartesia-2.0.13.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
205
- cartesia-2.0.13.dist-info/METADATA,sha256=NB9AzRg9IZKIC_ePwsUwBlaKG3X6kFQkObYJ8McqjMQ,20671
206
- cartesia-2.0.13.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
207
- cartesia-2.0.13.dist-info/RECORD,,
204
+ cartesia-2.0.14.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
205
+ cartesia-2.0.14.dist-info/METADATA,sha256=PVHHNLFx-PEOKbszJkawRJ6xxooIpJpxGNRM8wtBa8k,20671
206
+ cartesia-2.0.14.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
207
+ cartesia-2.0.14.dist-info/RECORD,,