sarvamai 0.1.11a3__tar.gz → 0.1.11a5__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 (214) hide show
  1. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/PKG-INFO +1 -1
  2. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/pyproject.toml +1 -1
  3. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/client_wrapper.py +2 -2
  4. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_job/client.py +108 -6
  5. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_job/job.py +5 -1
  6. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_job/client.py +167 -11
  7. sarvamai-0.1.11a5/src/sarvamai/speech_to_text_translate_job/job.py +479 -0
  8. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/README.md +0 -0
  9. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/__init__.py +0 -0
  10. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/chat/__init__.py +0 -0
  11. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/chat/client.py +0 -0
  12. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/chat/raw_client.py +0 -0
  13. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/client.py +0 -0
  14. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/__init__.py +0 -0
  15. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/api_error.py +0 -0
  16. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/datetime_utils.py +0 -0
  17. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/events.py +0 -0
  18. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/file.py +0 -0
  19. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/force_multipart.py +0 -0
  20. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/http_client.py +0 -0
  21. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/http_response.py +0 -0
  22. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/jsonable_encoder.py +0 -0
  23. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/pydantic_utilities.py +0 -0
  24. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/query_encoder.py +0 -0
  25. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/remove_none_from_dict.py +0 -0
  26. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/request_options.py +0 -0
  27. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/core/serialization.py +0 -0
  28. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/environment.py +0 -0
  29. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/errors/__init__.py +0 -0
  30. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/errors/bad_request_error.py +0 -0
  31. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/errors/forbidden_error.py +0 -0
  32. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/errors/internal_server_error.py +0 -0
  33. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/errors/service_unavailable_error.py +0 -0
  34. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/errors/too_many_requests_error.py +0 -0
  35. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/errors/unprocessable_entity_error.py +0 -0
  36. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/play.py +0 -0
  37. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/py.typed +0 -0
  38. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/__init__.py +0 -0
  39. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/audio_data.py +0 -0
  40. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/audio_message.py +0 -0
  41. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/audio_output.py +0 -0
  42. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/audio_output_data.py +0 -0
  43. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/base_job_parameters.py +0 -0
  44. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/bulk_job_callback.py +0 -0
  45. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/bulk_job_init_response_v_1.py +0 -0
  46. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/chat_completion_request_assistant_message.py +0 -0
  47. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/chat_completion_request_message.py +0 -0
  48. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/chat_completion_request_system_message.py +0 -0
  49. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/chat_completion_request_user_message.py +0 -0
  50. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/chat_completion_response_message.py +0 -0
  51. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/choice.py +0 -0
  52. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/completion_usage.py +0 -0
  53. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/config_message.py +0 -0
  54. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/configure_connection.py +0 -0
  55. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/configure_connection_data.py +0 -0
  56. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/create_chat_completion_response.py +0 -0
  57. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/diarized_entry.py +0 -0
  58. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/diarized_transcript.py +0 -0
  59. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/error_data.py +0 -0
  60. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/error_details.py +0 -0
  61. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/error_message.py +0 -0
  62. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/error_response.py +0 -0
  63. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/error_response_data.py +0 -0
  64. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/events_data.py +0 -0
  65. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/file_signed_url_details.py +0 -0
  66. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/files_download_response.py +0 -0
  67. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/files_request.py +0 -0
  68. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/files_upload_response.py +0 -0
  69. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/flush_signal.py +0 -0
  70. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/job_status_v_1.py +0 -0
  71. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/language_identification_response.py +0 -0
  72. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/ping_signal.py +0 -0
  73. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/send_text.py +0 -0
  74. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/send_text_data.py +0 -0
  75. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/speech_to_text_job_parameters.py +0 -0
  76. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/speech_to_text_response.py +0 -0
  77. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/speech_to_text_response_data.py +0 -0
  78. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/speech_to_text_streaming_response.py +0 -0
  79. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/speech_to_text_transcription_data.py +0 -0
  80. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/speech_to_text_translate_job_parameters.py +0 -0
  81. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/speech_to_text_translate_response.py +0 -0
  82. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/speech_to_text_translate_response_data.py +0 -0
  83. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/speech_to_text_translate_streaming_response.py +0 -0
  84. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/speech_to_text_translate_transcription_data.py +0 -0
  85. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/stop_configuration.py +0 -0
  86. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/task_detail_v_1.py +0 -0
  87. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/task_file_details.py +0 -0
  88. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/text_to_speech_response.py +0 -0
  89. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/timestamps_model.py +0 -0
  90. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/transcription_metrics.py +0 -0
  91. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/translation_response.py +0 -0
  92. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/requests/transliteration_response.py +0 -0
  93. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text/__init__.py +0 -0
  94. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text/client.py +0 -0
  95. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text/raw_client.py +0 -0
  96. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_job/__init__.py +0 -0
  97. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_job/raw_client.py +0 -0
  98. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_streaming/__init__.py +0 -0
  99. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_streaming/client.py +0 -0
  100. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_streaming/raw_client.py +0 -0
  101. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_streaming/socket_client.py +0 -0
  102. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_streaming/types/__init__.py +0 -0
  103. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_high_vad_sensitivity.py +0 -0
  104. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_language_code.py +0 -0
  105. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_model.py +0 -0
  106. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_vad_signals.py +0 -0
  107. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_job/__init__.py +0 -0
  108. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_job/raw_client.py +0 -0
  109. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_streaming/__init__.py +0 -0
  110. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_streaming/client.py +0 -0
  111. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_streaming/raw_client.py +0 -0
  112. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_streaming/socket_client.py +0 -0
  113. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_streaming/types/__init__.py +0 -0
  114. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_high_vad_sensitivity.py +0 -0
  115. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_model.py +0 -0
  116. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_vad_signals.py +0 -0
  117. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/text/__init__.py +0 -0
  118. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/text/client.py +0 -0
  119. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/text/raw_client.py +0 -0
  120. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/text_to_speech/__init__.py +0 -0
  121. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/text_to_speech/client.py +0 -0
  122. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/text_to_speech/raw_client.py +0 -0
  123. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/text_to_speech_streaming/__init__.py +0 -0
  124. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/text_to_speech_streaming/client.py +0 -0
  125. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/text_to_speech_streaming/raw_client.py +0 -0
  126. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/text_to_speech_streaming/socket_client.py +0 -0
  127. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/__init__.py +0 -0
  128. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/audio_data.py +0 -0
  129. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/audio_message.py +0 -0
  130. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/audio_output.py +0 -0
  131. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/audio_output_data.py +0 -0
  132. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/base_job_parameters.py +0 -0
  133. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/bulk_job_callback.py +0 -0
  134. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/bulk_job_init_response_v_1.py +0 -0
  135. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/chat_completion_request_assistant_message.py +0 -0
  136. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/chat_completion_request_message.py +0 -0
  137. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/chat_completion_request_system_message.py +0 -0
  138. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/chat_completion_request_user_message.py +0 -0
  139. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/chat_completion_response_message.py +0 -0
  140. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/choice.py +0 -0
  141. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/completion_usage.py +0 -0
  142. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/config_message.py +0 -0
  143. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/configure_connection.py +0 -0
  144. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/configure_connection_data.py +0 -0
  145. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/configure_connection_data_output_audio_bitrate.py +0 -0
  146. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/configure_connection_data_output_audio_codec.py +0 -0
  147. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/configure_connection_data_speaker.py +0 -0
  148. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/configure_connection_data_target_language_code.py +0 -0
  149. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/create_chat_completion_response.py +0 -0
  150. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/diarized_entry.py +0 -0
  151. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/diarized_transcript.py +0 -0
  152. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/error_code.py +0 -0
  153. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/error_data.py +0 -0
  154. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/error_details.py +0 -0
  155. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/error_message.py +0 -0
  156. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/error_response.py +0 -0
  157. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/error_response_data.py +0 -0
  158. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/events_data.py +0 -0
  159. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/file_signed_url_details.py +0 -0
  160. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/files_download_response.py +0 -0
  161. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/files_request.py +0 -0
  162. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/files_upload_response.py +0 -0
  163. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/finish_reason.py +0 -0
  164. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/flush_signal.py +0 -0
  165. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/job_state.py +0 -0
  166. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/job_status_v_1.py +0 -0
  167. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/language_identification_response.py +0 -0
  168. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/numerals_format.py +0 -0
  169. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/ping_signal.py +0 -0
  170. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/reasoning_effort.py +0 -0
  171. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/response_type.py +0 -0
  172. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/role.py +0 -0
  173. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/sarvam_model_ids.py +0 -0
  174. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/send_text.py +0 -0
  175. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/send_text_data.py +0 -0
  176. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_sample_rate.py +0 -0
  177. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_job_parameters.py +0 -0
  178. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_language.py +0 -0
  179. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_model.py +0 -0
  180. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_response.py +0 -0
  181. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_response_data.py +0 -0
  182. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_streaming_response.py +0 -0
  183. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_transcription_data.py +0 -0
  184. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_translate_job_parameters.py +0 -0
  185. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_translate_language.py +0 -0
  186. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_translate_model.py +0 -0
  187. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_translate_response.py +0 -0
  188. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_translate_response_data.py +0 -0
  189. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_translate_streaming_response.py +0 -0
  190. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/speech_to_text_translate_transcription_data.py +0 -0
  191. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/spoken_form_numerals_format.py +0 -0
  192. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/stop_configuration.py +0 -0
  193. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/storage_container_type.py +0 -0
  194. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/task_detail_v_1.py +0 -0
  195. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/task_file_details.py +0 -0
  196. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/task_state.py +0 -0
  197. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/text_to_speech_language.py +0 -0
  198. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/text_to_speech_model.py +0 -0
  199. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/text_to_speech_output_audio_codec.py +0 -0
  200. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/text_to_speech_response.py +0 -0
  201. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/text_to_speech_speaker.py +0 -0
  202. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/timestamps_model.py +0 -0
  203. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/transcription_metrics.py +0 -0
  204. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/translate_mode.py +0 -0
  205. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/translate_model.py +0 -0
  206. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/translate_source_language.py +0 -0
  207. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/translate_speaker_gender.py +0 -0
  208. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/translate_target_language.py +0 -0
  209. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/translation_response.py +0 -0
  210. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/translatiterate_target_language.py +0 -0
  211. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/transliterate_mode.py +0 -0
  212. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/transliterate_source_language.py +0 -0
  213. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/types/transliteration_response.py +0 -0
  214. {sarvamai-0.1.11a3 → sarvamai-0.1.11a5}/src/sarvamai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sarvamai
