telnyx 5.69.0 → 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 (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/internal/util.rb +3 -1
  5. data/lib/telnyx/models/ai/assistant_create_params.rb +3 -42
  6. data/lib/telnyx/models/ai/assistant_update_params.rb +3 -42
  7. data/lib/telnyx/models/ai/assistants/update_assistant.rb +3 -43
  8. data/lib/telnyx/models/ai/conversation_add_message_params.rb +4 -4
  9. data/lib/telnyx/models/ai/inference_embedding.rb +3 -43
  10. data/lib/telnyx/models/ai/observability.rb +46 -0
  11. data/lib/telnyx/models/ai/observability_req.rb +46 -0
  12. data/lib/telnyx/models/call_dial_params.rb +24 -1
  13. data/lib/telnyx/models/calls/action_transfer_params.rb +24 -1
  14. data/lib/telnyx/models/enterprise_create_params.rb +1 -1
  15. data/lib/telnyx/models/enterprise_public.rb +1 -1
  16. data/lib/telnyx/models/enterprise_update_params.rb +1 -1
  17. data/lib/telnyx/models/enterprises/reputation/{number_create_params.rb → number_associate_params.rb} +2 -2
  18. data/lib/telnyx/models/enterprises/reputation/{number_create_response.rb → number_associate_response.rb} +5 -5
  19. data/lib/telnyx/models/enterprises/reputation/{number_delete_params.rb → number_disassociate_params.rb} +2 -2
  20. data/lib/telnyx/models/enterprises/{reputation_list_params.rb → reputation_disable_params.rb} +2 -2
  21. data/lib/telnyx/models/enterprises/{reputation_create_params.rb → reputation_enable_params.rb} +6 -6
  22. data/lib/telnyx/models/enterprises/{reputation_create_response.rb → reputation_enable_response.rb} +2 -2
  23. data/lib/telnyx/models/enterprises/{reputation_delete_all_params.rb → reputation_retrieve_params.rb} +2 -2
  24. data/lib/telnyx/models/enterprises/{reputation_list_response.rb → reputation_retrieve_response.rb} +2 -2
  25. data/lib/telnyx/models/porting_orders/phone_number_block_list_params.rb +9 -9
  26. data/lib/telnyx/models/voice_clone_create_from_upload_params.rb +364 -71
  27. data/lib/telnyx/models/voice_clone_create_params.rb +161 -51
  28. data/lib/telnyx/models/voice_clone_data.rb +51 -4
  29. data/lib/telnyx/resources/ai/assistants/versions.rb +1 -1
  30. data/lib/telnyx/resources/ai/assistants.rb +2 -2
  31. data/lib/telnyx/resources/calls/actions.rb +3 -1
  32. data/lib/telnyx/resources/calls.rb +3 -1
  33. data/lib/telnyx/resources/enterprises/reputation/numbers.rb +42 -42
  34. data/lib/telnyx/resources/enterprises/reputation.rb +61 -61
  35. data/lib/telnyx/resources/voice_clones.rb +7 -27
  36. data/lib/telnyx/version.rb +1 -1
  37. data/lib/telnyx.rb +10 -8
  38. data/rbi/telnyx/models/ai/assistant_create_params.rbi +4 -121
  39. data/rbi/telnyx/models/ai/assistant_update_params.rbi +4 -121
  40. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +4 -123
  41. data/rbi/telnyx/models/ai/conversation_add_message_params.rbi +5 -5
  42. data/rbi/telnyx/models/ai/inference_embedding.rbi +4 -123
  43. data/rbi/telnyx/models/ai/observability.rbi +90 -0
  44. data/rbi/telnyx/models/ai/observability_req.rbi +92 -0
  45. data/rbi/telnyx/models/call_dial_params.rbi +37 -0
  46. data/rbi/telnyx/models/calls/action_transfer_params.rbi +57 -0
  47. data/rbi/telnyx/models/enterprise_create_params.rbi +1 -1
  48. data/rbi/telnyx/models/enterprise_public.rbi +1 -1
  49. data/rbi/telnyx/models/enterprise_update_params.rbi +1 -1
  50. data/rbi/telnyx/models/enterprises/reputation/{number_create_params.rbi → number_associate_params.rbi} +2 -2
  51. data/rbi/telnyx/models/enterprises/reputation/{number_create_response.rbi → number_associate_response.rbi} +7 -7
  52. data/rbi/telnyx/models/enterprises/reputation/{number_delete_params.rbi → number_disassociate_params.rbi} +2 -2
  53. data/rbi/telnyx/models/enterprises/{reputation_list_params.rbi → reputation_disable_params.rbi} +2 -2
  54. data/rbi/telnyx/models/enterprises/{reputation_create_params.rbi → reputation_enable_params.rbi} +14 -14
  55. data/rbi/telnyx/models/enterprises/{reputation_create_response.rbi → reputation_enable_response.rbi} +2 -2
  56. data/rbi/telnyx/models/enterprises/{reputation_delete_all_params.rbi → reputation_retrieve_params.rbi} +2 -2
  57. data/rbi/telnyx/models/enterprises/{reputation_list_response.rbi → reputation_retrieve_response.rbi} +2 -2
  58. data/rbi/telnyx/models/porting_orders/phone_number_block_list_params.rbi +34 -34
  59. data/rbi/telnyx/models/voice_clone_create_from_upload_params.rbi +711 -136
  60. data/rbi/telnyx/models/voice_clone_create_params.rbi +345 -79
  61. data/rbi/telnyx/models/voice_clone_data.rbi +77 -4
  62. data/rbi/telnyx/resources/ai/assistants/versions.rbi +1 -2
  63. data/rbi/telnyx/resources/ai/assistants.rbi +2 -4
  64. data/rbi/telnyx/resources/calls/actions.rbi +5 -0
  65. data/rbi/telnyx/resources/calls.rbi +5 -0
  66. data/rbi/telnyx/resources/enterprises/reputation/numbers.rbi +34 -34
  67. data/rbi/telnyx/resources/enterprises/reputation.rbi +44 -44
  68. data/rbi/telnyx/resources/voice_clones.rbi +17 -41
  69. data/sig/telnyx/models/ai/assistant_create_params.rbs +6 -59
  70. data/sig/telnyx/models/ai/assistant_update_params.rbs +6 -59
  71. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +6 -59
  72. data/sig/telnyx/models/ai/conversation_add_message_params.rbs +5 -5
  73. data/sig/telnyx/models/ai/inference_embedding.rbs +6 -59
  74. data/sig/telnyx/models/ai/observability.rbs +58 -0
  75. data/sig/telnyx/models/ai/observability_req.rbs +58 -0
  76. data/sig/telnyx/models/call_dial_params.rbs +20 -0
  77. data/sig/telnyx/models/calls/action_transfer_params.rbs +20 -0
  78. data/sig/telnyx/models/enterprise_create_params.rbs +1 -1
  79. data/sig/telnyx/models/enterprise_public.rbs +1 -1
  80. data/sig/telnyx/models/enterprise_update_params.rbs +1 -1
  81. data/sig/telnyx/models/enterprises/reputation/{number_create_params.rbs → number_associate_params.rbs} +2 -2
  82. data/sig/telnyx/models/enterprises/reputation/{number_create_response.rbs → number_associate_response.rbs} +8 -8
  83. data/sig/telnyx/models/enterprises/reputation/{number_delete_params.rbs → number_disassociate_params.rbs} +2 -2
  84. data/sig/telnyx/models/enterprises/{reputation_list_params.rbs → reputation_disable_params.rbs} +2 -2
  85. data/sig/telnyx/models/enterprises/{reputation_create_params.rbs → reputation_enable_params.rbs} +9 -9
  86. data/sig/telnyx/models/enterprises/{reputation_create_response.rbs → reputation_enable_response.rbs} +2 -2
  87. data/sig/telnyx/models/enterprises/{reputation_delete_all_params.rbs → reputation_retrieve_params.rbs} +2 -2
  88. data/sig/telnyx/models/enterprises/{reputation_list_response.rbs → reputation_retrieve_response.rbs} +2 -2
  89. data/sig/telnyx/models/porting_orders/phone_number_block_list_params.rbs +9 -9
  90. data/sig/telnyx/models/voice_clone_create_from_upload_params.rbs +269 -58
  91. data/sig/telnyx/models/voice_clone_create_params.rbs +129 -44
  92. data/sig/telnyx/models/voice_clone_data.rbs +43 -0
  93. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -1
  94. data/sig/telnyx/resources/ai/assistants.rbs +2 -2
  95. data/sig/telnyx/resources/calls/actions.rbs +1 -0
  96. data/sig/telnyx/resources/calls.rbs +1 -0
  97. data/sig/telnyx/resources/enterprises/reputation/numbers.rbs +7 -7
  98. data/sig/telnyx/resources/enterprises/reputation.rbs +8 -8
  99. data/sig/telnyx/resources/voice_clones.rbs +2 -12
  100. metadata +31 -25
@@ -3,8 +3,8 @@
3
3
  module Telnyx
4
4
  module Models
5
5
  module Enterprises
6
- # @see Telnyx::Resources::Enterprises::Reputation#list
7
- class ReputationListParams < Telnyx::Internal::Type::BaseModel
6
+ # @see Telnyx::Resources::Enterprises::Reputation#disable
7
+ class ReputationDisableParams < Telnyx::Internal::Type::BaseModel
8
8
  extend Telnyx::Internal::Type::RequestParameters::Converter
9
9
  include Telnyx::Internal::Type::RequestParameters
10
10
 
@@ -3,8 +3,8 @@
3
3
  module Telnyx
4
4
  module Models
5
5
  module Enterprises
6
- # @see Telnyx::Resources::Enterprises::Reputation#create
7
- class ReputationCreateParams < Telnyx::Internal::Type::BaseModel
6
+ # @see Telnyx::Resources::Enterprises::Reputation#enable
7
+ class ReputationEnableParams < Telnyx::Internal::Type::BaseModel
8
8
  extend Telnyx::Internal::Type::RequestParameters::Converter
9
9
  include Telnyx::Internal::Type::RequestParameters
10
10
 
@@ -23,18 +23,18 @@ module Telnyx
23
23
  # @!attribute check_frequency
24
24
  # Frequency for automatically refreshing reputation data
25
25
  #
26
- # @return [Symbol, Telnyx::Models::Enterprises::ReputationCreateParams::CheckFrequency, nil]
27
- optional :check_frequency, enum: -> { Telnyx::Enterprises::ReputationCreateParams::CheckFrequency }
26
+ # @return [Symbol, Telnyx::Models::Enterprises::ReputationEnableParams::CheckFrequency, nil]
27
+ optional :check_frequency, enum: -> { Telnyx::Enterprises::ReputationEnableParams::CheckFrequency }
28
28
 
29
29
  # @!method initialize(enterprise_id:, loa_document_id:, check_frequency: nil, request_options: {})
30
30
  # Some parameter documentations has been truncated, see
31
- # {Telnyx::Models::Enterprises::ReputationCreateParams} for more details.
31
+ # {Telnyx::Models::Enterprises::ReputationEnableParams} for more details.
32
32
  #
33
33
  # @param enterprise_id [String]
34
34
  #
35
35
  # @param loa_document_id [String] ID of the signed Letter of Authorization (LOA) document uploaded to the document
36
36
  #
37
- # @param check_frequency [Symbol, Telnyx::Models::Enterprises::ReputationCreateParams::CheckFrequency] Frequency for automatically refreshing reputation data
37
+ # @param check_frequency [Symbol, Telnyx::Models::Enterprises::ReputationEnableParams::CheckFrequency] Frequency for automatically refreshing reputation data
38
38
  #
39
39
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
40
40
 
@@ -3,8 +3,8 @@
3
3
  module Telnyx
4
4
  module Models
5
5
  module Enterprises
6
- # @see Telnyx::Resources::Enterprises::Reputation#create
7
- class ReputationCreateResponse < Telnyx::Internal::Type::BaseModel
6
+ # @see Telnyx::Resources::Enterprises::Reputation#enable
7
+ class ReputationEnableResponse < Telnyx::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
10
  # @return [Telnyx::Models::Enterprises::EnterpriseReputationPublic, nil]
@@ -3,8 +3,8 @@
3
3
  module Telnyx
4
4
  module Models
5
5
  module Enterprises
6
- # @see Telnyx::Resources::Enterprises::Reputation#delete_all
7
- class ReputationDeleteAllParams < Telnyx::Internal::Type::BaseModel
6
+ # @see Telnyx::Resources::Enterprises::Reputation#retrieve
7
+ class ReputationRetrieveParams < Telnyx::Internal::Type::BaseModel
8
8
  extend Telnyx::Internal::Type::RequestParameters::Converter
9
9
  include Telnyx::Internal::Type::RequestParameters
10
10
 
@@ -3,8 +3,8 @@
3
3
  module Telnyx
4
4
  module Models
5
5
  module Enterprises
6
- # @see Telnyx::Resources::Enterprises::Reputation#list
7
- class ReputationListResponse < Telnyx::Internal::Type::BaseModel
6
+ # @see Telnyx::Resources::Enterprises::Reputation#retrieve
7
+ class ReputationRetrieveResponse < Telnyx::Internal::Type::BaseModel
8
8
  # @!attribute data
9
9
  #
10
10
  # @return [Telnyx::Models::Enterprises::EnterpriseReputationPublic, nil]
@@ -84,7 +84,7 @@ module Telnyx
84
84
  # Filter porting orders by status(es). Originally: filter[status],
85
85
  # filter[status][in][]
86
86
  #
87
- # @return [Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderSingleStatus, Array<Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::UnionMember1>, nil]
87
+ # @return [Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderMultipleStatus, Array<Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderStatusList>, nil]
88
88
  optional :status, union: -> { Telnyx::PortingOrders::PhoneNumberBlockListParams::Filter::Status }
89
89
 
90
90
  # @!attribute support_key
@@ -111,7 +111,7 @@ module Telnyx
111
111
  #
112
112
  # @param porting_order_id [Array<String>] Filter results by a list of porting order ids
113
113
  #
114
- # @param status [Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderSingleStatus, Array<Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::UnionMember1>] Filter porting orders by status(es). Originally: filter[status], filter[status]
114
+ # @param status [Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderMultipleStatus, Array<Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderStatusList>] Filter porting orders by status(es). Originally: filter[status], filter[status]
115
115
  #
116
116
  # @param support_key [String, Array<String>] Filter results by support key(s). Originally: filter[support_key][eq], filter[su
117
117
 
@@ -161,13 +161,13 @@ module Telnyx
161
161
  extend Telnyx::Internal::Type::Union
162
162
 
163
163
  # Filter by single status
164
- variant enum: -> { Telnyx::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderSingleStatus }
164
+ variant enum: -> { Telnyx::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderMultipleStatus }
165
165
 
166
166
  # Filter by multiple statuses (in operation)
167
- variant -> { Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::UnionMember1Array }
167
+ variant -> { Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderStatusListArray }
168
168
 
169
169
  # Filter by single status
170
- module PortingOrderSingleStatus
170
+ module PortingOrderMultipleStatus
171
171
  extend Telnyx::Internal::Type::Enum
172
172
 
173
173
  DRAFT = :draft
@@ -183,7 +183,7 @@ module Telnyx
183
183
  # @return [Array<Symbol>]
184
184
  end
185
185
 
186
- module UnionMember1
186
+ module PortingOrderStatusList
187
187
  extend Telnyx::Internal::Type::Enum
188
188
 
189
189
  DRAFT = :draft
@@ -200,12 +200,12 @@ module Telnyx
200
200
  end
201
201
 
202
202
  # @!method self.variants
203
- # @return [Array(Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderSingleStatus, Array<Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::UnionMember1>)]
203
+ # @return [Array(Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderMultipleStatus, Array<Symbol, Telnyx::Models::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderStatusList>)]
204
204
 
205
205
  # @type [Telnyx::Internal::Type::Converter]
206
- UnionMember1Array =
206
+ PortingOrderStatusListArray =
207
207
  Telnyx::Internal::Type::ArrayOf[enum: -> {
208
- Telnyx::PortingOrders::PhoneNumberBlockListParams::Filter::Status::UnionMember1
208
+ Telnyx::PortingOrders::PhoneNumberBlockListParams::Filter::Status::PortingOrderStatusList
209
209
  }]
210
210
  end
211
211
 
@@ -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