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