3
- Version: 0.1.11a3
3
+ Version: 0.1.11a5
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -3,7 +3,7 @@ name = "sarvamai"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "sarvamai"
6
- version = "0.1.11a3"
6
+ version = "0.1.11a5"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -23,10 +23,10 @@ class BaseClientWrapper:
23
23
 
24
24
  def get_headers(self) -> typing.Dict[str, str]:
25
25
  headers: typing.Dict[str, str] = {
26
- "User-Agent": "sarvamai/0.1.11a3",
26
+ "User-Agent": "sarvamai/0.1.11a5",
27
27
  "X-Fern-Language": "Python",
28
28
  "X-Fern-SDK-Name": "sarvamai",
29
- "X-Fern-SDK-Version": "0.1.11a3",
29
+ "X-Fern-SDK-Version": "0.1.11a5",
30
30
  **(self.get_custom_headers() or {}),
31
31
  }
32
32
  headers["api-subscription-key"] = self.api_subscription_key
@@ -234,12 +234,53 @@ class SpeechToTextJobClient:
234
234
 
235
235
  def create_job(
236
236
  self,
237
- job_parameters: SpeechToTextJobParametersParams,
237
+ language_code: typing.Optional[str] = None,
238
+ model: typing.Optional[str] = "saarika:v2.5",
239
+ num_speakers: typing.Optional[int] = None,
240
+ with_diarization: typing.Optional[bool] = False,
241
+ with_timestamps: typing.Optional[bool] = False,
238
242
  callback: typing.Optional[BulkJobCallbackParams] = OMIT,
239
243
  request_options: typing.Optional[RequestOptions] = None,
240
244
  ) -> SpeechToTextJob:
