cartesia 2.0.7__tar.gz → 2.0.8__tar.gz

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.
Files changed (208) hide show
  1. {cartesia-2.0.7 → cartesia-2.0.8}/PKG-INFO +2 -4
  2. {cartesia-2.0.7 → cartesia-2.0.8}/pyproject.toml +1 -1
  3. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/__init__.py +0 -8
  4. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/client_wrapper.py +1 -1
  5. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/__init__.py +0 -8
  6. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/_async_websocket.py +39 -24
  7. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/_websocket.py +0 -1
  8. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/client.py +0 -13
  9. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/__init__.py +0 -4
  10. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/tts_request.py +0 -2
  11. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/__init__.py +0 -4
  12. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/tts_request.py +0 -2
  13. cartesia-2.0.7/src/cartesia/tts/requests/experimental_model_controls.py +0 -17
  14. cartesia-2.0.7/src/cartesia/tts/requests/generation_config.py +0 -23
  15. cartesia-2.0.7/src/cartesia/tts/types/experimental_model_controls.py +0 -28
  16. cartesia-2.0.7/src/cartesia/tts/types/generation_config.py +0 -34
  17. {cartesia-2.0.7 → cartesia-2.0.8}/LICENSE +0 -0
  18. {cartesia-2.0.7 → cartesia-2.0.8}/README.md +0 -0
  19. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/__init__.py +0 -0
  20. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/client.py +0 -0
  21. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/requests/__init__.py +0 -0
  22. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/requests/api_info.py +0 -0
  23. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/types/__init__.py +0 -0
  24. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/types/api_info.py +0 -0
  25. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/__init__.py +0 -0
  26. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/client.py +0 -0
  27. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/requests/__init__.py +0 -0
  28. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/requests/token_grant.py +0 -0
  29. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/requests/token_request.py +0 -0
  30. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/requests/token_response.py +0 -0
  31. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/types/__init__.py +0 -0
  32. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/types/token_grant.py +0 -0
  33. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/types/token_request.py +0 -0
  34. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/types/token_response.py +0 -0
  35. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/base_client.py +0 -0
  36. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/client.py +0 -0
  37. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/__init__.py +0 -0
  38. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/api_error.py +0 -0
  39. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/datetime_utils.py +0 -0
  40. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/file.py +0 -0
  41. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/http_client.py +0 -0
  42. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/jsonable_encoder.py +0 -0
  43. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/pagination.py +0 -0
  44. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/pydantic_utilities.py +0 -0
  45. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/query_encoder.py +0 -0
  46. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/remove_none_from_dict.py +0 -0
  47. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/request_options.py +0 -0
  48. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/serialization.py +0 -0
  49. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/__init__.py +0 -0
  50. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/__init__.py +0 -0
  51. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/create_dataset_request.py +0 -0
  52. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/dataset.py +0 -0
  53. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/dataset_file.py +0 -0
  54. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/paginated_dataset_files.py +0 -0
  55. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/paginated_datasets.py +0 -0
  56. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/__init__.py +0 -0
  57. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/create_dataset_request.py +0 -0
  58. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/dataset.py +0 -0
  59. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/dataset_file.py +0 -0
  60. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/file_purpose.py +0 -0
  61. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/paginated_dataset_files.py +0 -0
  62. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/paginated_datasets.py +0 -0
  63. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/embedding/__init__.py +0 -0
  64. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/embedding/types/__init__.py +0 -0
  65. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/embedding/types/embedding.py +0 -0
  66. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/environment.py +0 -0
  67. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/infill/__init__.py +0 -0
  68. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/infill/client.py +0 -0
  69. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/py.typed +0 -0
  70. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/__init__.py +0 -0
  71. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/_async_websocket.py +0 -0
  72. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/_websocket.py +0 -0
  73. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/client.py +0 -0
  74. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/__init__.py +0 -0
  75. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/done_message.py +0 -0
  76. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/error_message.py +0 -0
  77. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/flush_done_message.py +0 -0
  78. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/streaming_transcription_response.py +0 -0
  79. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/transcript_message.py +0 -0
  80. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/transcription_response.py +0 -0
  81. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/transcription_word.py +0 -0
  82. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/socket_client.py +0 -0
  83. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/__init__.py +0 -0
  84. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/done_message.py +0 -0
  85. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/error_message.py +0 -0
  86. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/flush_done_message.py +0 -0
  87. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/streaming_transcription_response.py +0 -0
  88. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/stt_encoding.py +0 -0
  89. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/timestamp_granularity.py +0 -0
  90. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/transcript_message.py +0 -0
  91. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/transcription_response.py +0 -0
  92. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/transcription_word.py +0 -0
  93. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/cancel_context_request.py +0 -0
  94. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/controls.py +0 -0
  95. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/generation_request.py +0 -0
  96. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/mp_3_output_format.py +0 -0
  97. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/output_format.py +0 -0
  98. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/phoneme_timestamps.py +0 -0
  99. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/raw_output_format.py +0 -0
  100. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/speed.py +0 -0
  101. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/sse_output_format.py +0 -0
  102. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/tts_request_embedding_specifier.py +0 -0
  103. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/tts_request_id_specifier.py +0 -0
  104. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/tts_request_voice_specifier.py +0 -0
  105. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/ttssse_request.py +0 -0
  106. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/wav_output_format.py +0 -0
  107. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_base_response.py +0 -0
  108. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_chunk_response.py +0 -0
  109. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_done_response.py +0 -0
  110. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_error_response.py +0 -0
  111. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_flush_done_response.py +0 -0
  112. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_phoneme_timestamps_response.py +0 -0
  113. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_raw_output_format.py +0 -0
  114. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_request.py +0 -0
  115. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_response.py +0 -0
  116. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_stream_options.py +0 -0
  117. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_timestamps_response.py +0 -0
  118. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_tts_output.py +0 -0
  119. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_tts_request.py +0 -0
  120. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/word_timestamps.py +0 -0
  121. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/socket_client.py +0 -0
  122. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/cancel_context_request.py +0 -0
  123. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/context_id.py +0 -0
  124. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/controls.py +0 -0
  125. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/emotion.py +0 -0
  126. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/flush_id.py +0 -0
  127. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/generation_request.py +0 -0
  128. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/model_speed.py +0 -0
  129. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/mp_3_output_format.py +0 -0
  130. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/natural_specifier.py +0 -0
  131. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/numerical_specifier.py +0 -0
  132. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/output_format.py +0 -0
  133. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/phoneme_timestamps.py +0 -0
  134. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/raw_encoding.py +0 -0
  135. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/raw_output_format.py +0 -0
  136. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/speed.py +0 -0
  137. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/sse_output_format.py +0 -0
  138. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/supported_language.py +0 -0
  139. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/tts_request_embedding_specifier.py +0 -0
  140. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/tts_request_id_specifier.py +0 -0
  141. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/tts_request_voice_specifier.py +0 -0
  142. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/ttssse_request.py +0 -0
  143. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/wav_output_format.py +0 -0
  144. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_base_response.py +0 -0
  145. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_chunk_response.py +0 -0
  146. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_done_response.py +0 -0
  147. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_error_response.py +0 -0
  148. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_flush_done_response.py +0 -0
  149. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_phoneme_timestamps_response.py +0 -0
  150. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_raw_output_format.py +0 -0
  151. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_request.py +0 -0
  152. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_response.py +0 -0
  153. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_stream_options.py +0 -0
  154. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_timestamps_response.py +0 -0
  155. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_tts_output.py +0 -0
  156. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_tts_request.py +0 -0
  157. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/word_timestamps.py +0 -0
  158. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/utils/constants.py +0 -0
  159. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/utils/tts.py +0 -0
  160. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/utils/types.py +0 -0
  161. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/version.py +0 -0
  162. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/__init__.py +0 -0
  163. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/client.py +0 -0
  164. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/requests/__init__.py +0 -0
  165. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/requests/streaming_response.py +0 -0
  166. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/types/__init__.py +0 -0
  167. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/types/output_format_container.py +0 -0
  168. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/types/streaming_response.py +0 -0
  169. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/__init__.py +0 -0
  170. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/client.py +0 -0
  171. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/__init__.py +0 -0
  172. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/create_voice_request.py +0 -0
  173. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/embedding_response.py +0 -0
  174. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/embedding_specifier.py +0 -0
  175. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/get_voices_response.py +0 -0
  176. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/id_specifier.py +0 -0
  177. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/localize_dialect.py +0 -0
  178. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/localize_voice_request.py +0 -0
  179. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/mix_voice_specifier.py +0 -0
  180. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/mix_voices_request.py +0 -0
  181. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/update_voice_request.py +0 -0
  182. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/voice.py +0 -0
  183. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/voice_metadata.py +0 -0
  184. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/__init__.py +0 -0
  185. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/base_voice_id.py +0 -0
  186. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/clone_mode.py +0 -0
  187. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/create_voice_request.py +0 -0
  188. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/embedding_response.py +0 -0
  189. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/embedding_specifier.py +0 -0
  190. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/gender.py +0 -0
  191. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/gender_presentation.py +0 -0
  192. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/get_voices_response.py +0 -0
  193. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/id_specifier.py +0 -0
  194. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_dialect.py +0 -0
  195. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_english_dialect.py +0 -0
  196. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_french_dialect.py +0 -0
  197. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_portuguese_dialect.py +0 -0
  198. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_spanish_dialect.py +0 -0
  199. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_target_language.py +0 -0
  200. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_voice_request.py +0 -0
  201. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/mix_voice_specifier.py +0 -0
  202. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/mix_voices_request.py +0 -0
  203. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/update_voice_request.py +0 -0
  204. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/voice.py +0 -0
  205. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/voice_expand_options.py +0 -0
  206. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/voice_id.py +0 -0
  207. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/voice_metadata.py +0 -0
  208. {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/weight.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.1
2
2
  Name: cartesia
3
- Version: 2.0.7
3
+ Version: 2.0.8
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -16,7 +16,6 @@ Classifier: Programming Language :: Python :: 3.9
16
16
  Classifier: Programming Language :: Python :: 3.10
17
17
  Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
- Classifier: Programming Language :: Python :: 3.13
20
19
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
20
  Classifier: Typing :: Typed
22
21
  Requires-Dist: aiohttp (>=3.10.10)
@@ -29,7 +28,6 @@ Requires-Dist: pydantic-core (>=2.18.2,<3.0.0)
29
28
  Requires-Dist: pydub (>=0.25.1)
30
29
  Requires-Dist: typing_extensions (>=4.0.0)
31
30
  Requires-Dist: websockets (>=10.4)
32
- Project-URL: Repository, https://github.com/cartesia-ai/cartesia-python
33
31
  Description-Content-Type: text/markdown
34
32
 
35
33
  # Cartesia Python Library
@@ -3,7 +3,7 @@ name = "cartesia"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "cartesia"
6
- version = "2.0.7"
6
+ version = "2.0.8"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -52,11 +52,7 @@ from .tts import (
52
52
  Controls,
53
53
  ControlsParams,
54
54
  Emotion,
55
- ExperimentalModelControls,
56
- ExperimentalModelControlsParams,
57
55
  FlushId,
58
- GenerationConfig,
59
- GenerationConfigParams,
60
56
  GenerationRequest,
61
57
  GenerationRequestParams,
62
58
  ModelSpeed,
@@ -217,16 +213,12 @@ __all__ = [
217
213
  "Emotion",
218
214
  "ErrorMessage",
219
215
  "ErrorMessageParams",
220
- "ExperimentalModelControls",
221
- "ExperimentalModelControlsParams",
222
216
  "FilePurpose",
223
217
  "FlushDoneMessage",
224
218
  "FlushDoneMessageParams",
225
219
  "FlushId",
226
220
  "Gender",
227
221
  "GenderPresentation",
228
- "GenerationConfig",
229
- "GenerationConfigParams",
230
222
  "GenerationRequest",
231
223
  "GenerationRequestParams",
232
224
  "GetVoicesResponse",
@@ -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.7",
19
+ "X-Fern-SDK-Version": "2.0.8",
20
20
  }
21
21
  headers["X-API-Key"] = self.api_key
22
22
  headers["Cartesia-Version"] = "2024-11-13"
@@ -5,9 +5,7 @@ from .types import (
5
5
  ContextId,
6
6
  Controls,
7
7
  Emotion,
8
- ExperimentalModelControls,
9
8
  FlushId,
10
- GenerationConfig,
11
9
  GenerationRequest,
12
10
  ModelSpeed,
13
11
  Mp3OutputFormat,
@@ -53,8 +51,6 @@ from .types import (
53
51
  from .requests import (
54
52
  CancelContextRequestParams,
55
53
  ControlsParams,
56
- ExperimentalModelControlsParams,
57
- GenerationConfigParams,
58
54
  GenerationRequestParams,
59
55
  Mp3OutputFormatParams,
60
56
  OutputFormatParams,
@@ -100,11 +96,7 @@ __all__ = [
100
96
  "Controls",
101
97
  "ControlsParams",
102
98
  "Emotion",
103
- "ExperimentalModelControls",
104
- "ExperimentalModelControlsParams",
105
99
  "FlushId",
106
- "GenerationConfig",
107
- "GenerationConfigParams",
108
100
  "GenerationRequest",
109
101
  "GenerationRequestParams",
110
102
  "ModelSpeed",
@@ -50,7 +50,6 @@ class _AsyncTTSContext:
50
50
  self._context_id = context_id
51
51
  self._websocket = websocket
52
52
  self.timeout = timeout
53
- self._error = None
54
53
 
55
54
  @property
56
55
  def context_id(self) -> str:
@@ -338,27 +337,28 @@ class AsyncTtsWebsocket(TtsWebsocket):
338
337
 
339
338
  async def close(self):
340
339
  """This method closes the websocket connection. *Highly* recommended to call this method when done."""
341
- if self.websocket is not None and not self._is_websocket_closed():
342
- await self.websocket.close()
343
- if self._processing_task:
344
- self._processing_task.cancel()
345
- try:
346
- self._processing_task = None
347
- except asyncio.CancelledError:
348
- pass
349
- except TypeError as e:
350
- # Ignore the error if the task is already canceled.
351
- # For some reason we are getting None responses
352
- # TODO: This needs to be fixed - we need to think about why we are getting None responses.
353
- if "Received message 256:None" not in str(e):
354
- raise e
355
-
356
- for context_id in list(self._context_queues.keys()):
357
- self._remove_context(context_id)
358
-
359
- self._context_queues.clear()
360
- self._processing_task = None
361
- self.websocket = None
340
+ self._closing = True
341
+ try:
342
+ if self._processing_task:
343
+ self._processing_task.cancel()
344
+ try:
345
+ await self._processing_task
346
+ except asyncio.CancelledError:
347
+ pass
348
+ finally:
349
+ self._processing_task = None
350
+
351
+ if self.websocket is not None and not self._is_websocket_closed():
352
+ await self.websocket.close()
353
+
354
+ for context_id in list(self._context_queues.keys()):
355
+ self._remove_context(context_id)
356
+
357
+ self._context_queues.clear()
358
+ self._processing_task = None
359
+ self.websocket = None
360
+ finally:
361
+ self._closing = False
362
362
 
363
363
  async def send(
364
364
  self,
@@ -444,6 +444,16 @@ class AsyncTtsWebsocket(TtsWebsocket):
444
444
  ),
445
445
  )
446
446
 
447
+ def _is_close_error(self, e: TypeError) -> bool:
448
+ # TODO: This method checks the error string, but should check the code directly if/when aiohttp
449
+ # adds the code as a field to the error
450
+ exception_str = str(e)
451
+ return (
452
+ f"{aiohttp.WSMsgType.CLOSING}:None" in exception_str
453
+ or f"{aiohttp.WSMsgType.CLOSED}:None" in exception_str
454
+ or f"{aiohttp.WSMsgType.CLOSE}:1000" in exception_str
455
+ )
456
+
447
457
  async def _process_responses(self):
448
458
  try:
449
459
  while True:
@@ -453,8 +463,13 @@ class AsyncTtsWebsocket(TtsWebsocket):
453
463
  flush_id = response.get("flush_id", -1)
454
464
  if context_id in self._context_queues:
455
465
  await self._context_queues[context_id][flush_id].put(response)
456
- except Exception as e:
457
- self._error = e
466
+ except TypeError as e:
467
+ # If the WebSocket is closing and the error is a close error, ignore it.
468
+ if self._closing and self._is_close_error(e):
469
+ return
470
+ # Otherwise, if this is a close error, raise a more clear error.
471
+ if self._is_close_error(e):
472
+ raise RuntimeError(f"WebSocket closed unexpectedly: {e}")
458
473
  raise e
459
474
 
460
475
  async def _get_message(
@@ -46,7 +46,6 @@ class _TTSContext:
46
46
  def __init__(self, context_id: str, websocket: "TtsWebsocket"):
47
47
  self._context_id = context_id
48
48
  self._websocket = websocket
49
- self._error = None
50
49
 
51
50
  def __del__(self):
52
51
  self._close()
@@ -6,7 +6,6 @@ from .requests.tts_request_voice_specifier import TtsRequestVoiceSpecifierParams
6
6
  from .requests.output_format import OutputFormatParams
7
7
  from .types.supported_language import SupportedLanguage
8
8
  from .types.model_speed import ModelSpeed
9
- from .requests.generation_config import GenerationConfigParams
10
9
  from ..core.request_options import RequestOptions
11
10
  from ..core.serialization import convert_and_respect_annotation_metadata
12
11
  from json.decoder import JSONDecodeError
@@ -37,7 +36,6 @@ class TtsClient:
37
36
  language: typing.Optional[SupportedLanguage] = OMIT,
38
37
  duration: typing.Optional[float] = OMIT,
39
38
  speed: typing.Optional[ModelSpeed] = OMIT,
40
- generation_config: typing.Optional[GenerationConfigParams] = OMIT,
41
39
  request_options: typing.Optional[RequestOptions] = None,
42
40
  ) -> typing.Iterator[bytes]:
43
41
  """
@@ -60,8 +58,6 @@ class TtsClient:
60
58
 
61
59
  speed : typing.Optional[ModelSpeed]
62
60
 
63
- generation_config : typing.Optional[GenerationConfigParams]
64
-
65
61
  request_options : typing.Optional[RequestOptions]
66
62
  Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
67
63
 
@@ -103,9 +99,6 @@ class TtsClient:
103
99
  ),
104
100
  "duration": duration,
105
101
  "speed": speed,
106
- "generation_config": convert_and_respect_annotation_metadata(
107
- object_=generation_config, annotation=GenerationConfigParams, direction="write"
108
- ),
109
102
  },
110
103
  request_options=request_options,
111
104
  omit=OMIT,
@@ -257,7 +250,6 @@ class AsyncTtsClient:
257
250
  language: typing.Optional[SupportedLanguage] = OMIT,
258
251
  duration: typing.Optional[float] = OMIT,
259
252
  speed: typing.Optional[ModelSpeed] = OMIT,
260
- generation_config: typing.Optional[GenerationConfigParams] = OMIT,
261
253
  request_options: typing.Optional[RequestOptions] = None,
262
254
  ) -> typing.AsyncIterator[bytes]:
263
255
  """
@@ -280,8 +272,6 @@ class AsyncTtsClient:
280
272
 
281
273
  speed : typing.Optional[ModelSpeed]
282
274
 
283
- generation_config : typing.Optional[GenerationConfigParams]
284
-
285
275
  request_options : typing.Optional[RequestOptions]
286
276
  Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
287
277
 
@@ -331,9 +321,6 @@ class AsyncTtsClient:
331
321
  ),
332
322
  "duration": duration,
333
323
  "speed": speed,
334
- "generation_config": convert_and_respect_annotation_metadata(
335
- object_=generation_config, annotation=GenerationConfigParams, direction="write"
336
- ),
337
324
  },
338
325
  request_options=request_options,
339
326
  omit=OMIT,
@@ -2,8 +2,6 @@
2
2
 
3
3
  from .cancel_context_request import CancelContextRequestParams
4
4
  from .controls import ControlsParams
5
- from .experimental_model_controls import ExperimentalModelControlsParams
6
- from .generation_config import GenerationConfigParams
7
5
  from .generation_request import GenerationRequestParams
8
6
  from .mp_3_output_format import Mp3OutputFormatParams
9
7
  from .output_format import OutputFormatParams, OutputFormat_Mp3Params, OutputFormat_RawParams, OutputFormat_WavParams
@@ -43,8 +41,6 @@ from .word_timestamps import WordTimestampsParams
43
41
  __all__ = [
44
42
  "CancelContextRequestParams",
45
43
  "ControlsParams",
46
- "ExperimentalModelControlsParams",
47
- "GenerationConfigParams",
48
44
  "GenerationRequestParams",
49
45
  "Mp3OutputFormatParams",
50
46
  "OutputFormatParams",
@@ -6,7 +6,6 @@ import typing_extensions
6
6
  from ..types.supported_language import SupportedLanguage
7
7
  from .output_format import OutputFormatParams
8
8
  from ..types.model_speed import ModelSpeed
9
- from .generation_config import GenerationConfigParams
10
9
 
11
10
 
12
11
  class TtsRequestParams(typing_extensions.TypedDict):
@@ -26,4 +25,3 @@ class TtsRequestParams(typing_extensions.TypedDict):
26
25
  """
27
26
 
28
27
  speed: typing_extensions.NotRequired[ModelSpeed]
29
- generation_config: typing_extensions.NotRequired[GenerationConfigParams]
@@ -4,9 +4,7 @@ from .cancel_context_request import CancelContextRequest
4
4
  from .context_id import ContextId
5
5
  from .controls import Controls
6
6
  from .emotion import Emotion
7
- from .experimental_model_controls import ExperimentalModelControls
8
7
  from .flush_id import FlushId
9
- from .generation_config import GenerationConfig
10
8
  from .generation_request import GenerationRequest
11
9
  from .model_speed import ModelSpeed
12
10
  from .mp_3_output_format import Mp3OutputFormat
@@ -53,9 +51,7 @@ __all__ = [
53
51
  "ContextId",
54
52
  "Controls",
55
53
  "Emotion",
56
- "ExperimentalModelControls",
57
54
  "FlushId",
58
- "GenerationConfig",
59
55
  "GenerationRequest",
60
56
  "ModelSpeed",
61
57
  "Mp3OutputFormat",
@@ -7,7 +7,6 @@ import typing
7
7
  from .supported_language import SupportedLanguage
8
8
  from .output_format import OutputFormat
9
9
  from .model_speed import ModelSpeed
10
- from .generation_config import GenerationConfig
11
10
  from ...core.pydantic_utilities import IS_PYDANTIC_V2
12
11
 
13
12
 
@@ -28,7 +27,6 @@ class TtsRequest(UniversalBaseModel):
28
27
  """
29
28
 
30
29
  speed: typing.Optional[ModelSpeed] = None
31
- generation_config: typing.Optional[GenerationConfig] = None
32
30
 
33
31
  if IS_PYDANTIC_V2:
34
32
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -1,17 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing_extensions
4
- import typing_extensions
5
-
6
-
7
- class ExperimentalModelControlsParams(typing_extensions.TypedDict):
8
- """
9
- These controls are **experimental** and subject to breaking changes.
10
- """
11
-
12
- accent_localization: typing_extensions.NotRequired[int]
13
- """
14
- Toggle accent localization: 0 (disabled, default) or 1 (enabled).
15
- When enabled, the voice adapts to match the transcript language's accent while preserving vocal characteristics. When disabled, maintains the original voice accent.
16
- For more information, see [Localize Voices](/build-with-sonic/capabilities/localize-voices).
17
- """
@@ -1,23 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing_extensions
4
- import typing_extensions
5
- from .experimental_model_controls import ExperimentalModelControlsParams
6
-
7
-
8
- class GenerationConfigParams(typing_extensions.TypedDict):
9
- """
10
- Configure the various attributes of the generated speech. These controls are only available for `sonic-3-preview` and will have no effect on earlier models.
11
- """
12
-
13
- volume: typing_extensions.NotRequired[float]
14
- """
15
- Adjust the volume of the generated speech between -1.0 (softer) and 1.0 (louder). 0.0 is the default volume.
16
- """
17
-
18
- speed: typing_extensions.NotRequired[float]
19
- """
20
- Adjust the speed of the generated speech between -1.0 (slower) and 1.0 (faster). 0.0 is the default speed.
21
- """
22
-
23
- experimental: typing_extensions.NotRequired[ExperimentalModelControlsParams]
@@ -1,28 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from ...core.pydantic_utilities import UniversalBaseModel
4
- import typing
5
- import pydantic
6
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
-
8
-
9
- class ExperimentalModelControls(UniversalBaseModel):
10
- """
11
- These controls are **experimental** and subject to breaking changes.
12
- """
13
-
14
- accent_localization: typing.Optional[int] = pydantic.Field(default=None)
15
- """
16
- Toggle accent localization: 0 (disabled, default) or 1 (enabled).
17
- When enabled, the voice adapts to match the transcript language's accent while preserving vocal characteristics. When disabled, maintains the original voice accent.
18
- For more information, see [Localize Voices](/build-with-sonic/capabilities/localize-voices).
19
- """
20
-
21
- if IS_PYDANTIC_V2:
22
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
23
- else:
24
-
25
- class Config:
26
- frozen = True
27
- smart_union = True
28
- extra = pydantic.Extra.allow
@@ -1,34 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- from ...core.pydantic_utilities import UniversalBaseModel
4
- import typing
5
- import pydantic
6
- from .experimental_model_controls import ExperimentalModelControls
7
- from ...core.pydantic_utilities import IS_PYDANTIC_V2
8
-
9
-
10
- class GenerationConfig(UniversalBaseModel):
11
- """
12
- Configure the various attributes of the generated speech. These controls are only available for `sonic-3-preview` and will have no effect on earlier models.
13
- """
14
-
15
- volume: typing.Optional[float] = pydantic.Field(default=None)
16
- """
17
- Adjust the volume of the generated speech between -1.0 (softer) and 1.0 (louder). 0.0 is the default volume.
18
- """
19
-
20
- speed: typing.Optional[float] = pydantic.Field(default=None)
21
- """
22
- Adjust the speed of the generated speech between -1.0 (slower) and 1.0 (faster). 0.0 is the default speed.
23
- """
24
-
25
- experimental: typing.Optional[ExperimentalModelControls] = None
26
-
27
- if IS_PYDANTIC_V2:
28
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
29
- else:
30
-
31
- class Config:
32
- frozen = True
33
- smart_union = True
34
- extra = pydantic.Extra.allow
File without changes
File without changes
File without changes