telnyx 5.60.0 → 5.62.0

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 (171) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +10 -5
  5. data/lib/telnyx/errors.rb +0 -10
  6. data/lib/telnyx/lib/webhook_verification.rb +172 -0
  7. data/lib/telnyx/models/ai/assistants/{tag_delete_params.rb → tag_add_params.rb} +2 -2
  8. data/lib/telnyx/models/ai/assistants/{tag_delete_response.rb → tag_add_response.rb} +2 -2
  9. data/lib/telnyx/models/ai/assistants/{tag_create_params.rb → tag_remove_params.rb} +2 -2
  10. data/lib/telnyx/models/ai/assistants/{tag_create_response.rb → tag_remove_response.rb} +2 -2
  11. data/lib/telnyx/models/call_cost_webhook_event.rb +242 -0
  12. data/lib/telnyx/models/calls/action_start_noise_suppression_params.rb +135 -8
  13. data/lib/telnyx/models/text_to_speech_generate_params.rb +3 -3
  14. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +3 -1
  15. data/lib/telnyx/models/unwrap_webhook_event.rb +3 -1
  16. data/lib/telnyx/models/voice_clone_create_from_design_params.rb +27 -6
  17. data/lib/telnyx/models/voice_clone_create_from_upload_params.rb +23 -2
  18. data/lib/telnyx/models/voice_clone_create_params.rb +79 -0
  19. data/lib/telnyx/models/voice_clone_create_response.rb +19 -0
  20. data/lib/telnyx/models/voice_clone_data.rb +41 -1
  21. data/lib/telnyx/models/voice_clone_list_params.rb +22 -1
  22. data/lib/telnyx/models/voice_design_create_params.rb +24 -1
  23. data/lib/telnyx/models/voice_design_data.rb +45 -1
  24. data/lib/telnyx/models/voice_design_list_response.rb +32 -1
  25. data/lib/telnyx/models/{voice_design_update_params.rb → voice_design_rename_params.rb} +2 -2
  26. data/lib/telnyx/models/{voice_design_update_response.rb → voice_design_rename_response.rb} +42 -11
  27. data/lib/telnyx/models/whatsapp/business_accounts/{phone_number_create_verification_params.rb → phone_number_initialize_verification_params.rb} +5 -5
  28. data/lib/telnyx/models/whatsapp/template_create_params.rb +530 -0
  29. data/lib/telnyx/models/whatsapp/{message_template_create_response.rb → template_create_response.rb} +2 -2
  30. data/lib/telnyx/models/whatsapp/{message_template_list_params.rb → template_list_params.rb} +5 -5
  31. data/lib/telnyx/models/whatsapp_message_template_delete_params.rb +20 -0
  32. data/lib/telnyx/models/whatsapp_message_template_retrieve_params.rb +20 -0
  33. data/lib/telnyx/models/whatsapp_message_template_retrieve_response.rb +16 -0
  34. data/lib/telnyx/models/whatsapp_message_template_update_params.rb +504 -0
  35. data/lib/telnyx/models/whatsapp_message_template_update_response.rb +16 -0
  36. data/lib/telnyx/models/whatsapp_template_data.rb +10 -3
  37. data/lib/telnyx/models/x402/{credit_account_create_payment_quote_params.rb → credit_account_create_quote_params.rb} +2 -2
  38. data/lib/telnyx/models/x402/{credit_account_create_payment_quote_response.rb → credit_account_create_quote_response.rb} +31 -32
  39. data/lib/telnyx/models/x402/{credit_account_settle_payment_params.rb → credit_account_settle_params.rb} +3 -3
  40. data/lib/telnyx/models/x402/{credit_account_settle_payment_response.rb → credit_account_settle_response.rb} +14 -15
  41. data/lib/telnyx/models.rb +12 -4
  42. data/lib/telnyx/resources/ai/assistants/tags.rb +28 -28
  43. data/lib/telnyx/resources/calls/actions.rb +1 -1
  44. data/lib/telnyx/resources/voice_clones.rb +38 -31
  45. data/lib/telnyx/resources/voice_designs.rb +27 -25
  46. data/lib/telnyx/resources/webhooks.rb +10 -183
  47. data/lib/telnyx/resources/whatsapp/business_accounts/phone_numbers.rb +5 -5
  48. data/lib/telnyx/resources/whatsapp/phone_numbers/profile.rb +0 -4
  49. data/lib/telnyx/resources/whatsapp/templates.rb +91 -0
  50. data/lib/telnyx/resources/whatsapp.rb +3 -3
  51. data/lib/telnyx/resources/whatsapp_message_templates.rb +81 -0
  52. data/lib/telnyx/resources/x402/credit_account.rb +13 -13
  53. data/lib/telnyx/version.rb +1 -1
  54. data/lib/telnyx.rb +25 -24
  55. data/rbi/telnyx/client.rbi +8 -4
  56. data/rbi/telnyx/models/ai/assistants/{tag_create_params.rbi → tag_add_params.rbi} +2 -2
  57. data/rbi/telnyx/models/ai/assistants/{tag_delete_response.rbi → tag_add_response.rbi} +2 -2
  58. data/rbi/telnyx/models/ai/assistants/{tag_delete_params.rbi → tag_remove_params.rbi} +2 -2
  59. data/rbi/telnyx/models/ai/assistants/{tag_create_response.rbi → tag_remove_response.rbi} +2 -2
  60. data/rbi/telnyx/models/call_cost_webhook_event.rbi +485 -0
  61. data/rbi/telnyx/models/calls/action_start_noise_suppression_params.rbi +338 -12
  62. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +2 -1
  63. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +1 -0
  64. data/rbi/telnyx/models/unwrap_webhook_event.rbi +1 -0
  65. data/rbi/telnyx/models/voice_clone_create_from_design_params.rbi +51 -0
  66. data/rbi/telnyx/models/voice_clone_create_from_upload_params.rbi +67 -2
  67. data/rbi/telnyx/models/voice_clone_create_params.rbi +142 -0
  68. data/rbi/telnyx/models/voice_clone_create_response.rbi +36 -0
  69. data/rbi/telnyx/models/voice_clone_data.rbi +57 -0
  70. data/rbi/telnyx/models/voice_clone_list_params.rbi +62 -0
  71. data/rbi/telnyx/models/voice_design_create_params.rbi +60 -0
  72. data/rbi/telnyx/models/voice_design_data.rbi +59 -0
  73. data/rbi/telnyx/models/voice_design_list_response.rbi +73 -0
  74. data/rbi/telnyx/models/{voice_design_update_params.rbi → voice_design_rename_params.rbi} +2 -2
  75. data/rbi/telnyx/models/{voice_design_update_response.rbi → voice_design_rename_response.rbi} +90 -14
  76. data/rbi/telnyx/models/whatsapp/business_accounts/{phone_number_create_verification_params.rbi → phone_number_initialize_verification_params.rbi} +10 -10
  77. data/rbi/telnyx/models/whatsapp/template_create_params.rbi +1177 -0
  78. data/rbi/telnyx/models/whatsapp/{message_template_create_response.rbi → template_create_response.rbi} +2 -2
  79. data/rbi/telnyx/models/whatsapp/{message_template_list_params.rbi → template_list_params.rbi} +11 -11
  80. data/rbi/telnyx/models/whatsapp_message_template_delete_params.rbi +38 -0
  81. data/rbi/telnyx/models/whatsapp_message_template_retrieve_params.rbi +38 -0
  82. data/rbi/telnyx/models/whatsapp_message_template_retrieve_response.rbi +33 -0
  83. data/rbi/telnyx/models/whatsapp_message_template_update_params.rbi +1178 -0
  84. data/rbi/telnyx/models/whatsapp_message_template_update_response.rbi +33 -0
  85. data/rbi/telnyx/models/whatsapp_template_data.rbi +10 -2
  86. data/rbi/telnyx/models/x402/{credit_account_create_payment_quote_params.rbi → credit_account_create_quote_params.rbi} +2 -2
  87. data/rbi/telnyx/models/x402/{credit_account_create_payment_quote_response.rbi → credit_account_create_quote_response.rbi} +41 -42
  88. data/rbi/telnyx/models/x402/{credit_account_settle_payment_params.rbi → credit_account_settle_params.rbi} +2 -2
  89. data/rbi/telnyx/models/x402/{credit_account_settle_payment_response.rbi → credit_account_settle_response.rbi} +21 -26
  90. data/rbi/telnyx/models.rbi +29 -3
  91. data/rbi/telnyx/resources/ai/assistants/tags.rbi +13 -13
  92. data/rbi/telnyx/resources/calls/actions.rbi +4 -3
  93. data/rbi/telnyx/resources/voice_clones.rbi +36 -25
  94. data/rbi/telnyx/resources/voice_designs.rbi +21 -17
  95. data/rbi/telnyx/resources/webhooks.rbi +12 -2
  96. data/rbi/telnyx/resources/whatsapp/business_accounts/phone_numbers.rbi +2 -2
  97. data/rbi/telnyx/resources/whatsapp/phone_numbers/profile.rbi +0 -5
  98. data/rbi/telnyx/resources/whatsapp/templates.rbi +85 -0
  99. data/rbi/telnyx/resources/whatsapp.rbi +2 -2
  100. data/rbi/telnyx/resources/whatsapp_message_templates.rbi +67 -0
  101. data/rbi/telnyx/resources/x402/credit_account.rbi +4 -6
  102. data/sig/telnyx/client.rbs +4 -2
  103. data/sig/telnyx/models/ai/assistants/{tag_delete_params.rbs → tag_add_params.rbs} +2 -2
  104. data/sig/telnyx/models/ai/assistants/{tag_delete_response.rbs → tag_add_response.rbs} +2 -2
  105. data/sig/telnyx/models/ai/assistants/{tag_create_params.rbs → tag_remove_params.rbs} +2 -2
  106. data/sig/telnyx/models/ai/assistants/{tag_create_response.rbs → tag_remove_response.rbs} +2 -2
  107. data/sig/telnyx/models/call_cost_webhook_event.rbs +235 -0
  108. data/sig/telnyx/models/calls/action_start_noise_suppression_params.rbs +124 -4
  109. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +1 -0
  110. data/sig/telnyx/models/unwrap_webhook_event.rbs +1 -0
  111. data/sig/telnyx/models/voice_clone_create_from_design_params.rbs +23 -1
  112. data/sig/telnyx/models/voice_clone_create_from_upload_params.rbs +22 -0
  113. data/sig/telnyx/models/voice_clone_create_params.rbs +75 -0
  114. data/sig/telnyx/models/voice_clone_create_response.rbs +15 -0
  115. data/sig/telnyx/models/voice_clone_data.rbs +34 -0
  116. data/sig/telnyx/models/voice_clone_list_params.rbs +22 -0
  117. data/sig/telnyx/models/voice_design_create_params.rbs +22 -0
  118. data/sig/telnyx/models/voice_design_data.rbs +30 -0
  119. data/sig/telnyx/models/voice_design_list_response.rbs +25 -0
  120. data/sig/telnyx/models/{voice_design_update_params.rbs → voice_design_rename_params.rbs} +2 -2
  121. data/sig/telnyx/models/voice_design_rename_response.rbs +104 -0
  122. data/sig/telnyx/models/whatsapp/business_accounts/{phone_number_create_verification_params.rbs → phone_number_initialize_verification_params.rbs} +9 -9
  123. data/sig/telnyx/models/whatsapp/template_create_params.rbs +479 -0
  124. data/sig/telnyx/models/whatsapp/{message_template_update_response.rbs → template_create_response.rbs} +2 -3
  125. data/sig/telnyx/models/whatsapp/{message_template_list_params.rbs → template_list_params.rbs} +9 -9
  126. data/sig/telnyx/models/whatsapp_message_template_delete_params.rbs +20 -0
  127. data/sig/telnyx/models/whatsapp_message_template_retrieve_params.rbs +20 -0
  128. data/sig/telnyx/models/whatsapp_message_template_retrieve_response.rbs +16 -0
  129. data/sig/telnyx/models/whatsapp_message_template_update_params.rbs +473 -0
  130. data/sig/telnyx/models/whatsapp_message_template_update_response.rbs +16 -0
  131. data/sig/telnyx/models/x402/{credit_account_create_payment_quote_params.rbs → credit_account_create_quote_params.rbs} +2 -2
  132. data/sig/telnyx/models/x402/{credit_account_create_payment_quote_response.rbs → credit_account_create_quote_response.rbs} +46 -48
  133. data/sig/telnyx/models/x402/{credit_account_settle_payment_params.rbs → credit_account_settle_params.rbs} +2 -2
  134. data/sig/telnyx/models/x402/{credit_account_settle_payment_response.rbs → credit_account_settle_response.rbs} +22 -22
  135. data/sig/telnyx/models.rbs +12 -4
  136. data/sig/telnyx/resources/ai/assistants/tags.rbs +8 -8
  137. data/sig/telnyx/resources/voice_clones.rbs +11 -8
  138. data/sig/telnyx/resources/voice_designs.rbs +7 -6
  139. data/sig/telnyx/resources/webhooks.rbs +5 -1
  140. data/sig/telnyx/resources/whatsapp/business_accounts/phone_numbers.rbs +2 -2
  141. data/sig/telnyx/resources/whatsapp/phone_numbers/profile.rbs +0 -2
  142. data/sig/telnyx/resources/whatsapp/templates.rbs +28 -0
  143. data/sig/telnyx/resources/whatsapp.rbs +1 -1
  144. data/sig/telnyx/resources/whatsapp_message_templates.rbs +21 -0
  145. data/sig/telnyx/resources/x402/credit_account.rbs +4 -4
  146. metadata +75 -65
  147. data/lib/telnyx/models/whatsapp/message_template_create_params.rb +0 -58
  148. data/lib/telnyx/models/whatsapp/message_template_delete_params.rb +0 -22
  149. data/lib/telnyx/models/whatsapp/message_template_retrieve_params.rb +0 -22
  150. data/lib/telnyx/models/whatsapp/message_template_retrieve_response.rb +0 -18
  151. data/lib/telnyx/models/whatsapp/message_template_update_params.rb +0 -46
  152. data/lib/telnyx/models/whatsapp/message_template_update_response.rb +0 -18
  153. data/lib/telnyx/resources/whatsapp/message_templates.rb +0 -149
  154. data/lib/telnyx/resources/whatsapp/phone_numbers/profile/models.rb +0 -20
  155. data/rbi/telnyx/models/whatsapp/message_template_create_params.rbi +0 -115
  156. data/rbi/telnyx/models/whatsapp/message_template_delete_params.rbi +0 -40
  157. data/rbi/telnyx/models/whatsapp/message_template_retrieve_params.rbi +0 -40
  158. data/rbi/telnyx/models/whatsapp/message_template_retrieve_response.rbi +0 -35
  159. data/rbi/telnyx/models/whatsapp/message_template_update_params.rbi +0 -111
  160. data/rbi/telnyx/models/whatsapp/message_template_update_response.rbi +0 -35
  161. data/rbi/telnyx/resources/whatsapp/message_templates.rbi +0 -116
  162. data/rbi/telnyx/resources/whatsapp/phone_numbers/profile/models.rbi +0 -18
  163. data/sig/telnyx/models/voice_design_update_response.rbs +0 -79
  164. data/sig/telnyx/models/whatsapp/message_template_create_params.rbs +0 -60
  165. data/sig/telnyx/models/whatsapp/message_template_create_response.rbs +0 -20
  166. data/sig/telnyx/models/whatsapp/message_template_delete_params.rbs +0 -22
  167. data/sig/telnyx/models/whatsapp/message_template_retrieve_params.rbs +0 -22
  168. data/sig/telnyx/models/whatsapp/message_template_retrieve_response.rbs +0 -20
  169. data/sig/telnyx/models/whatsapp/message_template_update_params.rbs +0 -58
  170. data/sig/telnyx/resources/whatsapp/message_templates.rbs +0 -42
  171. data/sig/telnyx/resources/whatsapp/phone_numbers/profile/models.rbs +0 -13