245
+ """
246
+ Create a new Speech-to-Text bulk job.
247
+
248
+ Parameters
249
+ ----------
250
+ language_code : typing.Optional[str], default=None
251
+ The language code of the input audio (e.g., "en", "hi").
252
+
253
+ model : typing.Optional[str], default="saarika:v2.5"
254
+ The model to use for transcription.
255
+
256
+ num_speakers : typing.Optional[int], default=None
257
+ The number of distinct speakers in the audio, if known.
258
+
259
+ with_diarization : typing.Optional[bool], default=False
260
+ Whether to enable speaker diarization (distinguishing who said what).
261
+
262
+ with_timestamps : typing.Optional[bool], default=False
263
+ Whether to include word-level timestamps in the transcription output.
264
+
265
+ callback : typing.Optional[BulkJobCallbackParams], default=OMIT
266
+ Optional callback configuration to receive job completion events.
267
+
268
+ request_options : typing.Optional[RequestOptions], default=None
269
+ Request-specific configuration.
270
+
271
+ Returns
272
+ -------
273
+ SpeechToTextJob
274
+ A handle to the newly created Speech-to-Text job.
275
+ """
241
276
  response = self.initialise(
242
- job_parameters=job_parameters,
277
+ job_parameters=SpeechToTextJobParametersParams(
278
+ language_code=language_code,
279
+ model=model,
280
+ num_speakers=num_speakers, # type: ignore[typeddict-item]
281
+ with_diarization=with_diarization, # type: ignore[typeddict-item]
282
+ with_timestamps=with_timestamps, # type: ignore[typeddict-item]
283
+ ),
243
284
  callback=callback,
244
285
  request_options=request_options,
245
286
  )
