telnyx 5.68.2 → 5.70.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 (189) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +7 -0
  5. data/lib/telnyx/internal/util.rb +21 -5
  6. data/lib/telnyx/models/ai/assistant_create_params.rb +8 -1
  7. data/lib/telnyx/models/ai/assistant_tool.rb +25 -5
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +8 -1
  9. data/lib/telnyx/models/ai/assistants/update_assistant.rb +8 -1
  10. data/lib/telnyx/models/ai/audio_transcribe_response.rb +70 -7
  11. data/lib/telnyx/models/ai/conversation_add_message_params.rb +4 -4
  12. data/lib/telnyx/models/ai/inference_embedding.rb +8 -1
  13. data/lib/telnyx/models/ai/observability.rb +46 -0
  14. data/lib/telnyx/models/ai/observability_req.rb +46 -0
  15. data/lib/telnyx/models/ai/telephony_settings.rb +13 -1
  16. data/lib/telnyx/models/call_dial_params.rb +24 -1
  17. data/lib/telnyx/models/calls/action_transfer_params.rb +24 -1
  18. data/lib/telnyx/models/enterprise_create_params.rb +1 -1
  19. data/lib/telnyx/models/enterprise_public.rb +1 -1
  20. data/lib/telnyx/models/enterprise_update_params.rb +1 -1
  21. data/lib/telnyx/models/enterprises/reputation/{number_create_params.rb → number_associate_params.rb} +2 -2
  22. data/lib/telnyx/models/enterprises/reputation/{number_create_response.rb → number_associate_response.rb} +5 -5
  23. data/lib/telnyx/models/enterprises/reputation/{number_delete_params.rb → number_disassociate_params.rb} +2 -2
  24. data/lib/telnyx/models/enterprises/{reputation_list_params.rb → reputation_disable_params.rb} +2 -2
  25. data/lib/telnyx/models/enterprises/{reputation_create_params.rb → reputation_enable_params.rb} +6 -6
  26. data/lib/telnyx/models/enterprises/{reputation_create_response.rb → reputation_enable_response.rb} +2 -2
  27. data/lib/telnyx/models/enterprises/{reputation_delete_all_params.rb → reputation_retrieve_params.rb} +2 -2
  28. data/lib/telnyx/models/enterprises/{reputation_list_response.rb → reputation_retrieve_response.rb} +2 -2
  29. data/lib/telnyx/models/porting_orders/phone_number_block_list_params.rb +9 -9
  30. data/lib/telnyx/models/pronunciation_dict_create_params.rb +141 -0
  31. data/lib/telnyx/models/pronunciation_dict_create_response.rb +207 -0
  32. data/lib/telnyx/models/pronunciation_dict_delete_params.rb +20 -0
  33. data/lib/telnyx/models/pronunciation_dict_list_params.rb +30 -0
  34. data/lib/telnyx/models/pronunciation_dict_list_response.rb +190 -0
  35. data/lib/telnyx/models/pronunciation_dict_retrieve_params.rb +20 -0
  36. data/lib/telnyx/models/pronunciation_dict_retrieve_response.rb +207 -0
  37. data/lib/telnyx/models/pronunciation_dict_update_params.rb +144 -0
  38. data/lib/telnyx/models/pronunciation_dict_update_response.rb +207 -0
  39. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +1893 -547
  40. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +514 -0
  41. data/lib/telnyx/models/texml_initiate_ai_call_response.rb +34 -0
  42. data/lib/telnyx/models/verification.rb +1 -0
  43. data/lib/telnyx/models/verification_trigger_whatsapp_verification_params.rb +46 -0
  44. data/lib/telnyx/models/verify_profile_create_params.rb +43 -1
  45. data/lib/telnyx/models/verify_profile_update_params.rb +43 -1
  46. data/lib/telnyx/models/voice_clone_create_from_upload_params.rb +364 -71
  47. data/lib/telnyx/models/voice_clone_create_params.rb +161 -51
  48. data/lib/telnyx/models/voice_clone_data.rb +51 -4
  49. data/lib/telnyx/models/whatsapp_message_content.rb +196 -1
  50. data/lib/telnyx/models/wireless_blocklist_update_params.rb +8 -21
  51. data/lib/telnyx/models.rb +15 -0
  52. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -1
  53. data/lib/telnyx/resources/ai/assistants.rb +6 -2
  54. data/lib/telnyx/resources/calls/actions.rb +3 -1
  55. data/lib/telnyx/resources/calls.rb +3 -1
  56. data/lib/telnyx/resources/enterprises/reputation/numbers.rb +42 -42
  57. data/lib/telnyx/resources/enterprises/reputation.rb +61 -61
  58. data/lib/telnyx/resources/pronunciation_dicts.rb +156 -0
  59. data/lib/telnyx/resources/texml/accounts/calls.rb +3 -84
  60. data/lib/telnyx/resources/texml.rb +106 -0
  61. data/lib/telnyx/resources/verifications.rb +28 -0
  62. data/lib/telnyx/resources/verify_profiles.rb +5 -2
  63. data/lib/telnyx/resources/voice_clones.rb +7 -27
  64. data/lib/telnyx/resources/wireless_blocklists.rb +5 -5
  65. data/lib/telnyx/version.rb +1 -1
  66. data/lib/telnyx.rb +23 -8
  67. data/rbi/telnyx/client.rbi +6 -0
  68. data/rbi/telnyx/internal/util.rbi +8 -0
  69. data/rbi/telnyx/models/ai/assistant_create_params.rbi +13 -0
  70. data/rbi/telnyx/models/ai/assistant_tool.rbi +56 -5
  71. data/rbi/telnyx/models/ai/assistant_update_params.rbi +13 -0
  72. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +13 -0
  73. data/rbi/telnyx/models/ai/audio_transcribe_response.rbi +123 -10
  74. data/rbi/telnyx/models/ai/conversation_add_message_params.rbi +5 -5
  75. data/rbi/telnyx/models/ai/inference_embedding.rbi +11 -0
  76. data/rbi/telnyx/models/ai/observability.rbi +90 -0
  77. data/rbi/telnyx/models/ai/observability_req.rbi +92 -0
  78. data/rbi/telnyx/models/ai/telephony_settings.rbi +13 -0
  79. data/rbi/telnyx/models/call_dial_params.rbi +37 -0
  80. data/rbi/telnyx/models/calls/action_transfer_params.rbi +57 -0
  81. data/rbi/telnyx/models/enterprise_create_params.rbi +1 -1
  82. data/rbi/telnyx/models/enterprise_public.rbi +1 -1
  83. data/rbi/telnyx/models/enterprise_update_params.rbi +1 -1
  84. data/rbi/telnyx/models/enterprises/reputation/{number_create_params.rbi → number_associate_params.rbi} +2 -2
  85. data/rbi/telnyx/models/enterprises/reputation/{number_create_response.rbi → number_associate_response.rbi} +7 -7
  86. data/rbi/telnyx/models/enterprises/reputation/{number_delete_params.rbi → number_disassociate_params.rbi} +2 -2
  87. data/rbi/telnyx/models/enterprises/{reputation_list_params.rbi → reputation_disable_params.rbi} +2 -2
  88. data/rbi/telnyx/models/enterprises/{reputation_create_params.rbi → reputation_enable_params.rbi} +14 -14
  89. data/rbi/telnyx/models/enterprises/{reputation_create_response.rbi → reputation_enable_response.rbi} +2 -2
  90. data/rbi/telnyx/models/enterprises/{reputation_delete_all_params.rbi → reputation_retrieve_params.rbi} +2 -2
  91. data/rbi/telnyx/models/enterprises/{reputation_list_response.rbi → reputation_retrieve_response.rbi} +2 -2
  92. data/rbi/telnyx/models/porting_orders/phone_number_block_list_params.rbi +34 -34
  93. data/rbi/telnyx/models/pronunciation_dict_create_params.rbi +246 -0
  94. data/rbi/telnyx/models/pronunciation_dict_create_response.rbi +398 -0
  95. data/rbi/telnyx/models/pronunciation_dict_delete_params.rbi +38 -0
  96. data/rbi/telnyx/models/pronunciation_dict_list_params.rbi +57 -0
  97. data/rbi/telnyx/models/pronunciation_dict_list_response.rbi +353 -0
  98. data/rbi/telnyx/models/pronunciation_dict_retrieve_params.rbi +38 -0
  99. data/rbi/telnyx/models/pronunciation_dict_retrieve_response.rbi +398 -0
  100. data/rbi/telnyx/models/pronunciation_dict_update_params.rbi +268 -0
  101. data/rbi/telnyx/models/pronunciation_dict_update_response.rbi +398 -0
  102. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +3719 -1011
  103. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +1010 -0
  104. data/rbi/telnyx/models/texml_initiate_ai_call_response.rbi +58 -0
  105. data/rbi/telnyx/models/verification.rbi +1 -0
  106. data/rbi/telnyx/models/verification_trigger_whatsapp_verification_params.rbi +73 -0
  107. data/rbi/telnyx/models/verify_profile_create_params.rbi +85 -0
  108. data/rbi/telnyx/models/verify_profile_update_params.rbi +85 -0
  109. data/rbi/telnyx/models/voice_clone_create_from_upload_params.rbi +711 -136
  110. data/rbi/telnyx/models/voice_clone_create_params.rbi +345 -79
  111. data/rbi/telnyx/models/voice_clone_data.rbi +77 -4
  112. data/rbi/telnyx/models/whatsapp_message_content.rbi +492 -0
  113. data/rbi/telnyx/models/wireless_blocklist_update_params.rbi +6 -49
  114. data/rbi/telnyx/models.rbi +19 -10
  115. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -0
  116. data/rbi/telnyx/resources/ai/assistants.rbi +4 -0
  117. data/rbi/telnyx/resources/calls/actions.rbi +5 -0
  118. data/rbi/telnyx/resources/calls.rbi +5 -0
  119. data/rbi/telnyx/resources/enterprises/reputation/numbers.rbi +34 -34
  120. data/rbi/telnyx/resources/enterprises/reputation.rbi +44 -44
  121. data/rbi/telnyx/resources/pronunciation_dicts.rbi +131 -0
  122. data/rbi/telnyx/resources/texml/accounts/calls.rbi +7 -163
  123. data/rbi/telnyx/resources/texml.rbi +164 -0
  124. data/rbi/telnyx/resources/verifications.rbi +23 -0
  125. data/rbi/telnyx/resources/verify_profiles.rbi +4 -0
  126. data/rbi/telnyx/resources/voice_clones.rbi +17 -41
  127. data/rbi/telnyx/resources/wireless_blocklists.rbi +3 -3
  128. data/sig/telnyx/client.rbs +2 -0
  129. data/sig/telnyx/internal/util.rbs +4 -0
  130. data/sig/telnyx/models/ai/assistant_create_params.rbs +9 -0
  131. data/sig/telnyx/models/ai/assistant_tool.rbs +17 -4
  132. data/sig/telnyx/models/ai/assistant_update_params.rbs +9 -0
  133. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +9 -0
  134. data/sig/telnyx/models/ai/audio_transcribe_response.rbs +53 -3
  135. data/sig/telnyx/models/ai/conversation_add_message_params.rbs +5 -5
  136. data/sig/telnyx/models/ai/inference_embedding.rbs +9 -0
  137. data/sig/telnyx/models/ai/observability.rbs +58 -0
  138. data/sig/telnyx/models/ai/observability_req.rbs +58 -0
  139. data/sig/telnyx/models/ai/telephony_settings.rbs +7 -0
  140. data/sig/telnyx/models/call_dial_params.rbs +20 -0
  141. data/sig/telnyx/models/calls/action_transfer_params.rbs +20 -0
  142. data/sig/telnyx/models/enterprise_create_params.rbs +1 -1
  143. data/sig/telnyx/models/enterprise_public.rbs +1 -1
  144. data/sig/telnyx/models/enterprise_update_params.rbs +1 -1
  145. data/sig/telnyx/models/enterprises/reputation/{number_create_params.rbs → number_associate_params.rbs} +2 -2
  146. data/sig/telnyx/models/enterprises/reputation/{number_create_response.rbs → number_associate_response.rbs} +8 -8
  147. data/sig/telnyx/models/enterprises/reputation/{number_delete_params.rbs → number_disassociate_params.rbs} +2 -2
  148. data/sig/telnyx/models/enterprises/{reputation_list_params.rbs → reputation_disable_params.rbs} +2 -2
  149. data/sig/telnyx/models/enterprises/{reputation_create_params.rbs → reputation_enable_params.rbs} +9 -9
  150. data/sig/telnyx/models/enterprises/{reputation_create_response.rbs → reputation_enable_response.rbs} +2 -2
  151. data/sig/telnyx/models/enterprises/{reputation_delete_all_params.rbs → reputation_retrieve_params.rbs} +2 -2
  152. data/sig/telnyx/models/enterprises/{reputation_list_response.rbs → reputation_retrieve_response.rbs} +2 -2
  153. data/sig/telnyx/models/porting_orders/phone_number_block_list_params.rbs +9 -9
  154. data/sig/telnyx/models/pronunciation_dict_create_params.rbs +97 -0
  155. data/sig/telnyx/models/pronunciation_dict_create_response.rbs +167 -0
  156. data/sig/telnyx/models/pronunciation_dict_delete_params.rbs +20 -0
  157. data/sig/telnyx/models/pronunciation_dict_list_params.rbs +32 -0
  158. data/sig/telnyx/models/pronunciation_dict_list_response.rbs +144 -0
  159. data/sig/telnyx/models/pronunciation_dict_retrieve_params.rbs +20 -0
  160. data/sig/telnyx/models/pronunciation_dict_retrieve_response.rbs +167 -0
  161. data/sig/telnyx/models/pronunciation_dict_update_params.rbs +108 -0
  162. data/sig/telnyx/models/pronunciation_dict_update_response.rbs +167 -0
  163. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +1368 -331
  164. data/sig/telnyx/models/texml_initiate_ai_call_params.rbs +444 -0
  165. data/sig/telnyx/models/texml_initiate_ai_call_response.rbs +38 -0
  166. data/sig/telnyx/models/verification.rbs +2 -1
  167. data/sig/telnyx/models/verification_trigger_whatsapp_verification_params.rbs +43 -0
  168. data/sig/telnyx/models/verify_profile_create_params.rbs +43 -1
  169. data/sig/telnyx/models/verify_profile_update_params.rbs +43 -1
  170. data/sig/telnyx/models/voice_clone_create_from_upload_params.rbs +269 -58
  171. data/sig/telnyx/models/voice_clone_create_params.rbs +129 -44
  172. data/sig/telnyx/models/voice_clone_data.rbs +43 -0
  173. data/sig/telnyx/models/whatsapp_message_content.rbs +205 -0
  174. data/sig/telnyx/models/wireless_blocklist_update_params.rbs +5 -25
  175. data/sig/telnyx/models.rbs +14 -0
  176. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  177. data/sig/telnyx/resources/ai/assistants.rbs +2 -0
  178. data/sig/telnyx/resources/calls/actions.rbs +1 -0
  179. data/sig/telnyx/resources/calls.rbs +1 -0
  180. data/sig/telnyx/resources/enterprises/reputation/numbers.rbs +7 -7
  181. data/sig/telnyx/resources/enterprises/reputation.rbs +8 -8
  182. data/sig/telnyx/resources/pronunciation_dicts.rbs +33 -0
  183. data/sig/telnyx/resources/texml/accounts/calls.rbs +1 -40
  184. data/sig/telnyx/resources/texml.rbs +44 -0
  185. data/sig/telnyx/resources/verifications.rbs +8 -0
  186. data/sig/telnyx/resources/verify_profiles.rbs +2 -0
  187. data/sig/telnyx/resources/voice_clones.rbs +2 -12
  188. data/sig/telnyx/resources/wireless_blocklists.rbs +1 -1
  189. metadata +71 -26