@@ -53,8 +53,8 @@ module Telnyx
53
53
  attr_writer :direction
54
54
 
55
55
  # The engine to use for noise suppression. For backward compatibility, engines A,
56
- # B, and C are also supported, but are deprecated: A - Denoiser B - DeepFilterNet
57
- # C - Krisp
56
+ # B, C, and D are also supported, but are deprecated: A - Denoiser B -
57
+ # DeepFilterNet C - Krisp D - AiCoustics
58
58
  sig do
59
59
  returns(
60
60
  T.nilable(
@@ -72,7 +72,8 @@ module Telnyx
72
72
  end
73
73
  attr_writer :noise_suppression_engine
74
74
 
75
- # Configuration parameters for noise suppression engines.
75
+ # Configuration parameters for noise suppression engines. Different engines
76
+ # support different parameters.
76
77
  sig do
77
78
  returns(
78
79
  T.nilable(
@@ -115,10 +116,11 @@ module Telnyx
115
116
  # The direction of the audio stream to be noise suppressed.
116
117
  direction: nil,
117
118
  # The engine to use for noise suppression. For backward compatibility, engines A,
118
- # B, and C are also supported, but are deprecated: A - Denoiser B - DeepFilterNet
119
- # C - Krisp
119
+ # B, C, and D are also supported, but are deprecated: A - Denoiser B -
120
+ # DeepFilterNet C - Krisp D - AiCoustics
120
121
  noise_suppression_engine: nil,
121
- # Configuration parameters for noise suppression engines.
122
+ # Configuration parameters for noise suppression engines. Different engines
123
+ # support different parameters.
122
124
  noise_suppression_engine_config: nil,
123
125
  request_options: {}
124
126
  )
@@ -184,8 +186,8 @@ module Telnyx
184
186
  end
185
187
 
186
188
  # The engine to use for noise suppression. For backward compatibility, engines A,
187
- # B, and C are also supported, but are deprecated: A - Denoiser B - DeepFilterNet
188
- # C - Krisp
189
+ # B, C, and D are also supported, but are deprecated: A - Denoiser B -
190
+ # DeepFilterNet C - Krisp D - AiCoustics
189
191
  module NoiseSuppressionEngine
190
192
  extend Telnyx::Internal::Type::Enum
191
193
 
@@ -213,6 +215,11 @@ module Telnyx
213
215
  :Krisp,
214
216
  Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngine::TaggedSymbol
215
217
  )
218
+ AI_COUSTICS =
219
+ T.let(
220
+ :AiCoustics,
221
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngine::TaggedSymbol
222
+ )
216
223
 
217
224
  sig do
218
225
  override.returns(
@@ -242,18 +249,337 @@ module Telnyx
242
249
  sig { params(attenuation_limit: Integer).void }
243
250
  attr_writer :attenuation_limit
244
251
 
245
- # Configuration parameters for noise suppression engines.
246
- sig { params(attenuation_limit: Integer).returns(T.attached_class) }
252
+ # Enhancement intensity (0.0-1.0). Only applicable for AiCoustics.
253
+ sig { returns(T.nilable(Float)) }
254
+ attr_reader :enhancement_level
255
+
256
+ sig { params(enhancement_level: Float).void }
257
+ attr_writer :enhancement_level
258
+
259
+ # AiCoustics model family. 'sparrow' optimized for human-to-human calls, 'quail'
260
+ # optimized for Voice AI/STT. Only applicable for AiCoustics.
261
+ sig do
262
+ returns(
263
+ T.nilable(
264
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Family::OrSymbol
265
+ )
266
+ )
267
+ end
268
+ attr_reader :family
269
+
270
+ sig do
271
+ params(
272
+ family:
273
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Family::OrSymbol
274
+ ).void
275
+ end
276
+ attr_writer :family
277
+
278
+ # Processing mode. Only applicable for DeepFilterNet.
279
+ sig do
280
+ returns(
281
+ T.nilable(
282
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Mode::OrSymbol
283
+ )
284
+ )
285
+ end
286
+ attr_reader :mode
287
+
288
+ sig do
289
+ params(
290
+ mode:
291
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Mode::OrSymbol
292
+ ).void
293
+ end
294
+ attr_writer :mode
295
+
296
+ # The Krisp model to use. Only applicable for Krisp.
297
+ sig do
298
+ returns(
299
+ T.nilable(
300
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Model::OrSymbol
301
+ )
302
+ )
303
+ end
304
+ attr_reader :model
305
+
306
+ sig do
307
+ params(
308
+ model:
309
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Model::OrSymbol
310
+ ).void
311
+ end
312
+ attr_writer :model
313
+
314
+ # AiCoustics model size. 's' and 'l' work with both families. 'xs' and 'xxs' are
315
+ # sparrow-only. 'vf_l' and 'vf_1_1_l' are quail-only. Only applicable for
316
+ # AiCoustics.
317
+ sig do
318
+ returns(
319
+ T.nilable(
320
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::OrSymbol
321
+ )
322
+ )
323
+ end
324
+ attr_reader :size
325
+
326
+ sig do
327
+ params(
328
+ size:
329
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::OrSymbol
330
+ ).void
331
+ end
332
+ attr_writer :size
333
+
334
+ # Suppression level (0.0-100.0). Only applicable for Krisp.
335
+ sig { returns(T.nilable(Float)) }
336
+ attr_reader :suppression_level
337
+
338
+ sig { params(suppression_level: Float).void }
339
+ attr_writer :suppression_level
340
+
341
+ # Voice gain multiplier (0.1-4.0). Only applicable for AiCoustics.
342
+ sig { returns(T.nilable(Float)) }
343
+ attr_reader :voice_gain
344
+
345
+ sig { params(voice_gain: Float).void }
346
+ attr_writer :voice_gain
347
+
348
+ # Configuration parameters for noise suppression engines. Different engines
349
+ # support different parameters.
350
+ sig do
351
+ params(
352
+ attenuation_limit: Integer,
353
+ enhancement_level: Float,
354
+ family:
355
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Family::OrSymbol,
356
+ mode:
357
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Mode::OrSymbol,
358
+ model:
359
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Model::OrSymbol,
360
+ size:
361
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::OrSymbol,
362
+ suppression_level: Float,
363
+ voice_gain: Float
364
+ ).returns(T.attached_class)
365
+ end
247
366
  def self.new(
248
367
  # The attenuation limit for noise suppression (0-100). Only applicable for
249
368
  # DeepFilterNet.
250
- attenuation_limit: nil
369
+ attenuation_limit: nil,
370
+ # Enhancement intensity (0.0-1.0). Only applicable for AiCoustics.
371
+ enhancement_level: nil,
372
+ # AiCoustics model family. 'sparrow' optimized for human-to-human calls, 'quail'
373
+ # optimized for Voice AI/STT. Only applicable for AiCoustics.
374
+ family: nil,
375
+ # Processing mode. Only applicable for DeepFilterNet.
376
+ mode: nil,
377
+ # The Krisp model to use. Only applicable for Krisp.
378
+ model: nil,
379
+ # AiCoustics model size. 's' and 'l' work with both families. 'xs' and 'xxs' are
380
+ # sparrow-only. 'vf_l' and 'vf_1_1_l' are quail-only. Only applicable for
381
+ # AiCoustics.
382
+ size: nil,
383
+ # Suppression level (0.0-100.0). Only applicable for Krisp.
384
+ suppression_level: nil,
385
+ # Voice gain multiplier (0.1-4.0). Only applicable for AiCoustics.
386
+ voice_gain: nil
251
387
  )
252
388
  end
253
389
 
254
- sig { override.returns({ attenuation_limit: Integer }) }
390
+ sig do
391
+ override.returns(
392
+ {
393
+ attenuation_limit: Integer,
394
+ enhancement_level: Float,
395
+ family:
396
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Family::OrSymbol,
397
+ mode:
398
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Mode::OrSymbol,
399
+ model:
400
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Model::OrSymbol,
401
+ size:
402
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::OrSymbol,
403
+ suppression_level: Float,
404
+ voice_gain: Float
405
+ }
406
+ )
407
+ end
255
408
  def to_hash
256
409
  end
410
+
411
+ # AiCoustics model family. 'sparrow' optimized for human-to-human calls, 'quail'
412
+ # optimized for Voice AI/STT. Only applicable for AiCoustics.
413
+ module Family
414
+ extend Telnyx::Internal::Type::Enum
415
+
416
+ TaggedSymbol =
417
+ T.type_alias do
418
+ T.all(
419
+ Symbol,
420
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Family
421
+ )
422
+ end
423
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
424
+
425
+ SPARROW =
426
+ T.let(
427
+ :sparrow,
428
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Family::TaggedSymbol
429
+ )
430
+ QUAIL =
431
+ T.let(
432
+ :quail,
433
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Family::TaggedSymbol
434
+ )
435
+
436
+ sig do
437
+ override.returns(
438
+ T::Array[
439
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Family::TaggedSymbol
440
+ ]
441
+ )
442
+ end
443
+ def self.values
444
+ end
445
+ end
446
+
447
+ # Processing mode. Only applicable for DeepFilterNet.
448
+ module Mode
449
+ extend Telnyx::Internal::Type::Enum
450
+
451
+ TaggedSymbol =
452
+ T.type_alias do
453
+ T.all(
454
+ Symbol,
455
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Mode
456
+ )
457
+ end
458
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
459
+
460
+ STANDARD =
461
+ T.let(
462
+ :standard,
463
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Mode::TaggedSymbol
464
+ )
465
+ ADVANCED =
466
+ T.let(
467
+ :advanced,
468
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Mode::TaggedSymbol
469
+ )
470
+
471
+ sig do
472
+ override.returns(
473
+ T::Array[
474
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Mode::TaggedSymbol
475
+ ]
476
+ )
477
+ end
478
+ def self.values
479
+ end
480
+ end
481
+
482
+ # The Krisp model to use. Only applicable for Krisp.
483
+ module Model
484
+ extend Telnyx::Internal::Type::Enum
485
+
486
+ TaggedSymbol =
487
+ T.type_alias do
488
+ T.all(
489
+ Symbol,
490
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Model
491
+ )
492
+ end
493
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
494
+
495
+ KRISP_VIVA_TEL_V2_KEF =
496
+ T.let(
497
+ :"krisp-viva-tel-v2.kef",
498
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Model::TaggedSymbol
499
+ )
500
+ KRISP_VIVA_TEL_LITE_V1_KEF =
501
+ T.let(
502
+ :"krisp-viva-tel-lite-v1.kef",
503
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Model::TaggedSymbol
504
+ )
505
+ KRISP_VIVA_PRO_V1_KEF =
506
+ T.let(
507
+ :"krisp-viva-pro-v1.kef",
508
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Model::TaggedSymbol
509
+ )
510
+ KRISP_VIVA_SS_V1_KEF =
511
+ T.let(
512
+ :"krisp-viva-ss-v1.kef",
513
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Model::TaggedSymbol
514
+ )
515
+
516
+ sig do
517
+ override.returns(
518
+ T::Array[
519
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Model::TaggedSymbol
520
+ ]
521
+ )
522
+ end
523
+ def self.values
524
+ end
525
+ end
526
+
527
+ # AiCoustics model size. 's' and 'l' work with both families. 'xs' and 'xxs' are
528
+ # sparrow-only. 'vf_l' and 'vf_1_1_l' are quail-only. Only applicable for
529
+ # AiCoustics.
530
+ module Size
531
+ extend Telnyx::Internal::Type::Enum
532
+
533
+ TaggedSymbol =
534
+ T.type_alias do
535
+ T.all(
536
+ Symbol,
537
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size
538
+ )
539
+ end
540
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
541
+
542
+ S =
543
+ T.let(
544
+ :s,
545
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::TaggedSymbol
546
+ )
547
+ L =
548
+ T.let(
549
+ :l,
550
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::TaggedSymbol
551
+ )
552
+ XS =
553
+ T.let(
554
+ :xs,
555
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::TaggedSymbol
556
+ )
557
+ XXS =
558
+ T.let(
559
+ :xxs,
560
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::TaggedSymbol
561
+ )
562
+ VF_L =
563
+ T.let(
564
+ :vf_l,
565
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::TaggedSymbol
566
+ )
567
+ VF_1_1_L =
568
+ T.let(
569
+ :vf_1_1_l,
570
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::TaggedSymbol
571
+ )
572
+
573
+ sig do
574
+ override.returns(
575
+ T::Array[
576
+ Telnyx::Calls::ActionStartNoiseSuppressionParams::NoiseSuppressionEngineConfig::Size::TaggedSymbol
577
+ ]
578
+ )
579
+ end
580
+ def self.values
581
+ end
582
+ end
257
583
  end
258
584
  end
259
585
  end
@@ -185,7 +185,8 @@ module Telnyx
185
185
  elevenlabs: ::Telnyx::TextToSpeechGenerateParams::Elevenlabs::OrHash,
186
186
  language: String,
187
187
  minimax: ::Telnyx::TextToSpeechGenerateParams::Minimax::OrHash,
188
- output_type: ::Telnyx::TextToSpeechGenerateParams::OutputType::OrSymbol,
188
+ output_type:
189
+ ::Telnyx::TextToSpeechGenerateParams::OutputType::OrSymbol,
189
190
  provider: ::Telnyx::TextToSpeechGenerateParams::Provider::OrSymbol,
190
191
  resemble: ::Telnyx::TextToSpeechGenerateParams::Resemble::OrHash,
191
192
  rime: ::Telnyx::TextToSpeechGenerateParams::Rime::OrHash,
@@ -15,6 +15,7 @@ module Telnyx
15
15
  Telnyx::CallBridgedWebhookEvent,
16
16
  Telnyx::CallConversationEndedWebhookEvent,
17
17
  Telnyx::CallConversationInsightsGeneratedWebhookEvent,
18
+ Telnyx::CallCostWebhookEvent,
18
19
  Telnyx::CallDtmfReceivedWebhookEvent,
19
20
  Telnyx::CallEnqueuedWebhookEvent,
20
21
  Telnyx::CallForkStartedWebhookEvent,
@@ -15,6 +15,7 @@ module Telnyx
15
15
  Telnyx::CallBridgedWebhookEvent,
16
16
  Telnyx::CallConversationEndedWebhookEvent,
17
17
  Telnyx::CallConversationInsightsGeneratedWebhookEvent,
18
+ Telnyx::CallCostWebhookEvent,
18
19
  Telnyx::CallDtmfReceivedWebhookEvent,
19
20
  Telnyx::CallEnqueuedWebhookEvent,
20
21
  Telnyx::CallForkStartedWebhookEvent,
@@ -32,12 +32,26 @@ module Telnyx
32
32
  sig { returns(String) }
33
33
  attr_accessor :voice_design_id
34
34
 
35
+ # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
36
+ sig do
37
+ returns(T.nilable(Telnyx::VoiceCloneCreateParams::Provider::OrSymbol))
38
+ end
39
+ attr_reader :provider
40
+
41
+ sig do
42
+ params(
43
+ provider: Telnyx::VoiceCloneCreateParams::Provider::OrSymbol
44
+ ).void
45
+ end
46
+ attr_writer :provider
47
+
35
48
  sig do
36
49
  params(
37
50
  gender: Telnyx::VoiceCloneCreateFromDesignParams::Gender::OrSymbol,
38
51
  language: String,
39
52
  name: String,
40
53
  voice_design_id: String,
54
+ provider: Telnyx::VoiceCloneCreateParams::Provider::OrSymbol,
41
55
  request_options: Telnyx::RequestOptions::OrHash
42
56
  ).returns(T.attached_class)
43
57
  end
@@ -50,6 +64,8 @@ module Telnyx
50
64
  name:,
51
65
  # UUID of the source voice design to clone.
52
66
  voice_design_id:,
67
+ # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
68
+ provider: nil,
53
69
  request_options: {}
54
70
  )
55
71
  end
@@ -61,6 +77,7 @@ module Telnyx
61
77
  language: String,
62
78
  name: String,
63
79
  voice_design_id: String,
80
+ provider: Telnyx::VoiceCloneCreateParams::Provider::OrSymbol,
64
81
  request_options: Telnyx::RequestOptions
65
82
  }
66
83
  )