@@ -247,7 +288,17 @@ class SpeechToTextJobClient:
247
288
 
248
289
  def get_job(self, job_id: str) -> SpeechToTextJob:
249
290
  """
250
- Return a job handle for an existing Speech-to-Text job.
291
+ Get an existing Speech-to-Text job handle by job ID.
292
+
293
+ Parameters
294
+ ----------
295
+ job_id : str
296
+ The job ID of the previously created Speech-to-Text job.
297
+
298
+ Returns
299
+ -------
300
+ SpeechToTextJob
301
+ A job handle which can be used to check status or retrieve results.
251
302
  """
252
303
  return SpeechToTextJob(job_id=job_id, client=self)
253
304
 
@@ -511,12 +562,53 @@ class AsyncSpeechToTextJobClient:
511
562
 
512
563
  async def create_job(
513
564
  self,
514
- job_parameters: SpeechToTextJobParametersParams,
565
+ language_code: typing.Optional[str] = None,
566
+ model: typing.Optional[str] = "saarika:v2.5",
567
+ num_speakers: typing.Optional[int] = None,
568
+ with_diarization: typing.Optional[bool] = False,
569
+ with_timestamps: typing.Optional[bool] = False,
515
570
  callback: typing.Optional[BulkJobCallbackParams] = OMIT,
516
571
  request_options: typing.Optional[RequestOptions] = None,
517
572
  ) -> "AsyncSpeechToTextJob":
573
+ """
574
+ Create a new Speech-to-Text bulk job.
575
+
576
+ Parameters
577
+ ----------
578
+ language_code : typing.Optional[str], default=None
579
+ The language code of the input audio (e.g., "en", "hi").
580
+
581
+ model : typing.Optional[str], default="saarika:v2.5"
582
+ The model to use for transcription.
583
+
584
+ num_speakers : typing.Optional[int], default=None
585
+ The number of distinct speakers in the audio, if known.
586
+
587
+ with_diarization : typing.Optional[bool], default=False
588
+ Whether to enable speaker diarization (distinguishing who said what).
589
+
590
+ with_timestamps : typing.Optional[bool], default=False
591
+ Whether to include word-level timestamps in the transcription output.
592
+
593
+ callback : typing.Optional[BulkJobCallbackParams], default=OMIT
594
+ Optional callback configuration to receive job completion events.
595
+
596
+ request_options : typing.Optional[RequestOptions], default=None
597
+ Request-specific configuration.
598
+
599
+ Returns
600
+ -------
601
+ AsyncSpeechToTextJob
602
+ A handle to the newly created job.
603
+ """
518
604
  response = await self.initialise(
519
- job_parameters=job_parameters,
605
+ job_parameters=SpeechToTextJobParametersParams(
606
+ language_code=language_code,
607
+ model=model,
608
+ num_speakers=num_speakers, # type: ignore[typeddict-item]
609
+ with_diarization=with_diarization, # type: ignore[typeddict-item]
610
+ with_timestamps=with_timestamps, # type: ignore[typeddict-item]
611
+ ),
520
612
  callback=callback,
521
613
  request_options=request_options,
522
614
  )