@@ -52,7 +52,12 @@ module Telnyx
52
52
  # @return [String, nil]
53
53
  optional :webhook_url, String
54
54
 
55
- # @!method initialize(verify_profile_id:, call: nil, flashcall: nil, language: nil, name: nil, rcs: nil, sms: nil, webhook_failover_url: nil, webhook_url: nil, request_options: {})
55
+ # @!attribute whatsapp
56
+ #
57
+ # @return [Telnyx::Models::VerifyProfileUpdateParams::Whatsapp, nil]
58
+ optional :whatsapp, -> { Telnyx::VerifyProfileUpdateParams::Whatsapp }
59
+
60
+ # @!method initialize(verify_profile_id:, call: nil, flashcall: nil, language: nil, name: nil, rcs: nil, sms: nil, webhook_failover_url: nil, webhook_url: nil, whatsapp: nil, request_options: {})
56
61
  # @param verify_profile_id [String]
57
62
  # @param call [Telnyx::Models::VerifyProfileUpdateParams::Call]
58
63
  # @param flashcall [Telnyx::Models::VerifyProfileUpdateParams::Flashcall]
@@ -62,6 +67,7 @@ module Telnyx
62
67
  # @param sms [Telnyx::Models::VerifyProfileUpdateParams::SMS]
63
68
  # @param webhook_failover_url [String]