@@ -104,6 +121,40 @@ module Telnyx
104
121
  def self.values
105
122
  end
106
123
  end
124
+
125
+ # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
126
+ module Provider
127
+ extend Telnyx::Internal::Type::Enum
128
+
129
+ TaggedSymbol =
130
+ T.type_alias do
131
+ T.all(Symbol, Telnyx::VoiceCloneCreateParams::Provider)
132
+ end
133
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
134
+
135
+ TELNYX =
136
+ T.let(:telnyx, Telnyx::VoiceCloneCreateParams::Provider::TaggedSymbol)
137
+ TELNYX_2 =
138
+ T.let(:Telnyx, Telnyx::VoiceCloneCreateParams::Provider::TaggedSymbol)
139
+ MINIMAX =
140
+ T.let(
141
+ :minimax,
142
+ Telnyx::VoiceCloneCreateParams::Provider::TaggedSymbol
143
+ )
144
+ MINIMAX_2 =
145
+ T.let(
146
+ :Minimax,
147
+ Telnyx::VoiceCloneCreateParams::Provider::TaggedSymbol
148
+ )
149
+
150
+ sig do
151
+ override.returns(
152
+ T::Array[Telnyx::VoiceCloneCreateParams::Provider::TaggedSymbol]
153
+ )
154
+ end
155
+ def self.values
156
+ end
157
+ end
107
158
  end