@@ -524,6 +616,16 @@ class AsyncSpeechToTextJobClient:
524
616
 
525
617
  async def get_job(self, job_id: str) -> "AsyncSpeechToTextJob":
526
618
  """
527
- Return a job handle for an existing Speech-to-Text job.
619
+ Get an existing Speech-to-Text job handle by job ID.
620
+
621
+ Parameters
622
+ ----------
623
+ job_id : str
624
+ The job ID of the previously created speech-to-text job.
625
+
626
+ Returns
627
+ -------
628
+ AsyncSpeechToTextJob
629
+ A job handle which can be used to check status or retrieve results.
528
630
  """
529
631
  return AsyncSpeechToTextJob(job_id=job_id, client=self)
@@ -1,4 +1,5 @@
1
1
  import asyncio
2
+ import mimetypes
2
3
  import os
3
4
  import time
4
5
  import typing
@@ -66,12 +67,15 @@ class AsyncSpeechToTextJob:
66
67
  file_name = os.path.basename(path)
67
68
  url = upload_links.upload_urls[file_name].file_url
68
69
  with open(path, "rb") as f:
70
+ content_type, _ = mimetypes.guess_type(path)
71
+ if content_type is None:
72
+ content_type = "audio/wav"
69
73
  response = await session.put(
70
74
  url,
71
75
  content=f.read(),
72
76
  headers={
73
77
  "x-ms-blob-type": "BlockBlob",
74
- "Content-Type": "audio/wav",
78
+ "Content-Type": content_type,
75
79
  },
76
80
  )
77
81
  if response.status_code != 201:
@@ -5,12 +5,18 @@ import typing
5
5
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ..core.request_options import RequestOptions
7
7
  from ..requests.bulk_job_callback import BulkJobCallbackParams
8
- from ..requests.speech_to_text_translate_job_parameters import SpeechToTextTranslateJobParametersParams
8
+ from ..requests.speech_to_text_translate_job_parameters import (
9
+ SpeechToTextTranslateJobParametersParams,
10
+ )
9
11
  from ..types.bulk_job_init_response_v_1 import BulkJobInitResponseV1
10
12
  from ..types.files_download_response import FilesDownloadResponse
11
13
  from ..types.files_upload_response import FilesUploadResponse
12
14
  from ..types.job_status_v_1 import JobStatusV1
13
- from .raw_client import AsyncRawSpeechToTextTranslateJobClient, RawSpeechToTextTranslateJobClient
15
+ from .job import AsyncSpeechToTextTranslateJob, SpeechToTextTranslateJob
16
+ from .raw_client import (
17
+ AsyncRawSpeechToTextTranslateJobClient,
18
+ RawSpeechToTextTranslateJobClient,
19
+ )
14
20
 
15
21
  # this is used as the default value for optional parameters
16
22
  OMIT = typing.cast(typing.Any, ...)
@@ -18,7 +24,9 @@ OMIT = typing.cast(typing.Any, ...)
18
24
 
19
25
  class SpeechToTextTranslateJobClient:
20
26
  def __init__(self, *, client_wrapper: SyncClientWrapper):
21
- self._raw_client = RawSpeechToTextTranslateJobClient(client_wrapper=client_wrapper)
27
+ self._raw_client = RawSpeechToTextTranslateJobClient(
28
+ client_wrapper=client_wrapper
29
+ )
22
30
 
23
31
  @property
24
32
  def with_raw_response(self) -> RawSpeechToTextTranslateJobClient:
@@ -72,11 +80,16 @@ class SpeechToTextTranslateJobClient:
72
80
  )
73
81
  """
74
82
  _response = self._raw_client.initialise(
75
- job_parameters=job_parameters, ptu_id=ptu_id, callback=callback, request_options=request_options
83
+ job_parameters=job_parameters,
84
+ ptu_id=ptu_id,
85
+ callback=callback,
86
+ request_options=request_options,
76
87
  )
77
88
  return _response.data
78
89
 
79
- def get_status(self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> JobStatusV1:
90
+ def get_status(
91
+ self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None
92
+ ) -> JobStatusV1:
80
93
  """
81
94
  Get the status of a speech to text translate bulk job V1
