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.
- {cartesia-2.0.7 → cartesia-2.0.8}/PKG-INFO +2 -4
- {cartesia-2.0.7 → cartesia-2.0.8}/pyproject.toml +1 -1
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/__init__.py +0 -8
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/client_wrapper.py +1 -1
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/__init__.py +0 -8
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/_async_websocket.py +39 -24
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/_websocket.py +0 -1
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/client.py +0 -13
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/__init__.py +0 -4
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/tts_request.py +0 -2
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/__init__.py +0 -4
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/tts_request.py +0 -2
- cartesia-2.0.7/src/cartesia/tts/requests/experimental_model_controls.py +0 -17
- cartesia-2.0.7/src/cartesia/tts/requests/generation_config.py +0 -23
- cartesia-2.0.7/src/cartesia/tts/types/experimental_model_controls.py +0 -28
- cartesia-2.0.7/src/cartesia/tts/types/generation_config.py +0 -34
- {cartesia-2.0.7 → cartesia-2.0.8}/LICENSE +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/README.md +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/requests/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/requests/api_info.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/types/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/api_status/types/api_info.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/requests/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/requests/token_grant.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/requests/token_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/requests/token_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/types/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/types/token_grant.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/types/token_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/auth/types/token_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/base_client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/api_error.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/datetime_utils.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/file.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/http_client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/jsonable_encoder.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/pagination.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/pydantic_utilities.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/query_encoder.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/remove_none_from_dict.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/request_options.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/core/serialization.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/create_dataset_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/dataset.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/dataset_file.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/paginated_dataset_files.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/requests/paginated_datasets.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/create_dataset_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/dataset.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/dataset_file.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/file_purpose.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/paginated_dataset_files.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/datasets/types/paginated_datasets.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/embedding/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/embedding/types/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/embedding/types/embedding.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/environment.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/infill/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/infill/client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/py.typed +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/_async_websocket.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/_websocket.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/done_message.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/error_message.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/flush_done_message.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/streaming_transcription_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/transcript_message.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/transcription_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/transcription_word.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/socket_client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/done_message.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/error_message.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/flush_done_message.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/streaming_transcription_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/stt_encoding.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/timestamp_granularity.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/transcript_message.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/transcription_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/transcription_word.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/cancel_context_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/controls.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/generation_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/mp_3_output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/phoneme_timestamps.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/raw_output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/speed.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/sse_output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/tts_request_embedding_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/tts_request_id_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/tts_request_voice_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/ttssse_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/wav_output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_base_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_chunk_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_done_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_error_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_flush_done_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_phoneme_timestamps_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_raw_output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_stream_options.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_timestamps_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_tts_output.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/web_socket_tts_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/requests/word_timestamps.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/socket_client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/cancel_context_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/context_id.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/controls.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/emotion.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/flush_id.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/generation_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/model_speed.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/mp_3_output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/natural_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/numerical_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/phoneme_timestamps.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/raw_encoding.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/raw_output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/speed.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/sse_output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/supported_language.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/tts_request_embedding_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/tts_request_id_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/tts_request_voice_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/ttssse_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/wav_output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_base_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_chunk_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_done_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_error_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_flush_done_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_phoneme_timestamps_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_raw_output_format.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_stream_options.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_timestamps_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_tts_output.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/web_socket_tts_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/types/word_timestamps.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/utils/constants.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/utils/tts.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/tts/utils/types.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/version.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/requests/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/requests/streaming_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/types/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/types/output_format_container.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voice_changer/types/streaming_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/client.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/create_voice_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/embedding_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/embedding_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/get_voices_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/id_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/localize_dialect.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/localize_voice_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/mix_voice_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/mix_voices_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/update_voice_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/voice.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/requests/voice_metadata.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/__init__.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/base_voice_id.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/clone_mode.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/create_voice_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/embedding_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/embedding_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/gender.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/gender_presentation.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/get_voices_response.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/id_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_dialect.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_english_dialect.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_french_dialect.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_portuguese_dialect.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_spanish_dialect.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_target_language.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/localize_voice_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/mix_voice_specifier.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/mix_voices_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/update_voice_request.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/voice.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/voice_expand_options.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/voice_id.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/voice_metadata.py +0 -0
- {cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/voices/types/weight.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.1
|
2
2
|
Name: cartesia
|
3
|
-
Version: 2.0.
|
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
|
@@ -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.
|
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
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
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
|
457
|
-
|
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(
|
@@ -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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/requests/streaming_transcription_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cartesia-2.0.7 → cartesia-2.0.8}/src/cartesia/stt/types/streaming_transcription_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|