108
159
  end
109
160
  end
@@ -16,7 +16,7 @@ module Telnyx
16
16
 
17
17
  # Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
18
18
  # For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
19
- # size: 2MB.
19
+ # size: 5MB for Telnyx, 20MB for Minimax.
20
20
  sig { returns(Telnyx::Internal::FileInput) }
21
21
  attr_accessor :audio_file
22
22
 
@@ -51,6 +51,23 @@ module Telnyx
51
51
  sig { params(label: String).void }
52
52
  attr_writer :label
53
53
 
54
+ # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
55
+ sig do
56
+ returns(
57
+ T.nilable(
58
+ Telnyx::VoiceCloneCreateFromUploadParams::Provider::OrSymbol
59
+ )
60
+ )
61
+ end
62
+ attr_reader :provider
63
+
64
+ sig do
65
+ params(
66
+ provider: Telnyx::VoiceCloneCreateFromUploadParams::Provider::OrSymbol
67
+ ).void
68
+ end
69
+ attr_writer :provider
70
+
54
71
  # Optional transcript of the audio file. Providing this improves clone quality.
55
72
  sig { returns(T.nilable(String)) }
56
73
  attr_reader :ref_text
@@ -65,6 +82,8 @@ module Telnyx
65
82
  name: String,
66
83
  gender: Telnyx::VoiceCloneCreateFromUploadParams::Gender::OrSymbol,