82
95
 
@@ -143,7 +156,9 @@ class SpeechToTextTranslateJobClient:
143
156
  job_id="job_id",
144
157
  )
145
158
  """
146
- _response = self._raw_client.start(job_id, ptu_id=ptu_id, request_options=request_options)
159
+ _response = self._raw_client.start(
160
+ job_id, ptu_id=ptu_id, request_options=request_options
161
+ )
147
162
  return _response.data
148
163
 
149
164
  def get_upload_links(
@@ -234,10 +249,77 @@ class SpeechToTextTranslateJobClient:
234
249
  )
235
250
  return _response.data
236
251
 
252
+ def create_job(
253
+ self,
254
+ prompt: typing.Optional[str] = None,
255
+ model: typing.Optional[str] = "saaras:v2.5",
256
+ num_speakers: typing.Optional[int] = None,
257
+ with_diarization: typing.Optional[bool] = False,
258
+ callback: typing.Optional[BulkJobCallbackParams] = OMIT,
259
+ request_options: typing.Optional[RequestOptions] = None,
260
+ ) -> SpeechToTextTranslateJob:
261
+ """
262
+ Create a new Speech-to-Text-Translate bulk job.
263
+
264
+ Parameters
265
+ ----------
266
+ prompt : typing.Optional[str], default=None
267
+ An optional prompt to guide the transcription and translation model.
268
+
269
+ model : typing.Optional[str], default="saaras:v2.5"
270
+ The model to use for speech-to-text translation.
271
+
272
+ num_speakers : typing.Optional[int], default=None
273
+ The number of distinct speakers in the input audio, if known.
274
+
275
+ with_diarization : typing.Optional[bool], default=False
276
+ Whether to enable speaker diarization (i.e., distinguishing who is speaking).
277
+
278
+ callback : typing.Optional[BulkJobCallbackParams], default=OMIT
279
+ Optional callback configuration to receive job completion events via webhook.
280
+
281
+ request_options : typing.Optional[RequestOptions], default=None
282
+ Optional configuration for request timeout, retries, etc.
283
+
284
+ Returns
285
+ -------
286
+ SpeechToTextTranslateJob
287
+ A handle to the newly created Speech-to-Text-Translate job.
288
+ """
289
+ response = self.initialise(
290
+ job_parameters=SpeechToTextTranslateJobParametersParams(
291
+ prompt=prompt, # type: ignore[typeddict-item]
292
+ model=model,
293
+ with_diarization=with_diarization, # type: ignore[typeddict-item]
294
+ num_speakers=num_speakers, # type: ignore[typeddict-item]
295
+ ),
296
+ callback=callback,
297
+ request_options=request_options,
298
+ )
299
+ return SpeechToTextTranslateJob(job_id=response.job_id, client=self)
300
+
301
+ def get_job(self, job_id: str) -> SpeechToTextTranslateJob:
302
+ """
303
+ Get an existing Speech-to-Text-Translate job handle by job ID.
304
+
305
+ Parameters
306
+ ----------
307
+ job_id : str
308
+ The job ID of the previously created Speech-to-Text-Translate job.
309
+
310
+ Returns
311
+ -------
312
+ SpeechToTextTranslateJob
313
+ A job handle which can be used to check status or retrieve results.
314
+ """
315
+ return SpeechToTextTranslateJob(job_id=job_id, client=self)
316
+
237
317
 
238
318
  class AsyncSpeechToTextTranslateJobClient:
239
319
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
240
- self._raw_client = AsyncRawSpeechToTextTranslateJobClient(client_wrapper=client_wrapper)
320
+ self._raw_client = AsyncRawSpeechToTextTranslateJobClient(
321
+ client_wrapper=client_wrapper
322
+ )
241
323
 
242
324
  @property
243
325
  def with_raw_response(self) -> AsyncRawSpeechToTextTranslateJobClient:
@@ -299,11 +381,16 @@ class AsyncSpeechToTextTranslateJobClient:
299
381
  asyncio.run(main())
300
382
  """
301
383
  _response = await self._raw_client.initialise(
302
- job_parameters=job_parameters, ptu_id=ptu_id, callback=callback, request_options=request_options
384
+ job_parameters=job_parameters,
385
+ ptu_id=ptu_id,
386
+ callback=callback,
387
+ request_options=request_options,
303
388
  )