64
69
  # @param webhook_url [String]
70
+ # @param whatsapp [Telnyx::Models::VerifyProfileUpdateParams::Whatsapp]
65
71
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
66
72
 
67
73
  class Call < Telnyx::Internal::Type::BaseModel
@@ -272,6 +278,42 @@ module Telnyx
272
278
  #
273
279
  # @param whitelisted_destinations [Array<String>] Enabled country destinations to send verification codes. The elements in the lis
274
280
  end
281
+
282
+ class Whatsapp < Telnyx::Internal::Type::BaseModel
283
+ # @!attribute app_name
284
+ # The name that identifies the application requesting 2fa in the verification
285
+ # message.
286
+ #
287
+ # @return [String, nil]
288
+ optional :app_name, String
289
+
290
+ # @!attribute default_verification_timeout_secs
291
+ # For every request that is initiated via this Verify profile, this sets the
292
+ # number of seconds before a verification request code expires. Once the
293
+ # verification request expires, the user cannot use the code to verify their
294
+ # identity.
295
+ #
296
+ # @return [Integer, nil]
297
+ optional :default_verification_timeout_secs, Integer
298
+
299
+ # @!attribute whitelisted_destinations
300
+ # Enabled country destinations to send verification codes. The elements in the
301
+ # list must be valid ISO 3166-1 alpha-2 country codes. If set to `["*"]`, all
302
+ # destinations will be allowed.
303
+ #
304
+ # @return [Array<String>, nil]
305
+ optional :whitelisted_destinations, Telnyx::Internal::Type::ArrayOf[String]
306
+
307
+ # @!method initialize(app_name: nil, default_verification_timeout_secs: nil, whitelisted_destinations: nil)
308
+ # Some parameter documentations has been truncated, see
309
+ # {Telnyx::Models::VerifyProfileUpdateParams::Whatsapp} for more details.
310
+ #
311
+ # @param app_name [String] The name that identifies the application requesting 2fa in the verification mess
312
+ #
313
+ # @param default_verification_timeout_secs [Integer] For every request that is initiated via this Verify profile, this sets the numbe
314
+ #
315
+ # @param whitelisted_destinations [Array<String>] Enabled country destinations to send verification codes. The elements in the lis
316
+ end
275
317
  end