67
84
  label: String,
85
+ provider:
86
+ Telnyx::VoiceCloneCreateFromUploadParams::Provider::OrSymbol,
68
87
  ref_text: String,
69
88
  request_options: Telnyx::RequestOptions::OrHash
70
89
  ).returns(T.attached_class)
@@ -72,7 +91,7 @@ module Telnyx
72
91
  def self.new(
73
92
  # Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
74
93
  # For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
75
- # size: 2MB.
94
+ # size: 5MB for Telnyx, 20MB for Minimax.
76
95
  audio_file:,
77
96
  # ISO 639-1 language code (e.g. `en`, `fr`) or `auto` for automatic detection.
78
97
  language:,
@@ -83,6 +102,8 @@ module Telnyx
83
102
  # Optional custom label describing the voice style. If omitted, falls back to the
84
103
  # source design's prompt text.
85
104
  label: nil,
105
+ # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
106
+ provider: nil,
86
107
  # Optional transcript of the audio file. Providing this improves clone quality.
87
108
  ref_text: nil,
88
109
  request_options: {}
@@ -97,6 +118,8 @@ module Telnyx
97
118
  name: String,
98
119
  gender: Telnyx::VoiceCloneCreateFromUploadParams::Gender::OrSymbol,
99
120
  label: String,
121
+ provider:
122
+ Telnyx::VoiceCloneCreateFromUploadParams::Provider::OrSymbol,
100
123
  ref_text: String,
101
124
  request_options: Telnyx::RequestOptions
102
125
  }
