telnyx 3.7.0a0__py3-none-any.whl → 3.9.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of telnyx might be problematic. Click here for more details.

Files changed (215) hide show
  1. telnyx/__init__.py +2 -0
  2. telnyx/_client.py +25 -756
  3. telnyx/_exceptions.py +4 -0
  4. telnyx/_version.py +1 -1
  5. telnyx/resources/__init__.py +3 -1
  6. telnyx/resources/advanced_orders.py +63 -63
  7. telnyx/resources/ai/assistants/assistants.py +15 -17
  8. telnyx/resources/ai/assistants/versions.py +13 -15
  9. telnyx/resources/brand/brand.py +8 -4
  10. telnyx/resources/calls/actions.py +10 -6
  11. telnyx/resources/calls/calls.py +16 -2
  12. telnyx/resources/documents.py +242 -37
  13. telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +3 -2
  14. telnyx/resources/legacy/reporting/batch_detail_records/voice.py +3 -2
  15. telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
  16. telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
  17. telnyx/resources/outbound_voice_profiles.py +24 -4
  18. telnyx/resources/sim_cards/actions.py +12 -12
  19. telnyx/resources/texml/accounts/calls/calls.py +11 -0
  20. telnyx/resources/texml/accounts/conferences/participants.py +11 -0
  21. telnyx/resources/verified_numbers/verified_numbers.py +25 -4
  22. telnyx/resources/verify_profiles.py +9 -10
  23. telnyx/resources/webhooks.py +152 -4
  24. telnyx/types/__init__.py +18 -15
  25. telnyx/types/access_ip_address_list_response.py +3 -12
  26. telnyx/types/access_ip_range_list_response.py +3 -12
  27. telnyx/types/addresses/action_validate_response.py +7 -2
  28. telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
  29. telnyx/types/ai/__init__.py +1 -3
  30. telnyx/types/ai/assistant_import_params.py +1 -1
  31. telnyx/types/ai/assistants/__init__.py +0 -3
  32. telnyx/types/ai/assistants_list.py +4 -88
  33. telnyx/types/ai/import_metadata.py +1 -1
  34. telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
  35. telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
  36. telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
  37. telnyx/types/ai/voice_settings.py +49 -2
  38. telnyx/types/ai/voice_settings_param.py +49 -2
  39. telnyx/types/brand_create_params.py +2 -1
  40. telnyx/types/brand_update_params.py +2 -1
  41. telnyx/types/call_ai_gather_ended_webhook_event1.py +78 -0
  42. telnyx/types/call_ai_gather_message_history_updated_webhook_event1.py +69 -0
  43. telnyx/types/call_ai_gather_partial_results_webhook_event1.py +75 -0
  44. telnyx/types/call_answered_webhook_event1.py +75 -0
  45. telnyx/types/call_bridged_webhook_event1.py +58 -0
  46. telnyx/types/call_conversation_ended_webhook_event1.py +84 -0
  47. telnyx/types/call_conversation_insights_generated_webhook_event1.py +67 -0
  48. telnyx/types/call_dial_params.py +10 -1
  49. telnyx/types/call_dtmf_received_webhook_event1.py +61 -0
  50. telnyx/types/call_enqueued_webhook_event1.py +59 -0
  51. telnyx/types/call_fork_started_webhook_event1.py +53 -0
  52. telnyx/types/call_fork_stopped_webhook_event1.py +53 -0
  53. telnyx/types/call_gather_ended_webhook_event1.py +64 -0
  54. telnyx/types/call_hangup_webhook_event1.py +150 -0
  55. telnyx/types/call_initiated_webhook_event1.py +96 -0
  56. telnyx/types/call_left_queue_webhook_event1.py +62 -0
  57. telnyx/types/call_machine_detection_ended_webhook_event1.py +61 -0
  58. telnyx/types/call_machine_greeting_ended_webhook_event1.py +61 -0
  59. telnyx/types/call_machine_premium_detection_ended_webhook_event1.py +63 -0
  60. telnyx/types/call_machine_premium_greeting_ended_webhook_event1.py +61 -0
  61. telnyx/types/call_playback_ended_webhook_event1.py +70 -0
  62. telnyx/types/call_playback_started_webhook_event1.py +62 -0
  63. telnyx/types/call_recording_error_webhook_event1.py +60 -0
  64. telnyx/types/call_recording_saved_webhook_event1.py +94 -0
  65. telnyx/types/call_recording_transcription_saved_webhook_event1.py +71 -0
  66. telnyx/types/call_refer_completed_webhook_event1.py +61 -0
  67. telnyx/types/call_refer_failed_webhook_event1.py +61 -0
  68. telnyx/types/call_refer_started_webhook_event1.py +61 -0
  69. telnyx/types/call_siprec_failed_webhook_event1.py +53 -0
  70. telnyx/types/call_siprec_started_webhook_event1.py +50 -0
  71. telnyx/types/call_siprec_stopped_webhook_event1.py +53 -0
  72. telnyx/types/call_speak_ended_webhook_event1.py +53 -0
  73. telnyx/types/call_speak_started_webhook_event1.py +50 -0
  74. telnyx/types/call_streaming_failed_webhook_event1.py +70 -0
  75. telnyx/types/call_streaming_started_webhook_event1.py +53 -0
  76. telnyx/types/call_streaming_stopped_webhook_event1.py +53 -0
  77. telnyx/types/calls/__init__.py +1 -0
  78. telnyx/types/calls/action_start_streaming_params.py +2 -1
  79. telnyx/types/calls/action_start_transcription_params.py +160 -6
  80. telnyx/types/calls/telnyx_transcription_language.py +108 -0
  81. telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
  82. telnyx/types/calls/transcription_start_request_param.py +161 -6
  83. telnyx/types/campaign_status_update_webhook_event1.py +26 -0
  84. telnyx/types/conference_created_webhook_event1.py +53 -0
  85. telnyx/types/conference_ended_webhook_event1.py +56 -0
  86. telnyx/types/conference_floor_changed_webhook_event1.py +45 -0
  87. telnyx/types/conference_participant_joined_webhook_event1.py +53 -0
  88. telnyx/types/conference_participant_left_webhook_event1.py +53 -0
  89. telnyx/types/conference_participant_playback_ended_webhook_event1.py +65 -0
  90. telnyx/types/conference_participant_playback_started_webhook_event1.py +65 -0
  91. telnyx/types/conference_participant_speak_ended_webhook_event1.py +56 -0
  92. telnyx/types/conference_participant_speak_started_webhook_event1.py +56 -0
  93. telnyx/types/conference_playback_ended_webhook_event1.py +49 -0
  94. telnyx/types/conference_playback_started_webhook_event1.py +49 -0
  95. telnyx/types/conference_recording_saved_webhook_event1.py +103 -0
  96. telnyx/types/conference_speak_ended_webhook_event1.py +40 -0
  97. telnyx/types/conference_speak_started_webhook_event1.py +40 -0
  98. telnyx/types/country_coverage_retrieve_country_response.py +7 -0
  99. telnyx/types/country_coverage_retrieve_response.py +7 -0
  100. telnyx/types/customer_service_record_status_changed_webhook_event1.py +55 -0
  101. telnyx/types/delivery_update_webhook_event1.py +40 -0
  102. telnyx/types/document_upload_json_params.py +39 -0
  103. telnyx/types/document_upload_json_response.py +12 -0
  104. telnyx/types/fax_delivered_webhook_event1.py +69 -0
  105. telnyx/types/fax_failed_webhook_event1.py +66 -0
  106. telnyx/types/fax_media_processed_webhook_event1.py +63 -0
  107. telnyx/types/fax_queued_webhook_event1.py +63 -0
  108. telnyx/types/fax_sending_started_webhook_event1.py +63 -0
  109. telnyx/types/inbound_message_webhook_event1.py +227 -0
  110. telnyx/types/legacy/reporting/__init__.py +2 -0
  111. telnyx/types/legacy/reporting/batch_detail_records/__init__.py +4 -0
  112. telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -0
  113. telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
  114. telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
  115. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +4 -26
  116. telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +4 -60
  117. telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +4 -60
  118. telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +5 -70
  119. telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +4 -60
  120. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +3 -22
  121. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +3 -22
  122. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +3 -22
  123. telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +3 -22
  124. telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
  125. telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +4 -26
  126. telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +4 -82
  127. telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +4 -82
  128. telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +5 -92
  129. telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +4 -82
  130. telnyx/types/legacy/reporting/filter.py +31 -0
  131. telnyx/types/legacy/reporting/filter_param.py +30 -0
  132. telnyx/types/legacy/reporting/usage_reports/__init__.py +3 -0
  133. telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
  134. telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
  135. telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +4 -34
  136. telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +4 -34
  137. telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +5 -44
  138. telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +4 -34
  139. telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
  140. telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +4 -39
  141. telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +4 -39
  142. telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +5 -49
  143. telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +4 -39
  144. telnyx/types/message_template.py +12 -0
  145. telnyx/types/messaging_profile.py +3 -0
  146. telnyx/types/messaging_profile_create_params.py +3 -0
  147. telnyx/types/messaging_profile_update_params.py +3 -0
  148. telnyx/types/messaging_tollfree/verification/__init__.py +1 -0
  149. telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
  150. telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
  151. telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
  152. telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
  153. telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
  154. telnyx/types/number_order_status_update_webhook_event1.py +38 -0
  155. telnyx/types/oauth_client.py +59 -0
  156. telnyx/types/oauth_client_create_response.py +4 -55
  157. telnyx/types/oauth_client_list_response.py +5 -69
  158. telnyx/types/oauth_client_retrieve_response.py +4 -55
  159. telnyx/types/oauth_client_update_response.py +4 -55
  160. telnyx/types/oauth_grant.py +29 -0
  161. telnyx/types/oauth_grant_delete_response.py +4 -25
  162. telnyx/types/oauth_grant_list_response.py +5 -39
  163. telnyx/types/oauth_grant_retrieve_response.py +4 -25
  164. telnyx/types/outbound_voice_profile.py +27 -1
  165. telnyx/types/outbound_voice_profile_create_params.py +27 -1
  166. telnyx/types/outbound_voice_profile_list_params.py +1 -1
  167. telnyx/types/outbound_voice_profile_update_params.py +27 -1
  168. telnyx/types/pagination_meta_cloudflare_ip_list_sync.py +15 -0
  169. telnyx/types/pagination_meta_oauth.py +21 -0
  170. telnyx/types/phone_number_blocks/__init__.py +1 -0
  171. telnyx/types/phone_number_blocks/job.py +3 -34
  172. telnyx/types/phone_number_blocks/job_error.py +32 -0
  173. telnyx/types/phone_numbers/phone_numbers_job.py +3 -36
  174. telnyx/types/replaced_link_click_webhook_event1.py +32 -0
  175. telnyx/types/report_list_mdrs_response.py +3 -12
  176. telnyx/types/reports/__init__.py +1 -0
  177. telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
  178. telnyx/types/reports/pagination_meta_reporting.py +17 -0
  179. telnyx/types/requirement_group.py +2 -2
  180. telnyx/types/requirement_group_list_params.py +1 -1
  181. telnyx/types/shared/__init__.py +1 -0
  182. telnyx/types/{api_error.py → shared/api_error.py} +1 -1
  183. telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
  184. telnyx/types/streaming_failed_webhook_event1.py +70 -0
  185. telnyx/types/streaming_started_webhook_event1.py +53 -0
  186. telnyx/types/streaming_stopped_webhook_event1.py +53 -0
  187. telnyx/types/texml/accounts/call_calls_params.py +16 -1
  188. telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
  189. telnyx/types/transcription_webhook_event1.py +72 -0
  190. telnyx/types/unsafe_unwrap_webhook_event.py +138 -0
  191. telnyx/types/verifications/__init__.py +1 -0
  192. telnyx/types/verifications/by_phone_number_list_response.py +4 -13
  193. telnyx/types/verifications/verify_meta.py +17 -0
  194. telnyx/types/verified_number_create_params.py +10 -0
  195. telnyx/types/verify_profile.py +18 -3
  196. telnyx/types/verify_profile_list_response.py +4 -13
  197. telnyx/types/{verify_profile_create_template_response.py → verify_profile_message_template_response.py} +2 -6
  198. telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
  199. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/METADATA +9 -5
  200. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/RECORD +202 -128
  201. telnyx/types/ai/assistant_create_response.py +0 -92
  202. telnyx/types/ai/assistant_retrieve_response.py +0 -92
  203. telnyx/types/ai/assistants/version_promote_response.py +0 -92
  204. telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
  205. telnyx/types/ai/assistants/version_update_response.py +0 -92
  206. telnyx/types/client_create_bucket_params.py +0 -13
  207. telnyx/types/client_delete_objects_params.py +0 -20
  208. telnyx/types/client_get_object_params.py +0 -15
  209. telnyx/types/client_list_objects_params.py +0 -13
  210. telnyx/types/client_put_object_params.py +0 -20
  211. telnyx/types/list_buckets_response.py +0 -20
  212. telnyx/types/list_objects_response.py +0 -24
  213. telnyx/types/verify_profile_update_template_response.py +0 -17
  214. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/WHEEL +0 -0
  215. {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["CallStreamingStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+ stream_url: Optional[str] = None
33
+ """Destination WebSocket address where the stream is going to be delivered."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["streaming.started"]] = None
41
+ """The type of event being delivered."""
42
+
43
+ occurred_at: Optional[datetime] = None
44
+ """ISO 8601 datetime of when the event occurred."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class CallStreamingStartedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -0,0 +1,53 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["CallStreamingStoppedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Call ID used to issue commands via Call Control API."""
15
+
16
+ call_leg_id: Optional[str] = None
17
+ """ID that is unique to the call and can be used to correlate webhook events."""
18
+
19
+ call_session_id: Optional[str] = None
20
+ """
21
+ ID that is unique to the call session and can be used to correlate webhook
22
+ events. Call session is a group of related call legs that logically belong to
23
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
24
+ """
25
+
26
+ client_state: Optional[str] = None
27
+ """State received from a command."""
28
+
29
+ connection_id: Optional[str] = None
30
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
31
+
32
+ stream_url: Optional[str] = None
33
+ """Destination WebSocket address where the stream is going to be delivered."""
34
+
35
+
36
+ class Data(BaseModel):
37
+ id: Optional[str] = None
38
+ """Identifies the type of resource."""
39
+
40
+ event_type: Optional[Literal["streaming.stopped"]] = None
41
+ """The type of event being delivered."""
42
+
43
+ occurred_at: Optional[datetime] = None
44
+ """ISO 8601 datetime of when the event occurred."""
45
+
46
+ payload: Optional[DataPayload] = None
47
+
48
+ record_type: Optional[Literal["event"]] = None
49
+ """Identifies the type of the resource."""
50
+
51
+
52
+ class CallStreamingStoppedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
@@ -52,6 +52,7 @@ from .action_start_recording_params import ActionStartRecordingParams as ActionS
52
52
  from .action_start_streaming_params import ActionStartStreamingParams as ActionStartStreamingParams
53
53
  from .action_stop_playback_response import ActionStopPlaybackResponse as ActionStopPlaybackResponse
54
54
  from .google_transcription_language import GoogleTranscriptionLanguage as GoogleTranscriptionLanguage
55
+ from .telnyx_transcription_language import TelnyxTranscriptionLanguage as TelnyxTranscriptionLanguage
55
56
  from .action_resume_recording_params import ActionResumeRecordingParams as ActionResumeRecordingParams
56
57
  from .action_start_playback_response import ActionStartPlaybackResponse as ActionStartPlaybackResponse
57
58
  from .action_stop_recording_response import ActionStopRecordingResponse as ActionStopRecordingResponse
@@ -9,6 +9,7 @@ from ..dialogflow_config_param import DialogflowConfigParam
9
9
  from ..stream_bidirectional_mode import StreamBidirectionalMode
10
10
  from ..stream_bidirectional_codec import StreamBidirectionalCodec
11
11
  from ..stream_bidirectional_target_legs import StreamBidirectionalTargetLegs
12
+ from ..stream_bidirectional_sampling_rate import StreamBidirectionalSamplingRate
12
13
 
13
14
  __all__ = ["ActionStartStreamingParams"]
14
15
 
@@ -41,7 +42,7 @@ class ActionStartStreamingParams(TypedDict, total=False):
41
42
  stream_bidirectional_mode: StreamBidirectionalMode
42
43
  """Configures method of bidirectional streaming (mp3, rtp)."""
43
44
 
44
- stream_bidirectional_sampling_rate: Literal[8000, 16000, 22050, 24000, 48000]
45
+ stream_bidirectional_sampling_rate: StreamBidirectionalSamplingRate
45
46
  """Audio sampling rate."""
46
47
 
47
48
  stream_bidirectional_target_legs: StreamBidirectionalTargetLegs
@@ -2,13 +2,23 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Union
6
- from typing_extensions import Literal, TypeAlias, TypedDict
5
+ from typing import Union, Iterable
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
7
 
8
+ from ..._types import SequenceNotStr
9
+ from .google_transcription_language import GoogleTranscriptionLanguage
10
+ from .telnyx_transcription_language import TelnyxTranscriptionLanguage
8
11
  from .transcription_engine_a_config_param import TranscriptionEngineAConfigParam
9
12
  from .transcription_engine_b_config_param import TranscriptionEngineBConfigParam
10
13
 
11
- __all__ = ["ActionStartTranscriptionParams", "TranscriptionEngineConfig"]
14
+ __all__ = [
15
+ "ActionStartTranscriptionParams",
16
+ "TranscriptionEngineConfig",
17
+ "TranscriptionEngineConfigTranscriptionEngineGoogleConfig",
18
+ "TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext",
19
+ "TranscriptionEngineConfigTranscriptionEngineTelnyxConfig",
20
+ "TranscriptionEngineConfigTranscriptionEngineDeepgramConfig",
21
+ ]
12
22
 
13
23
 
14
24
  class ActionStartTranscriptionParams(TypedDict, total=False):
@@ -25,8 +35,12 @@ class ActionStartTranscriptionParams(TypedDict, total=False):
25
35
  `call_control_id`.
26
36
  """
27
37
 
28
- transcription_engine: Literal["A", "B"]
29
- """Engine to use for speech recognition. `A` - `Google`, `B` - `Telnyx`."""
38
+ transcription_engine: Literal["Google", "Telnyx", "Deepgram", "A", "B"]
39
+ """Engine to use for speech recognition.
40
+
41
+ Legacy values `A` - `Google`, `B` - `Telnyx` are supported for backward
42
+ compatibility.
43
+ """
30
44
 
31
45
  transcription_engine_config: TranscriptionEngineConfig
32
46
 
@@ -38,4 +52,144 @@ class ActionStartTranscriptionParams(TypedDict, total=False):
38
52
  """
39
53
 
40
54
 
41
- TranscriptionEngineConfig: TypeAlias = Union[TranscriptionEngineAConfigParam, TranscriptionEngineBConfigParam]
55
+ class TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext(TypedDict, total=False):
56
+ boost: float
57
+ """Boost factor for the speech context."""
58
+
59
+ phrases: SequenceNotStr[str]
60
+
61
+
62
+ class TranscriptionEngineConfigTranscriptionEngineGoogleConfig(TypedDict, total=False):
63
+ enable_speaker_diarization: bool
64
+ """Enables speaker diarization."""
65
+
66
+ hints: SequenceNotStr[str]
67
+ """Hints to improve transcription accuracy."""
68
+
69
+ interim_results: bool
70
+ """Whether to send also interim results.
71
+
72
+ If set to false, only final results will be sent.
73
+ """
74
+
75
+ language: GoogleTranscriptionLanguage
76
+ """Language to use for speech recognition"""
77
+
78
+ max_speaker_count: int
79
+ """Defines maximum number of speakers in the conversation."""
80
+
81
+ min_speaker_count: int
82
+ """Defines minimum number of speakers in the conversation."""
83
+
84
+ model: Literal[
85
+ "latest_long",
86
+ "latest_short",
87
+ "command_and_search",
88
+ "phone_call",
89
+ "video",
90
+ "default",
91
+ "medical_conversation",
92
+ "medical_dictation",
93
+ ]
94
+ """The model to use for transcription."""
95
+
96
+ profanity_filter: bool
97
+ """Enables profanity_filter."""
98
+
99
+ speech_context: Iterable[TranscriptionEngineConfigTranscriptionEngineGoogleConfigSpeechContext]
100
+ """Speech context to improve transcription accuracy."""
101
+
102
+ transcription_engine: Literal["Google"]
103
+ """Engine identifier for Google transcription service"""
104
+
105
+ use_enhanced: bool
106
+ """Enables enhanced transcription, this works for models `phone_call` and `video`."""
107
+
108
+
109
+ class TranscriptionEngineConfigTranscriptionEngineTelnyxConfig(TypedDict, total=False):
110
+ language: TelnyxTranscriptionLanguage
111
+ """Language to use for speech recognition"""
112
+
113
+ transcription_engine: Literal["Telnyx"]
114
+ """Engine identifier for Telnyx transcription service"""
115
+
116
+ transcription_model: Literal["openai/whisper-tiny", "openai/whisper-large-v3-turbo"]
117
+ """The model to use for transcription."""
118
+
119
+
120
+ class TranscriptionEngineConfigTranscriptionEngineDeepgramConfig(TypedDict, total=False):
121
+ transcription_engine: Required[Literal["Deepgram"]]
122
+ """Engine identifier for Deepgram transcription service"""
123
+
124
+ transcription_model: Required[Literal["deepgram/nova-2", "deepgram/nova-3"]]
125
+ """The model to use for transcription."""
126
+
127
+ language: Literal[
128
+ "bg",
129
+ "ca",
130
+ "zh",
131
+ "zh-CN",
132
+ "zh-Hans",
133
+ "zh-TW",
134
+ "zh-Hant",
135
+ "zh-HK",
136
+ "cs",
137
+ "da",
138
+ "da-DK",
139
+ "nl",
140
+ "en",
141
+ "en-US",
142
+ "en-AU",
143
+ "en-GB",
144
+ "en-NZ",
145
+ "en-IN",
146
+ "et",
147
+ "fi",
148
+ "nl-BE",
149
+ "fr",
150
+ "fr-CA",
151
+ "de",
152
+ "de-CH",
153
+ "el",
154
+ "hi",
155
+ "hu",
156
+ "id",
157
+ "it",
158
+ "ja",
159
+ "ko",
160
+ "ko-KR",
161
+ "lv",
162
+ "lt",
163
+ "ms",
164
+ "no",
165
+ "pl",
166
+ "pt",
167
+ "pt-BR",
168
+ "pt-PT",
169
+ "ro",
170
+ "ru",
171
+ "sk",
172
+ "es",
173
+ "es-419",
174
+ "sv",
175
+ "sv-SE",
176
+ "th",
177
+ "th-TH",
178
+ "tr",
179
+ "uk",
180
+ "vi",
181
+ "auto_detect",
182
+ ]
183
+ """Language to use for speech recognition.
184
+
185
+ Available languages depend on the selected model.
186
+ """
187
+
188
+
189
+ TranscriptionEngineConfig: TypeAlias = Union[
190
+ TranscriptionEngineConfigTranscriptionEngineGoogleConfig,
191
+ TranscriptionEngineConfigTranscriptionEngineTelnyxConfig,
192
+ TranscriptionEngineConfigTranscriptionEngineDeepgramConfig,
193
+ TranscriptionEngineAConfigParam,
194
+ TranscriptionEngineBConfigParam,
195
+ ]
@@ -0,0 +1,108 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["TelnyxTranscriptionLanguage"]
6
+
7
+ TelnyxTranscriptionLanguage: TypeAlias = Literal[
8
+ "en",
9
+ "zh",
10
+ "de",
11
+ "es",
12
+ "ru",
13
+ "ko",
14
+ "fr",
15
+ "ja",
16
+ "pt",
17
+ "tr",
18
+ "pl",
19
+ "ca",
20
+ "nl",
21
+ "ar",
22
+ "sv",
23
+ "it",
24
+ "id",
25
+ "hi",
26
+ "fi",
27
+ "vi",
28
+ "he",
29
+ "uk",
30
+ "el",
31
+ "ms",
32
+ "cs",
33
+ "ro",
34
+ "da",
35
+ "hu",
36
+ "ta",
37
+ "no",
38
+ "th",
39
+ "ur",
40
+ "hr",
41
+ "bg",
42
+ "lt",
43
+ "la",
44
+ "mi",
45
+ "ml",
46
+ "cy",
47
+ "sk",
48
+ "te",
49
+ "fa",
50
+ "lv",
51
+ "bn",
52
+ "sr",
53
+ "az",
54
+ "sl",
55
+ "kn",
56
+ "et",
57
+ "mk",
58
+ "br",
59
+ "eu",
60
+ "is",
61
+ "hy",
62
+ "ne",
63
+ "mn",
64
+ "bs",
65
+ "kk",
66
+ "sq",
67
+ "sw",
68
+ "gl",
69
+ "mr",
70
+ "pa",
71
+ "si",
72
+ "km",
73
+ "sn",
74
+ "yo",
75
+ "so",
76
+ "af",
77
+ "oc",
78
+ "ka",
79
+ "be",
80
+ "tg",
81
+ "sd",
82
+ "gu",
83
+ "am",
84
+ "yi",
85
+ "lo",
86
+ "uz",
87
+ "fo",
88
+ "ht",
89
+ "ps",
90
+ "tk",
91
+ "nn",
92
+ "mt",
93
+ "sa",
94
+ "lb",
95
+ "my",
96
+ "bo",
97
+ "tl",
98
+ "mg",
99
+ "as",
100
+ "tt",
101
+ "haw",
102
+ "ln",
103
+ "ha",
104
+ "ba",
105
+ "jw",
106
+ "su",
107
+ "auto_detect",
108
+ ]
@@ -4,112 +4,13 @@ from __future__ import annotations
4
4
 
5
5
  from typing_extensions import Literal, TypedDict
6
6
 
7
+ from .telnyx_transcription_language import TelnyxTranscriptionLanguage
8
+
7
9
  __all__ = ["TranscriptionEngineBConfigParam"]
8
10
 
9
11
 
10
12
  class TranscriptionEngineBConfigParam(TypedDict, total=False):
11
- language: Literal[
12
- "en",
13
- "zh",
14
- "de",
15
- "es",
16
- "ru",
17
- "ko",
18
- "fr",
19
- "ja",
20
- "pt",
21
- "tr",
22
- "pl",
23
- "ca",
24
- "nl",
25
- "ar",
26
- "sv",
27
- "it",
28
- "id",
29
- "hi",
30
- "fi",
31
- "vi",
32
- "he",
33
- "uk",
34
- "el",
35
- "ms",
36
- "cs",
37
- "ro",
38
- "da",
39
- "hu",
40
- "ta",
41
- "no",
42
- "th",
43
- "ur",
44
- "hr",
45
- "bg",
46
- "lt",
47
- "la",
48
- "mi",
49
- "ml",
50
- "cy",
51
- "sk",
52
- "te",
53
- "fa",
54
- "lv",
55
- "bn",
56
- "sr",
57
- "az",
58
- "sl",
59
- "kn",
60
- "et",
61
- "mk",
62
- "br",
63
- "eu",
64
- "is",
65
- "hy",
66
- "ne",
67
- "mn",
68
- "bs",
69
- "kk",
70
- "sq",
71
- "sw",
72
- "gl",
73
- "mr",
74
- "pa",
75
- "si",
76
- "km",
77
- "sn",
78
- "yo",
79
- "so",
80
- "af",
81
- "oc",
82
- "ka",
83
- "be",
84
- "tg",
85
- "sd",
86
- "gu",
87
- "am",
88
- "yi",
89
- "lo",
90
- "uz",
91
- "fo",
92
- "ht",
93
- "ps",
94
- "tk",
95
- "nn",
96
- "mt",
97
- "sa",
98
- "lb",
99
- "my",
100
- "bo",
101
- "tl",
102
- "mg",
103
- "as",
104
- "tt",
105
- "haw",
106
- "ln",
107
- "ha",
108
- "ba",
109
- "jw",
110
- "su",
111
- "auto_detect",
112
- ]
13
+ language: TelnyxTranscriptionLanguage
113
14
  """Language to use for speech recognition"""
114
15
 
115
16
  transcription_engine: Literal["B"]