276
318
  end
277
319
  end
@@ -7,92 +7,385 @@ module Telnyx
7
7
  extend Telnyx::Internal::Type::RequestParameters::Converter
8
8
  include Telnyx::Internal::Type::RequestParameters
9
9
 
10
- # @!attribute audio_file
11
- # Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
12
- # For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
13
- # size: 5MB for Telnyx, 20MB for Minimax.
10
+ # @!attribute body
11
+ # Multipart form data for creating a voice clone from a direct audio upload.
12
+ # Maximum file size: 5MB for Telnyx, 20MB for Minimax.
14
13
  #
15
- # @return [Pathname, StringIO, IO, String, Telnyx::FilePart]
16
- required :audio_file, Telnyx::Internal::Type::FileInput
14
+ # @return [Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone]
15
+ required :body, union: -> { Telnyx::VoiceCloneCreateFromUploadParams::Body }
17
16
 
18
- # @!attribute language
19
- # ISO 639-1 language code (e.g. `en`, `fr`) or `auto` for automatic detection.
17
+ # @!method initialize(body:, request_options: {})
18
+ # Some parameter documentations has been truncated, see
19
+ # {Telnyx::Models::VoiceCloneCreateFromUploadParams} for more details.
20
20
  #
21
- # @return [String]
22
- required :language, String
23
-
24
- # @!attribute name
25
- # Name for the voice clone.
21
+ # @param body [Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone] Multipart form data for creating a voice clone from a direct audio upload. Maxim
26
22
  #