@@ -141,6 +164,48 @@ module Telnyx
141
164
  def self.values
142
165
  end
143
166
  end
167
+
168
+ # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
169
+ module Provider
170
+ extend Telnyx::Internal::Type::Enum
171
+
172
+ TaggedSymbol =
173
+ T.type_alias do
174
+ T.all(Symbol, Telnyx::VoiceCloneCreateFromUploadParams::Provider)
175
+ end
176
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
177
+
178
+ TELNYX =
179
+ T.let(
180
+ :telnyx,
181
+ Telnyx::VoiceCloneCreateFromUploadParams::Provider::TaggedSymbol
182
+ )
183
+ TELNYX_2 =
184
+ T.let(
185
+ :Telnyx,
186
+ Telnyx::VoiceCloneCreateFromUploadParams::Provider::TaggedSymbol
187
+ )
188
+ MINIMAX =
189
+ T.let(
190
+ :minimax,
191
+ Telnyx::VoiceCloneCreateFromUploadParams::Provider::TaggedSymbol
192
+ )
193
+ MINIMAX_2 =
194
+ T.let(
195
+ :Minimax,
196
+ Telnyx::VoiceCloneCreateFromUploadParams::Provider::TaggedSymbol
197
+ )
198
+
199
+ sig do
200
+ override.returns(
201
+ T::Array[
202
+ Telnyx::VoiceCloneCreateFromUploadParams::Provider::TaggedSymbol
203
+ ]
204
+ )
205
+ end
206
+ def self.values
207
+ end
208
+ end
144
209
  end
145
210
  end
146
211
  end