304
389
  return _response.data
305
390
 
306
- async def get_status(self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> JobStatusV1:
391
+ async def get_status(
392
+ self, job_id: str, *, request_options: typing.Optional[RequestOptions] = None
393
+ ) -> JobStatusV1:
307
394
  """
308
395
  Get the status of a speech to text translate bulk job V1
309
396
 
@@ -339,7 +426,9 @@ class AsyncSpeechToTextTranslateJobClient:
339
426
 
340
427
  asyncio.run(main())
341
428
  """
342
- _response = await self._raw_client.get_status(job_id, request_options=request_options)
429
+ _response = await self._raw_client.get_status(
430
+ job_id, request_options=request_options
431
+ )
343
432
  return _response.data
344
433
 
345
434
  async def start(
@@ -386,7 +475,9 @@ class AsyncSpeechToTextTranslateJobClient:
386
475
 
387
476
  asyncio.run(main())
388
477
  """
389
- _response = await self._raw_client.start(job_id, ptu_id=ptu_id, request_options=request_options)
478
+ _response = await self._raw_client.start(
479
+ job_id, ptu_id=ptu_id, request_options=request_options
480
+ )
390
481
  return _response.data
391
482
 
392
483
  async def get_upload_links(
@@ -492,3 +583,68 @@ class AsyncSpeechToTextTranslateJobClient:
492
583
  job_id=job_id, files=files, ptu_id=ptu_id, request_options=request_options
493
584
  )
494
585
  return _response.data
586
+
587
+ async def create_job(
588
+ self,
589
+ prompt: typing.Optional[str] = None,
590
+ model: typing.Optional[str] = "saaras:v2.5",
591
+ num_speakers: typing.Optional[int] = None,
592
+ with_diarization: typing.Optional[bool] = False,
593
+ callback: typing.Optional[BulkJobCallbackParams] = OMIT,
594
+ request_options: typing.Optional[RequestOptions] = None,
595
+ ) -> "AsyncSpeechToTextTranslateJob":
596
+ """
597
+ Create a new Speech-to-Text-Translate bulk job.
598
+
599
+ Parameters
600
+ ----------
601
+ prompt : typing.Optional[str], default=None
602
+ An optional prompt to guide the transcription and translation model.
603
+
604
+ model : typing.Optional[str], default="saaras:v2.5"
605
+ The model to use for speech-to-text translation.
606
+
607
+ num_speakers : typing.Optional[int], default=None
608
+ The number of distinct speakers in the input audio, if known.
609
+
610
+ with_diarization : typing.Optional[bool], default=False
611
+ Whether to enable speaker diarization (i.e., distinguishing who is speaking).
612
+
613
+ callback : typing.Optional[BulkJobCallbackParams], default=OMIT
614
+ Optional callback configuration to receive job completion events via webhook.
615
+
616
+ request_options : typing.Optional[RequestOptions], default=None
617
+ Optional configuration for request timeout, retries, etc.
618
+
619
+ Returns
620
+ -------
621
+ AsyncSpeechToTextTranslateJob
622
+ A handle to the newly created job.
623
+ """
624
+ response = await self.initialise(
625
+ job_parameters=SpeechToTextTranslateJobParametersParams(
626
+ prompt=prompt, # type: ignore[typeddict-item]
627
+ model=model,
628
+ with_diarization=with_diarization, # type: ignore[typeddict-item]
629
+ num_speakers=num_speakers, # type: ignore[typeddict-item]
630
+ ),
631
+ callback=callback,
632
+ request_options=request_options,
633
+ )
634
+ return AsyncSpeechToTextTranslateJob(job_id=response.job_id, client=self)
635
+
636
+ async def get_job(self, job_id: str) -> "AsyncSpeechToTextTranslateJob":
637
+ """
638
+ Get an existing Speech-to-Text-Translate job handle by job ID.
639
+
640
+ Parameters
641
+ ----------
642
+ job_id : str
643
+ The job ID of the previously created speech-to-text-translate job.
644
+
645
+ Returns
646
+ -------
647
+ AsyncSpeechToTextTranslateJob
648
+ A job handle which can be used to check status or retrieve results.
649
+ """
650
+ return AsyncSpeechToTextTranslateJob(job_id=job_id, client=self)