27
- # @return [String]
28
- required :name, String
23
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
29
24
 
30
- # @!attribute gender
31
- # Gender of the voice clone.
32
- #
33
- # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Gender, nil]
34
- optional :gender, enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Gender }
25
+ # Multipart form data for creating a voice clone from a direct audio upload.
26
+ # Maximum file size: 5MB for Telnyx, 20MB for Minimax.
27
+ module Body
28
+ extend Telnyx::Internal::Type::Union
35
29
 
36
- # @!attribute label
37
- # Optional custom label describing the voice style. If omitted, falls back to the
38
- # source design's prompt text.
39
- #
40
- # @return [String, nil]
41
- optional :label, String
30
+ # Upload-based voice clone using the Telnyx Qwen3TTS model (default).
31
+ variant -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone }
42
32
 
43
- # @!attribute provider
44
- # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
45
- #
46
- # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Provider, nil]
47
- optional :provider, enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Provider }
33
+ # Upload-based voice clone using the Telnyx Ultra model.
34
+ variant -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone }
48
35
 
49
- # @!attribute ref_text
50
- # Optional transcript of the audio file. Providing this improves clone quality.
51
- #
52
- # @return [String, nil]
53
- optional :ref_text, String
36
+ # Upload-based voice clone using the Minimax provider.
37
+ variant -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::MinimaxClone }
54
38
 
55
- # @!method initialize(audio_file:, language:, name:, gender: nil, label: nil, provider: nil, ref_text: nil, request_options: {})
56
- # Some parameter documentations has been truncated, see
57
- # {Telnyx::Models::VoiceCloneCreateFromUploadParams} for more details.
58
- #
59
- # @param audio_file [Pathname, StringIO, IO, String, Telnyx::FilePart] Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
60
- #
61
- # @param language [String] ISO 639-1 language code (e.g. `en`, `fr`) or `auto` for automatic detection.
62
- #
63
- # @param name [String] Name for the voice clone.
64
- #
65
- # @param gender [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Gender] Gender of the voice clone.
66
- #
67
- # @param label [String] Optional custom label describing the voice style. If omitted, falls back to the
68
- #
69
- # @param provider [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Provider] Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
70
- #
71
- # @param ref_text [String] Optional transcript of the audio file. Providing this improves clone quality.
72
- #
73
- # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
39
+ class TelnyxQwen3TtsClone < Telnyx::Internal::Type::BaseModel
40
+ # @!attribute audio_file
41
+ # Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
42
+ # For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
43
+ # size: 5MB.
44
+ #
45
+ # @return [Pathname, StringIO, IO, String, Telnyx::FilePart]
46
+ required :audio_file, Telnyx::Internal::Type::FileInput
74
47
 
75
- # Gender of the voice clone.
76
- module Gender
77
- extend Telnyx::Internal::Type::Enum
48
+ # @!attribute gender
49
+ # Gender of the voice clone.
50
+ #
51
+ # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone::Gender]
52
+ required :gender, enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone::Gender }
78
53
 
79
- MALE = :male
80
- FEMALE = :female
81
- NEUTRAL = :neutral
54
+ # @!attribute language
55
+ # ISO 639-1 language code from the Qwen language set.
56
+ #
57
+ # @return [String]
58
+ required :language, String
82
59
 
83
- # @!method self.values
84
- # @return [Array<Symbol>]
85
- end
60
+ # @!attribute name
61
+ # Name for the voice clone.
62
+ #
63
+ # @return [String]
64
+ required :name, String
65
+
66
+ # @!attribute provider
67
+ # Voice synthesis provider. Must be `telnyx`.
68
+ #
69
+ # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone::Provider]
70
+ required :provider,
71
+ enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone::Provider }
72
+
73
+ # @!attribute label
74
+ # Optional custom label describing the voice style.
75
+ #
76
+ # @return [String, nil]
77
+ optional :label, String
78
+
79
+ # @!attribute model_id
80
+ # TTS model identifier. Nullable/omittable — defaults to Qwen3TTS.
81
+ #
82
+ # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone::ModelID, nil]
83
+ optional :model_id,
84
+ enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone::ModelID },
85
+ nil?: true
86
+
87
+ # @!attribute ref_text
88
+ # Optional transcript of the audio file. Providing this improves clone quality.
89
+ #
90
+ # @return [String, nil]
91
+ optional :ref_text, String
92
+
93
+ # @!method initialize(audio_file:, gender:, language:, name:, provider:, label: nil, model_id: nil, ref_text: nil)
94
+ # Some parameter documentations has been truncated, see
95
+ # {Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone}
96
+ # for more details.
97
+ #
98
+ # Upload-based voice clone using the Telnyx Qwen3TTS model (default).
99
+ #
100
+ # @param audio_file [Pathname, StringIO, IO, String, Telnyx::FilePart] Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
101
+ #
102
+ # @param gender [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone::Gender] Gender of the voice clone.
103
+ #
104
+ # @param language [String] ISO 639-1 language code from the Qwen language set.
105
+ #
106
+ # @param name [String] Name for the voice clone.
107
+ #
108
+ # @param provider [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone::Provider] Voice synthesis provider. Must be `telnyx`.
109
+ #
110
+ # @param label [String] Optional custom label describing the voice style.
111
+ #
112
+ # @param model_id [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone::ModelID, nil] TTS model identifier. Nullable/omittable — defaults to Qwen3TTS.
113
+ #
114
+ # @param ref_text [String] Optional transcript of the audio file. Providing this improves clone quality.
115
+
116
+ # Gender of the voice clone.
117
+ #
118
+ # @see Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone#gender
119
+ module Gender
120
+ extend Telnyx::Internal::Type::Enum
121
+
122
+ MALE = :male
123
+ FEMALE = :female
124
+ NEUTRAL = :neutral
125
+
126
+ # @!method self.values
127
+ # @return [Array<Symbol>]
128
+ end
129
+
130
+ # Voice synthesis provider. Must be `telnyx`.
131
+ #
132
+ # @see Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone#provider
133
+ module Provider
134
+ extend Telnyx::Internal::Type::Enum
135
+
136
+ TELNYX = :telnyx
137
+ TELNYX_2 = :Telnyx
138
+
139
+ # @!method self.values
140
+ # @return [Array<Symbol>]
141
+ end
142
+
143
+ # TTS model identifier. Nullable/omittable — defaults to Qwen3TTS.
144
+ #
145
+ # @see Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone#model_id
146
+ module ModelID
147
+ extend Telnyx::Internal::Type::Enum
148
+
149
+ QWEN3_TTS = :Qwen3TTS
150
+
151
+ # @!method self.values
152
+ # @return [Array<Symbol>]
153
+ end
154
+ end
155
+
156
+ class TelnyxUltraClone < Telnyx::Internal::Type::BaseModel
157
+ # @!attribute audio_file
158
+ # Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
159
+ # For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
160
+ # size: 5MB.
161
+ #
162
+ # @return [Pathname, StringIO, IO, String, Telnyx::FilePart]
163
+ required :audio_file, Telnyx::Internal::Type::FileInput
164
+
165
+ # @!attribute gender
166
+ # Gender of the voice clone.
167
+ #
168
+ # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone::Gender]
169
+ required :gender, enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone::Gender }
170
+
171
+ # @!attribute language
172
+ # ISO 639-1 language code from the Ultra language set (40 languages).
173
+ #
174
+ # @return [String]
175
+ required :language, String
176
+
177
+ # @!attribute model_id
178
+ # TTS model identifier. Must be `Ultra`.
179
+ #
180
+ # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone::ModelID]
181
+ required :model_id, enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone::ModelID }
182
+
183
+ # @!attribute name
184
+ # Name for the voice clone.
185
+ #
186
+ # @return [String]
187
+ required :name, String
188
+
189
+ # @!attribute provider
190
+ # Voice synthesis provider. Must be `telnyx`.
191
+ #
192
+ # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone::Provider]
193
+ required :provider,
194
+ enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone::Provider }
195
+
196
+ # @!attribute label
197
+ # Optional custom label describing the voice style.
198
+ #
199
+ # @return [String, nil]
200
+ optional :label, String
201
+
202
+ # @!attribute ref_text
203
+ # Optional transcript of the audio file. Providing this improves clone quality.
204
+ #
205
+ # @return [String, nil]
206
+ optional :ref_text, String
207
+
208
+ # @!method initialize(audio_file:, gender:, language:, model_id:, name:, provider:, label: nil, ref_text: nil)
209
+ # Some parameter documentations has been truncated, see
210
+ # {Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone} for
211
+ # more details.
212
+ #
213
+ # Upload-based voice clone using the Telnyx Ultra model.
214
+ #
215
+ # @param audio_file [Pathname, StringIO, IO, String, Telnyx::FilePart] Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
216
+ #
217
+ # @param gender [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone::Gender] Gender of the voice clone.
218
+ #
219
+ # @param language [String] ISO 639-1 language code from the Ultra language set (40 languages).
220
+ #
221
+ # @param model_id [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone::ModelID] TTS model identifier. Must be `Ultra`.
222
+ #
223
+ # @param name [String] Name for the voice clone.
224
+ #
225
+ # @param provider [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone::Provider] Voice synthesis provider. Must be `telnyx`.
226
+ #
227
+ # @param label [String] Optional custom label describing the voice style.
228
+ #
229
+ # @param ref_text [String] Optional transcript of the audio file. Providing this improves clone quality.
230
+
231
+ # Gender of the voice clone.
232
+ #
233
+ # @see Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone#gender
234
+ module Gender
235
+ extend Telnyx::Internal::Type::Enum
236
+
237
+ MALE = :male
238
+ FEMALE = :female
239
+ NEUTRAL = :neutral
240
+
241
+ # @!method self.values
242
+ # @return [Array<Symbol>]
243
+ end
244
+
245
+ # TTS model identifier. Must be `Ultra`.
246
+ #
247
+ # @see Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone#model_id
248
+ module ModelID
249
+ extend Telnyx::Internal::Type::Enum
250
+
251
+ ULTRA = :Ultra
252
+
253
+ # @!method self.values
254
+ # @return [Array<Symbol>]
255
+ end
256
+
257
+ # Voice synthesis provider. Must be `telnyx`.
258
+ #
259
+ # @see Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone#provider
260
+ module Provider
261
+ extend Telnyx::Internal::Type::Enum
262
+
263
+ TELNYX = :telnyx
264
+ TELNYX_2 = :Telnyx
265
+
266
+ # @!method self.values
267
+ # @return [Array<Symbol>]
268
+ end
269
+ end
270
+
271
+ class MinimaxClone < Telnyx::Internal::Type::BaseModel
272
+ # @!attribute audio_file
273
+ # Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
274
+ # For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
275
+ # size: 20MB.
276
+ #
277
+ # @return [Pathname, StringIO, IO, String, Telnyx::FilePart]
278
+ required :audio_file, Telnyx::Internal::Type::FileInput
279
+
280
+ # @!attribute gender
281
+ # Gender of the voice clone.
282
+ #
283
+ # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone::Gender]
284
+ required :gender, enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::MinimaxClone::Gender }
285
+
286
+ # @!attribute language
287
+ # ISO 639-1 language code from the Minimax language set.
288
+ #
289
+ # @return [String]
290
+ required :language, String
291
+
292
+ # @!attribute name
293
+ # Name for the voice clone.
294
+ #
295
+ # @return [String]
296
+ required :name, String
297
+
298
+ # @!attribute provider
299
+ # Voice synthesis provider. Must be `minimax`.
300
+ #
301
+ # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone::Provider]
302
+ required :provider, enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::MinimaxClone::Provider }
303
+
304
+ # @!attribute label
305
+ # Optional custom label describing the voice style.
306
+ #
307
+ # @return [String, nil]
308
+ optional :label, String
309
+
310
+ # @!attribute model_id
311
+ # TTS model identifier. Nullable — defaults to speech-2.8-turbo.
312
+ #
313
+ # @return [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone::ModelID, nil]
314
+ optional :model_id,
315
+ enum: -> { Telnyx::VoiceCloneCreateFromUploadParams::Body::MinimaxClone::ModelID },
316
+ nil?: true
317
+
318
+ # @!attribute ref_text
319
+ # Optional transcript of the audio file. Providing this improves clone quality.
320
+ #
321
+ # @return [String, nil]
322
+ optional :ref_text, String
323
+
324
+ # @!method initialize(audio_file:, gender:, language:, name:, provider:, label: nil, model_id: nil, ref_text: nil)
325
+ # Some parameter documentations has been truncated, see
326
+ # {Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone} for more
327
+ # details.
328
+ #
329
+ # Upload-based voice clone using the Minimax provider.
330
+ #
331
+ # @param audio_file [Pathname, StringIO, IO, String, Telnyx::FilePart] Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
332
+ #
333
+ # @param gender [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone::Gender] Gender of the voice clone.
334
+ #
335
+ # @param language [String] ISO 639-1 language code from the Minimax language set.
336
+ #
337
+ # @param name [String] Name for the voice clone.
338
+ #
339
+ # @param provider [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone::Provider] Voice synthesis provider. Must be `minimax`.
340
+ #
341
+ # @param label [String] Optional custom label describing the voice style.
342
+ #
343
+ # @param model_id [Symbol, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone::ModelID, nil] TTS model identifier. Nullable — defaults to speech-2.8-turbo.
344
+ #
345
+ # @param ref_text [String] Optional transcript of the audio file. Providing this improves clone quality.
346
+
347
+ # Gender of the voice clone.
348
+ #
349
+ # @see Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone#gender
350
+ module Gender
351
+ extend Telnyx::Internal::Type::Enum
352
+
353
+ MALE = :male
354
+ FEMALE = :female
355
+ NEUTRAL = :neutral
356
+
357
+ # @!method self.values
358
+ # @return [Array<Symbol>]
359
+ end
360
+
361
+ # Voice synthesis provider. Must be `minimax`.
362
+ #
363
+ # @see Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone#provider
364
+ module Provider
365
+ extend Telnyx::Internal::Type::Enum
366
+
367
+ MINIMAX = :minimax
368
+ MINIMAX_2 = :Minimax
369
+
370
+ # @!method self.values
371
+ # @return [Array<Symbol>]
372
+ end
373
+
374
+ # TTS model identifier. Nullable — defaults to speech-2.8-turbo.
375
+ #
376
+ # @see Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone#model_id
377
+ module ModelID
378
+ extend Telnyx::Internal::Type::Enum
86
379
 
87
- # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
88
- module Provider
89
- extend Telnyx::Internal::Type::Enum
380
+ SPEECH_2_8_TURBO = :"speech-2.8-turbo"
90
381
 
91
- TELNYX = :telnyx
92
- MINIMAX = :minimax
382
+ # @!method self.values
383
+ # @return [Array<Symbol>]
384
+ end
385
+ end
93
386
 
94
- # @!method self.values
95
- # @return [Array<Symbol>]
387
+ # @!method self.variants
388
+ # @return [Array(Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxQwen3TtsClone, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::TelnyxUltraClone, Telnyx::Models::VoiceCloneCreateFromUploadParams::Body::MinimaxClone)]
96
389
  end
97
390
  end
98
391
  end