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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +50 -0
- data/README.md +1 -1
- data/lib/telnyx/internal/util.rb +3 -1
- data/lib/telnyx/models/ai/assistant.rb +6 -149
- data/lib/telnyx/models/ai/assistant_create_params.rb +3 -42
- data/lib/telnyx/models/ai/assistant_update_params.rb +3 -42
- data/lib/telnyx/models/ai/assistants/update_assistant.rb +3 -43
- data/lib/telnyx/models/ai/conversation_add_message_params.rb +4 -4
- data/lib/telnyx/models/ai/inference_embedding.rb +3 -43
- data/lib/telnyx/models/ai/observability.rb +46 -0
- data/lib/telnyx/models/ai/observability_req.rb +46 -0
- data/lib/telnyx/models/book_appointment_tool.rb +31 -0
- data/lib/telnyx/models/book_appointment_tool_params.rb +51 -0
- data/lib/telnyx/models/call_assistant_request.rb +176 -0
- data/lib/telnyx/models/call_control_bucket_ids.rb +23 -0
- data/lib/telnyx/models/call_control_retrieval_tool.rb +31 -0
- data/lib/telnyx/models/call_dial_params.rb +34 -1
- data/lib/telnyx/models/calls/action_answer_params.rb +11 -1
- data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +6 -39
- data/lib/telnyx/models/calls/action_transfer_params.rb +24 -1
- data/lib/telnyx/models/check_availability_tool.rb +31 -0
- data/lib/telnyx/models/check_availability_tool_params.rb +31 -0
- data/lib/telnyx/models/enterprise_create_params.rb +1 -1
- data/lib/telnyx/models/enterprise_public.rb +1 -1
- data/lib/telnyx/models/enterprise_update_params.rb +1 -1
- data/lib/telnyx/models/enterprises/reputation/{number_create_params.rb → number_associate_params.rb} +2 -2
- data/lib/telnyx/models/enterprises/reputation/{number_create_response.rb → number_associate_response.rb} +5 -5
- data/lib/telnyx/models/enterprises/reputation/{number_delete_params.rb → number_disassociate_params.rb} +2 -2
- data/lib/telnyx/models/enterprises/{reputation_list_params.rb → reputation_disable_params.rb} +2 -2
- data/lib/telnyx/models/enterprises/{reputation_create_params.rb → reputation_enable_params.rb} +6 -6
- data/lib/telnyx/models/enterprises/{reputation_create_response.rb → reputation_enable_response.rb} +2 -2
- data/lib/telnyx/models/enterprises/{reputation_delete_all_params.rb → reputation_retrieve_params.rb} +2 -2
- data/lib/telnyx/models/enterprises/{reputation_list_response.rb → reputation_retrieve_response.rb} +2 -2
- data/lib/telnyx/models/porting_orders/phone_number_block_list_params.rb +9 -9
- data/lib/telnyx/models/pronunciation_dict_alias_item.rb +51 -0
- data/lib/telnyx/models/pronunciation_dict_create_params.rb +5 -93
- data/lib/telnyx/models/pronunciation_dict_create_response.rb +3 -191
- data/lib/telnyx/models/pronunciation_dict_data.rb +101 -0
- data/lib/telnyx/models/pronunciation_dict_phoneme_item.rb +71 -0
- data/lib/telnyx/models/pronunciation_dict_retrieve_response.rb +3 -191
- data/lib/telnyx/models/pronunciation_dict_update_params.rb +5 -93
- data/lib/telnyx/models/pronunciation_dict_update_response.rb +3 -191
- data/lib/telnyx/models/texml/accounts/call_calls_params.rb +203 -191
- data/lib/telnyx/models/voice_clone_create_from_design_params.rb +3 -3
- data/lib/telnyx/models/voice_clone_create_from_upload_params.rb +371 -71
- data/lib/telnyx/models/voice_clone_create_params.rb +161 -51
- data/lib/telnyx/models/voice_clone_data.rb +51 -4
- data/lib/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_params.rb +26 -0
- data/lib/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_response.rb +54 -0
- data/lib/telnyx/models.rb +20 -0
- data/lib/telnyx/resources/ai/assistants/versions.rb +1 -1
- data/lib/telnyx/resources/ai/assistants.rb +2 -2
- data/lib/telnyx/resources/calls/actions.rb +7 -3
- data/lib/telnyx/resources/calls.rb +5 -1
- data/lib/telnyx/resources/enterprises/reputation/numbers.rb +42 -42
- data/lib/telnyx/resources/enterprises/reputation.rb +61 -61
- data/lib/telnyx/resources/pronunciation_dicts.rb +4 -4
- data/lib/telnyx/resources/texml/accounts/calls.rb +3 -3
- data/lib/telnyx/resources/voice_clones.rb +7 -27
- data/lib/telnyx/resources/whatsapp/phone_numbers/profile/photo.rb +20 -0
- data/lib/telnyx/version.rb +1 -1
- data/lib/telnyx.rb +22 -9
- data/rbi/telnyx/models/ai/assistant.rbi +15 -329
- data/rbi/telnyx/models/ai/assistant_create_params.rbi +4 -121
- data/rbi/telnyx/models/ai/assistant_update_params.rbi +4 -121
- data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +4 -123
- data/rbi/telnyx/models/ai/conversation_add_message_params.rbi +5 -5
- data/rbi/telnyx/models/ai/inference_embedding.rbi +4 -123
- data/rbi/telnyx/models/ai/observability.rbi +90 -0
- data/rbi/telnyx/models/ai/observability_req.rbi +92 -0
- data/rbi/telnyx/models/book_appointment_tool.rbi +65 -0
- data/rbi/telnyx/models/book_appointment_tool_params.rbi +83 -0
- data/rbi/telnyx/models/call_assistant_request.rbi +322 -0
- data/rbi/telnyx/models/call_control_bucket_ids.rbi +42 -0
- data/rbi/telnyx/models/call_control_retrieval_tool.rbi +63 -0
- data/rbi/telnyx/models/call_dial_params.rbi +52 -0
- data/rbi/telnyx/models/calls/action_answer_params.rbi +15 -0
- data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +10 -77
- data/rbi/telnyx/models/calls/action_transfer_params.rbi +57 -0
- data/rbi/telnyx/models/check_availability_tool.rbi +67 -0
- data/rbi/telnyx/models/check_availability_tool_params.rbi +45 -0
- data/rbi/telnyx/models/enterprise_create_params.rbi +1 -1
- data/rbi/telnyx/models/enterprise_public.rbi +1 -1
- data/rbi/telnyx/models/enterprise_update_params.rbi +1 -1
- data/rbi/telnyx/models/enterprises/reputation/{number_create_params.rbi → number_associate_params.rbi} +2 -2
- data/rbi/telnyx/models/enterprises/reputation/{number_create_response.rbi → number_associate_response.rbi} +7 -7
- data/rbi/telnyx/models/enterprises/reputation/{number_delete_params.rbi → number_disassociate_params.rbi} +2 -2
- data/rbi/telnyx/models/enterprises/{reputation_list_params.rbi → reputation_disable_params.rbi} +2 -2
- data/rbi/telnyx/models/enterprises/{reputation_create_params.rbi → reputation_enable_params.rbi} +14 -14
- data/rbi/telnyx/models/enterprises/{reputation_create_response.rbi → reputation_enable_response.rbi} +2 -2
- data/rbi/telnyx/models/enterprises/{reputation_delete_all_params.rbi → reputation_retrieve_params.rbi} +2 -2
- data/rbi/telnyx/models/enterprises/{reputation_list_response.rbi → reputation_retrieve_response.rbi} +2 -2
- data/rbi/telnyx/models/porting_orders/phone_number_block_list_params.rbi +34 -34
- data/rbi/telnyx/models/pronunciation_dict_alias_item.rbi +79 -0
- data/rbi/telnyx/models/pronunciation_dict_create_params.rbi +8 -154
- data/rbi/telnyx/models/pronunciation_dict_create_response.rbi +6 -366
- data/rbi/telnyx/models/pronunciation_dict_data.rbi +186 -0
- data/rbi/telnyx/models/pronunciation_dict_phoneme_item.rbi +117 -0
- data/rbi/telnyx/models/pronunciation_dict_retrieve_response.rbi +6 -366
- data/rbi/telnyx/models/pronunciation_dict_update_params.rbi +10 -156
- data/rbi/telnyx/models/pronunciation_dict_update_response.rbi +6 -366
- data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +391 -403
- data/rbi/telnyx/models/voice_clone_create_from_design_params.rbi +10 -10
- data/rbi/telnyx/models/voice_clone_create_from_upload_params.rbi +711 -134
- data/rbi/telnyx/models/voice_clone_create_params.rbi +345 -79
- data/rbi/telnyx/models/voice_clone_data.rbi +77 -4
- data/rbi/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_params.rbi +47 -0
- data/rbi/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_response.rbi +118 -0
- data/rbi/telnyx/models.rbi +20 -0
- data/rbi/telnyx/resources/ai/assistants/versions.rbi +1 -2
- data/rbi/telnyx/resources/ai/assistants.rbi +2 -4
- data/rbi/telnyx/resources/calls/actions.rbi +14 -3
- data/rbi/telnyx/resources/calls.rbi +10 -0
- data/rbi/telnyx/resources/enterprises/reputation/numbers.rbi +34 -34
- data/rbi/telnyx/resources/enterprises/reputation.rbi +44 -44
- data/rbi/telnyx/resources/pronunciation_dicts.rbi +5 -7
- data/rbi/telnyx/resources/texml/accounts/calls.rbi +5 -5
- data/rbi/telnyx/resources/voice_clones.rbi +17 -41
- data/rbi/telnyx/resources/whatsapp/phone_numbers/profile/photo.rbi +16 -0
- data/sig/telnyx/models/ai/assistant.rbs +3 -142
- data/sig/telnyx/models/ai/assistant_create_params.rbs +6 -59
- data/sig/telnyx/models/ai/assistant_update_params.rbs +6 -59
- data/sig/telnyx/models/ai/assistants/update_assistant.rbs +6 -59
- data/sig/telnyx/models/ai/conversation_add_message_params.rbs +5 -5
- data/sig/telnyx/models/ai/inference_embedding.rbs +6 -59
- data/sig/telnyx/models/ai/observability.rbs +58 -0
- data/sig/telnyx/models/ai/observability_req.rbs +58 -0
- data/sig/telnyx/models/book_appointment_tool.rbs +35 -0
- data/sig/telnyx/models/book_appointment_tool_params.rbs +39 -0
- data/sig/telnyx/models/call_assistant_request.rbs +132 -0
- data/sig/telnyx/models/call_control_bucket_ids.rbs +21 -0
- data/sig/telnyx/models/call_control_retrieval_tool.rbs +35 -0
- data/sig/telnyx/models/call_dial_params.rbs +29 -0
- data/sig/telnyx/models/calls/action_answer_params.rbs +9 -0
- data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +6 -35
- data/sig/telnyx/models/calls/action_transfer_params.rbs +20 -0
- data/sig/telnyx/models/check_availability_tool.rbs +35 -0
- data/sig/telnyx/models/check_availability_tool_params.rbs +16 -0
- data/sig/telnyx/models/enterprise_create_params.rbs +1 -1
- data/sig/telnyx/models/enterprise_public.rbs +1 -1
- data/sig/telnyx/models/enterprise_update_params.rbs +1 -1
- data/sig/telnyx/models/enterprises/reputation/{number_create_params.rbs → number_associate_params.rbs} +2 -2
- data/sig/telnyx/models/enterprises/reputation/{number_create_response.rbs → number_associate_response.rbs} +8 -8
- data/sig/telnyx/models/enterprises/reputation/{number_delete_params.rbs → number_disassociate_params.rbs} +2 -2
- data/sig/telnyx/models/enterprises/{reputation_list_params.rbs → reputation_disable_params.rbs} +2 -2
- data/sig/telnyx/models/enterprises/{reputation_create_params.rbs → reputation_enable_params.rbs} +9 -9
- data/sig/telnyx/models/enterprises/{reputation_create_response.rbs → reputation_enable_response.rbs} +2 -2
- data/sig/telnyx/models/enterprises/{reputation_delete_all_params.rbs → reputation_retrieve_params.rbs} +2 -2
- data/sig/telnyx/models/enterprises/{reputation_list_response.rbs → reputation_retrieve_response.rbs} +2 -2
- data/sig/telnyx/models/porting_orders/phone_number_block_list_params.rbs +9 -9
- data/sig/telnyx/models/pronunciation_dict_alias_item.rbs +40 -0
- data/sig/telnyx/models/pronunciation_dict_create_params.rbs +2 -58
- data/sig/telnyx/models/pronunciation_dict_create_response.rbs +6 -155
- data/sig/telnyx/models/pronunciation_dict_data.rbs +88 -0
- data/sig/telnyx/models/pronunciation_dict_phoneme_item.rbs +55 -0
- data/sig/telnyx/models/pronunciation_dict_retrieve_response.rbs +6 -155
- data/sig/telnyx/models/pronunciation_dict_update_params.rbs +2 -58
- data/sig/telnyx/models/pronunciation_dict_update_response.rbs +6 -155
- data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +317 -325
- data/sig/telnyx/models/voice_clone_create_from_design_params.rbs +7 -7
- data/sig/telnyx/models/voice_clone_create_from_upload_params.rbs +269 -56
- data/sig/telnyx/models/voice_clone_create_params.rbs +129 -44
- data/sig/telnyx/models/voice_clone_data.rbs +43 -0
- data/sig/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_params.rbs +30 -0
- data/sig/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_response.rbs +63 -0
- data/sig/telnyx/models.rbs +20 -0
- data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -1
- data/sig/telnyx/resources/ai/assistants.rbs +2 -2
- data/sig/telnyx/resources/calls/actions.rbs +3 -1
- data/sig/telnyx/resources/calls.rbs +2 -0
- data/sig/telnyx/resources/enterprises/reputation/numbers.rbs +7 -7
- data/sig/telnyx/resources/enterprises/reputation.rbs +8 -8
- data/sig/telnyx/resources/pronunciation_dicts.rbs +1 -1
- data/sig/telnyx/resources/texml/accounts/calls.rbs +1 -1
- data/sig/telnyx/resources/voice_clones.rbs +2 -12
- data/sig/telnyx/resources/whatsapp/phone_numbers/profile/photo.rbs +5 -0
- metadata +68 -29
- data/lib/telnyx/models/pronunciation_dict_list_response.rb +0 -190
- data/rbi/telnyx/models/pronunciation_dict_list_response.rbi +0 -353
- data/sig/telnyx/models/pronunciation_dict_list_response.rbs +0 -144
|
@@ -14,98 +14,34 @@ module Telnyx
|
|
|
14
14
|
)
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
# size: 5MB for Telnyx, 20MB for Minimax.
|
|
20
|
-
sig { returns(Telnyx::Internal::FileInput) }
|
|
21
|
-
attr_accessor :audio_file
|
|
22
|
-
|
|
23
|
-
# ISO 639-1 language code (e.g. `en`, `fr`) or `auto` for automatic detection.
|
|
24
|
-
sig { returns(String) }
|
|
25
|
-
attr_accessor :language
|
|
26
|
-
|
|
27
|
-
# Name for the voice clone.
|
|
28
|
-
sig { returns(String) }
|
|
29
|
-
attr_accessor :name
|
|
30
|
-
|
|
31
|
-
# Gender of the voice clone.
|
|
17
|
+
# Multipart form data for creating a voice clone from a direct audio upload.
|
|
18
|
+
# Maximum file size: 5MB for Telnyx, 20MB for Minimax.
|
|
32
19
|
sig do
|
|
33
20
|
returns(
|
|
34
|
-
T.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
sig do
|
|
40
|
-
params(
|
|
41
|
-
gender: Telnyx::VoiceCloneCreateFromUploadParams::Gender::OrSymbol
|
|
42
|
-
).void
|
|
43
|
-
end
|
|
44
|
-
attr_writer :gender
|
|
45
|
-
|
|
46
|
-
# Optional custom label describing the voice style. If omitted, falls back to the
|
|
47
|
-
# source design's prompt text.
|
|
48
|
-
sig { returns(T.nilable(String)) }
|
|
49
|
-
attr_reader :label
|
|
50
|
-
|
|
51
|
-
sig { params(label: String).void }
|
|
52
|
-
attr_writer :label
|
|
53
|
-
|
|
54
|
-
# Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
|
|
55
|
-
sig do
|
|
56
|
-
returns(
|
|
57
|
-
T.nilable(
|
|
58
|
-
Telnyx::VoiceCloneCreateFromUploadParams::Provider::OrSymbol
|
|
21
|
+
T.any(
|
|
22
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone,
|
|
23
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone,
|
|
24
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone
|
|
59
25
|
)
|
|
60
26
|
)
|
|
61
27
|
end
|
|
62
|
-
|
|
28
|
+
attr_accessor :upload_params
|
|
63
29
|
|
|
64
30
|
sig do
|
|
65
31
|
params(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
sig { returns(T.nilable(String)) }
|
|
73
|
-
attr_reader :ref_text
|
|
74
|
-
|
|
75
|
-
sig { params(ref_text: String).void }
|
|
76
|
-
attr_writer :ref_text
|
|
77
|
-
|
|
78
|
-
sig do
|
|
79
|
-
params(
|
|
80
|
-
audio_file: Telnyx::Internal::FileInput,
|
|
81
|
-
language: String,
|
|
82
|
-
name: String,
|
|
83
|
-
gender: Telnyx::VoiceCloneCreateFromUploadParams::Gender::OrSymbol,
|
|
84
|
-
label: String,
|
|
85
|
-
provider:
|
|
86
|
-
Telnyx::VoiceCloneCreateFromUploadParams::Provider::OrSymbol,
|
|
87
|
-
ref_text: String,
|
|
32
|
+
upload_params:
|
|
33
|
+
T.any(
|
|
34
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::OrHash,
|
|
35
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::OrHash,
|
|
36
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::OrHash
|
|
37
|
+
),
|
|
88
38
|
request_options: Telnyx::RequestOptions::OrHash
|
|
89
39
|
).returns(T.attached_class)
|
|
90
40
|
end
|
|
91
41
|
def self.new(
|
|
92
|
-
#
|
|
93
|
-
#
|
|
94
|
-
|
|
95
|
-
audio_file:,
|
|
96
|
-
# ISO 639-1 language code (e.g. `en`, `fr`) or `auto` for automatic detection.
|
|
97
|
-
language:,
|
|
98
|
-
# Name for the voice clone.
|
|
99
|
-
name:,
|
|
100
|
-
# Gender of the voice clone.
|
|
101
|
-
gender: nil,
|
|
102
|
-
# Optional custom label describing the voice style. If omitted, falls back to the
|
|
103
|
-
# source design's prompt text.
|
|
104
|
-
label: nil,
|
|
105
|
-
# Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
|
|
106
|
-
provider: nil,
|
|
107
|
-
# Optional transcript of the audio file. Providing this improves clone quality.
|
|
108
|
-
ref_text: nil,
|
|
42
|
+
# Multipart form data for creating a voice clone from a direct audio upload.
|
|
43
|
+
# Maximum file size: 5MB for Telnyx, 20MB for Minimax.
|
|
44
|
+
upload_params:,
|
|
109
45
|
request_options: {}
|
|
110
46
|
)
|
|
111
47
|
end
|
|
@@ -113,14 +49,12 @@ module Telnyx
|
|
|
113
49
|
sig do
|
|
114
50
|
override.returns(
|
|
115
51
|
{
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
Telnyx::VoiceCloneCreateFromUploadParams::Provider::OrSymbol,
|
|
123
|
-
ref_text: String,
|
|
52
|
+
upload_params:
|
|
53
|
+
T.any(
|
|
54
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone,
|
|
55
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone,
|
|
56
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone
|
|
57
|
+
),
|
|
124
58
|
request_options: Telnyx::RequestOptions
|
|
125
59
|
}
|
|
126
60
|
)
|
|
@@ -128,72 +62,715 @@ module Telnyx
|
|
|
128
62
|
def to_hash
|
|
129
63
|
end
|
|
130
64
|
|
|
131
|
-
#
|
|
132
|
-
|
|
133
|
-
|
|
65
|
+
# Multipart form data for creating a voice clone from a direct audio upload.
|
|
66
|
+
# Maximum file size: 5MB for Telnyx, 20MB for Minimax.
|
|
67
|
+
module UploadParams
|
|
68
|
+
extend Telnyx::Internal::Type::Union
|
|
134
69
|
|
|
135
|
-
|
|
70
|
+
Variants =
|
|
136
71
|
T.type_alias do
|
|
137
|
-
T.
|
|
72
|
+
T.any(
|
|
73
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone,
|
|
74
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone,
|
|
75
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone
|
|
76
|
+
)
|
|
138
77
|
end
|
|
139
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
140
78
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
Telnyx::VoiceCloneCreateFromUploadParams::Gender::TaggedSymbol
|
|
150
|
-
)
|
|
151
|
-
NEUTRAL =
|
|
152
|
-
T.let(
|
|
153
|
-
:neutral,
|
|
154
|
-
Telnyx::VoiceCloneCreateFromUploadParams::Gender::TaggedSymbol
|
|
155
|
-
)
|
|
79
|
+
class TelnyxQwen3TtsClone < Telnyx::Internal::Type::BaseModel
|
|
80
|
+
OrHash =
|
|
81
|
+
T.type_alias do
|
|
82
|
+
T.any(
|
|
83
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone,
|
|
84
|
+
Telnyx::Internal::AnyHash
|
|
85
|
+
)
|
|
86
|
+
end
|
|
156
87
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
88
|
+
# Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
|
|
89
|
+
# For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
|
|
90
|
+
# size: 5MB.
|
|
91
|
+
sig { returns(Telnyx::Internal::FileInput) }
|
|
92
|
+
attr_accessor :audio_file
|
|
93
|
+
|
|
94
|
+
# Gender of the voice clone.
|
|
95
|
+
sig do
|
|
96
|
+
returns(
|
|
97
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Gender::OrSymbol
|
|
98
|
+
)
|
|
99
|
+
end
|
|
100
|
+
attr_accessor :gender
|
|
101
|
+
|
|
102
|
+
# ISO 639-1 language code from the Qwen language set.
|
|
103
|
+
sig { returns(String) }
|
|
104
|
+
attr_accessor :language
|
|
105
|
+
|
|
106
|
+
# Name for the voice clone.
|
|
107
|
+
sig { returns(String) }
|
|
108
|
+
attr_accessor :name
|
|
109
|
+
|
|
110
|
+
# Voice synthesis provider. Must be `telnyx`.
|
|
111
|
+
sig do
|
|
112
|
+
returns(
|
|
113
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Provider::OrSymbol
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
attr_accessor :provider
|
|
117
|
+
|
|
118
|
+
# Optional custom label describing the voice style.
|
|
119
|
+
sig { returns(T.nilable(String)) }
|
|
120
|
+
attr_reader :label
|
|
121
|
+
|
|
122
|
+
sig { params(label: String).void }
|
|
123
|
+
attr_writer :label
|
|
124
|
+
|
|
125
|
+
# TTS model identifier. Nullable/omittable — defaults to Qwen3TTS.
|
|
126
|
+
sig do
|
|
127
|
+
returns(
|
|
128
|
+
T.nilable(
|
|
129
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::ModelID::OrSymbol
|
|
130
|
+
)
|
|
131
|
+
)
|
|
132
|
+
end
|
|
133
|
+
attr_accessor :model_id
|
|
134
|
+
|
|
135
|
+
# Optional transcript of the audio file. Providing this improves clone quality.
|
|
136
|
+
sig { returns(T.nilable(String)) }
|
|
137
|
+
attr_reader :ref_text
|
|
138
|
+
|
|
139
|
+
sig { params(ref_text: String).void }
|
|
140
|
+
attr_writer :ref_text
|
|
141
|
+
|
|
142
|
+
# Upload-based voice clone using the Telnyx Qwen3TTS model (default).
|
|
143
|
+
sig do
|
|
144
|
+
params(
|
|
145
|
+
audio_file: Telnyx::Internal::FileInput,
|
|
146
|
+
gender:
|
|
147
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Gender::OrSymbol,
|
|
148
|
+
language: String,
|
|
149
|
+
name: String,
|
|
150
|
+
provider:
|
|
151
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Provider::OrSymbol,
|
|
152
|
+
label: String,
|
|
153
|
+
model_id:
|
|
154
|
+
T.nilable(
|
|
155
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::ModelID::OrSymbol
|
|
156
|
+
),
|
|
157
|
+
ref_text: String
|
|
158
|
+
).returns(T.attached_class)
|
|
159
|
+
end
|
|
160
|
+
def self.new(
|
|
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
|
+
audio_file:,
|
|
165
|
+
# Gender of the voice clone.
|
|
166
|
+
gender:,
|
|
167
|
+
# ISO 639-1 language code from the Qwen language set.
|
|
168
|
+
language:,
|
|
169
|
+
# Name for the voice clone.
|
|
170
|
+
name:,
|
|
171
|
+
# Voice synthesis provider. Must be `telnyx`.
|
|
172
|
+
provider:,
|
|
173
|
+
# Optional custom label describing the voice style.
|
|
174
|
+
label: nil,
|
|
175
|
+
# TTS model identifier. Nullable/omittable — defaults to Qwen3TTS.
|
|
176
|
+
model_id: nil,
|
|
177
|
+
# Optional transcript of the audio file. Providing this improves clone quality.
|
|
178
|
+
ref_text: nil
|
|
162
179
|
)
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
sig do
|
|
183
|
+
override.returns(
|
|
184
|
+
{
|
|
185
|
+
audio_file: Telnyx::Internal::FileInput,
|
|
186
|
+
gender:
|
|
187
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Gender::OrSymbol,
|
|
188
|
+
language: String,
|
|
189
|
+
name: String,
|
|
190
|
+
provider:
|
|
191
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Provider::OrSymbol,
|
|
192
|
+
label: String,
|
|
193
|
+
model_id:
|
|
194
|
+
T.nilable(
|
|
195
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::ModelID::OrSymbol
|
|
196
|
+
),
|
|
197
|
+
ref_text: String
|
|
198
|
+
}
|
|
199
|
+
)
|
|
200
|
+
end
|
|
201
|
+
def to_hash
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
# Gender of the voice clone.
|
|
205
|
+
module Gender
|
|
206
|
+
extend Telnyx::Internal::Type::Enum
|
|
207
|
+
|
|
208
|
+
TaggedSymbol =
|
|
209
|
+
T.type_alias do
|
|
210
|
+
T.all(
|
|
211
|
+
Symbol,
|
|
212
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Gender
|
|
213
|
+
)
|
|
214
|
+
end
|
|
215
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
216
|
+
|
|
217
|
+
MALE =
|
|
218
|
+
T.let(
|
|
219
|
+
:male,
|
|
220
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Gender::TaggedSymbol
|
|
221
|
+
)
|
|
222
|
+
FEMALE =
|
|
223
|
+
T.let(
|
|
224
|
+
:female,
|
|
225
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Gender::TaggedSymbol
|
|
226
|
+
)
|
|
227
|
+
NEUTRAL =
|
|
228
|
+
T.let(
|
|
229
|
+
:neutral,
|
|
230
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Gender::TaggedSymbol
|
|
231
|
+
)
|
|
232
|
+
|
|
233
|
+
sig do
|
|
234
|
+
override.returns(
|
|
235
|
+
T::Array[
|
|
236
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Gender::TaggedSymbol
|
|
237
|
+
]
|
|
238
|
+
)
|
|
239
|
+
end
|
|
240
|
+
def self.values
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
# Voice synthesis provider. Must be `telnyx`.
|
|
245
|
+
module Provider
|
|
246
|
+
extend Telnyx::Internal::Type::Enum
|
|
247
|
+
|
|
248
|
+
TaggedSymbol =
|
|
249
|
+
T.type_alias do
|
|
250
|
+
T.all(
|
|
251
|
+
Symbol,
|
|
252
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Provider
|
|
253
|
+
)
|
|
254
|
+
end
|
|
255
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
256
|
+
|
|
257
|
+
TELNYX =
|
|
258
|
+
T.let(
|
|
259
|
+
:telnyx,
|
|
260
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Provider::TaggedSymbol
|
|
261
|
+
)
|
|
262
|
+
MINIMAX =
|
|
263
|
+
T.let(
|
|
264
|
+
:minimax,
|
|
265
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Provider::TaggedSymbol
|
|
266
|
+
)
|
|
267
|
+
|
|
268
|
+
sig do
|
|
269
|
+
override.returns(
|
|
270
|
+
T::Array[
|
|
271
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::Provider::TaggedSymbol
|
|
272
|
+
]
|
|
273
|
+
)
|
|
274
|
+
end
|
|
275
|
+
def self.values
|
|
276
|
+
end
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
# TTS model identifier. Nullable/omittable — defaults to Qwen3TTS.
|
|
280
|
+
module ModelID
|
|
281
|
+
extend Telnyx::Internal::Type::Enum
|
|
282
|
+
|
|
283
|
+
TaggedSymbol =
|
|
284
|
+
T.type_alias do
|
|
285
|
+
T.all(
|
|
286
|
+
Symbol,
|
|
287
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::ModelID
|
|
288
|
+
)
|
|
289
|
+
end
|
|
290
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
291
|
+
|
|
292
|
+
QWEN3_TTS =
|
|
293
|
+
T.let(
|
|
294
|
+
:Qwen3TTS,
|
|
295
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::ModelID::TaggedSymbol
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
sig do
|
|
299
|
+
override.returns(
|
|
300
|
+
T::Array[
|
|
301
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxQwen3TtsClone::ModelID::TaggedSymbol
|
|
302
|
+
]
|
|
303
|
+
)
|
|
304
|
+
end
|
|
305
|
+
def self.values
|
|
306
|
+
end
|
|
307
|
+
end
|
|
163
308
|
end
|
|
164
|
-
def self.values
|
|
165
|
-
end
|
|
166
|
-
end
|
|
167
309
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
310
|
+
class TelnyxUltraClone < Telnyx::Internal::Type::BaseModel
|
|
311
|
+
OrHash =
|
|
312
|
+
T.type_alias do
|
|
313
|
+
T.any(
|
|
314
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone,
|
|
315
|
+
Telnyx::Internal::AnyHash
|
|
316
|
+
)
|
|
317
|
+
end
|
|
171
318
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
319
|
+
# Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
|
|
320
|
+
# For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
|
|
321
|
+
# size: 5MB.
|
|
322
|
+
sig { returns(Telnyx::Internal::FileInput) }
|
|
323
|
+
attr_accessor :audio_file
|
|
324
|
+
|
|
325
|
+
# Gender of the voice clone.
|
|
326
|
+
sig do
|
|
327
|
+
returns(
|
|
328
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Gender::OrSymbol
|
|
329
|
+
)
|
|
330
|
+
end
|
|
331
|
+
attr_accessor :gender
|
|
332
|
+
|
|
333
|
+
# ISO 639-1 language code from the Ultra language set (40 languages).
|
|
334
|
+
sig { returns(String) }
|
|
335
|
+
attr_accessor :language
|
|
336
|
+
|
|
337
|
+
# TTS model identifier. Must be `Ultra`.
|
|
338
|
+
sig do
|
|
339
|
+
returns(
|
|
340
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::ModelID::OrSymbol
|
|
341
|
+
)
|
|
342
|
+
end
|
|
343
|
+
attr_accessor :model_id
|
|
344
|
+
|
|
345
|
+
# Name for the voice clone.
|
|
346
|
+
sig { returns(String) }
|
|
347
|
+
attr_accessor :name
|
|
348
|
+
|
|
349
|
+
# Voice synthesis provider. Must be `telnyx`.
|
|
350
|
+
sig do
|
|
351
|
+
returns(
|
|
352
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Provider::OrSymbol
|
|
353
|
+
)
|
|
175
354
|
end
|
|
176
|
-
|
|
355
|
+
attr_accessor :provider
|
|
356
|
+
|
|
357
|
+
# Optional custom label describing the voice style.
|
|
358
|
+
sig { returns(T.nilable(String)) }
|
|
359
|
+
attr_reader :label
|
|
360
|
+
|
|
361
|
+
sig { params(label: String).void }
|
|
362
|
+
attr_writer :label
|
|
363
|
+
|
|
364
|
+
# Optional transcript of the audio file. Providing this improves clone quality.
|
|
365
|
+
sig { returns(T.nilable(String)) }
|
|
366
|
+
attr_reader :ref_text
|
|
367
|
+
|
|
368
|
+
sig { params(ref_text: String).void }
|
|
369
|
+
attr_writer :ref_text
|
|
177
370
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
371
|
+
# Upload-based voice clone using the Telnyx Ultra model.
|
|
372
|
+
sig do
|
|
373
|
+
params(
|
|
374
|
+
audio_file: Telnyx::Internal::FileInput,
|
|
375
|
+
gender:
|
|
376
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Gender::OrSymbol,
|
|
377
|
+
language: String,
|
|
378
|
+
model_id:
|
|
379
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::ModelID::OrSymbol,
|
|
380
|
+
name: String,
|
|
381
|
+
provider:
|
|
382
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Provider::OrSymbol,
|
|
383
|
+
label: String,
|
|
384
|
+
ref_text: String
|
|
385
|
+
).returns(T.attached_class)
|
|
386
|
+
end
|
|
387
|
+
def self.new(
|
|
388
|
+
# Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
|
|
389
|
+
# For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
|
|
390
|
+
# size: 5MB.
|
|
391
|
+
audio_file:,
|
|
392
|
+
# Gender of the voice clone.
|
|
393
|
+
gender:,
|
|
394
|
+
# ISO 639-1 language code from the Ultra language set (40 languages).
|
|
395
|
+
language:,
|
|
396
|
+
# TTS model identifier. Must be `Ultra`.
|
|
397
|
+
model_id:,
|
|
398
|
+
# Name for the voice clone.
|
|
399
|
+
name:,
|
|
400
|
+
# Voice synthesis provider. Must be `telnyx`.
|
|
401
|
+
provider:,
|
|
402
|
+
# Optional custom label describing the voice style.
|
|
403
|
+
label: nil,
|
|
404
|
+
# Optional transcript of the audio file. Providing this improves clone quality.
|
|
405
|
+
ref_text: nil
|
|
182
406
|
)
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
sig do
|
|
410
|
+
override.returns(
|
|
411
|
+
{
|
|
412
|
+
audio_file: Telnyx::Internal::FileInput,
|
|
413
|
+
gender:
|
|
414
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Gender::OrSymbol,
|
|
415
|
+
language: String,
|
|
416
|
+
model_id:
|
|
417
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::ModelID::OrSymbol,
|
|
418
|
+
name: String,
|
|
419
|
+
provider:
|
|
420
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Provider::OrSymbol,
|
|
421
|
+
label: String,
|
|
422
|
+
ref_text: String
|
|
423
|
+
}
|
|
424
|
+
)
|
|
425
|
+
end
|
|
426
|
+
def to_hash
|
|
427
|
+
end
|
|
428
|
+
|
|
429
|
+
# Gender of the voice clone.
|
|
430
|
+
module Gender
|
|
431
|
+
extend Telnyx::Internal::Type::Enum
|
|
432
|
+
|
|
433
|
+
TaggedSymbol =
|
|
434
|
+
T.type_alias do
|
|
435
|
+
T.all(
|
|
436
|
+
Symbol,
|
|
437
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Gender
|
|
438
|
+
)
|
|
439
|
+
end
|
|
440
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
441
|
+
|
|
442
|
+
MALE =
|
|
443
|
+
T.let(
|
|
444
|
+
:male,
|
|
445
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Gender::TaggedSymbol
|
|
446
|
+
)
|
|
447
|
+
FEMALE =
|
|
448
|
+
T.let(
|
|
449
|
+
:female,
|
|
450
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Gender::TaggedSymbol
|
|
451
|
+
)
|
|
452
|
+
NEUTRAL =
|
|
453
|
+
T.let(
|
|
454
|
+
:neutral,
|
|
455
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Gender::TaggedSymbol
|
|
456
|
+
)
|
|
457
|
+
|
|
458
|
+
sig do
|
|
459
|
+
override.returns(
|
|
460
|
+
T::Array[
|
|
461
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Gender::TaggedSymbol
|
|
462
|
+
]
|
|
463
|
+
)
|
|
464
|
+
end
|
|
465
|
+
def self.values
|
|
466
|
+
end
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
# TTS model identifier. Must be `Ultra`.
|
|
470
|
+
module ModelID
|
|
471
|
+
extend Telnyx::Internal::Type::Enum
|
|
472
|
+
|
|
473
|
+
TaggedSymbol =
|
|
474
|
+
T.type_alias do
|
|
475
|
+
T.all(
|
|
476
|
+
Symbol,
|
|
477
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::ModelID
|
|
478
|
+
)
|
|
479
|
+
end
|
|
480
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
481
|
+
|
|
482
|
+
ULTRA =
|
|
483
|
+
T.let(
|
|
484
|
+
:Ultra,
|
|
485
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::ModelID::TaggedSymbol
|
|
486
|
+
)
|
|
487
|
+
|
|
488
|
+
sig do
|
|
489
|
+
override.returns(
|
|
490
|
+
T::Array[
|
|
491
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::ModelID::TaggedSymbol
|
|
492
|
+
]
|
|
493
|
+
)
|
|
494
|
+
end
|
|
495
|
+
def self.values
|
|
496
|
+
end
|
|
497
|
+
end
|
|
498
|
+
|
|
499
|
+
# Voice synthesis provider. Must be `telnyx`.
|
|
500
|
+
module Provider
|
|
501
|
+
extend Telnyx::Internal::Type::Enum
|
|
502
|
+
|
|
503
|
+
TaggedSymbol =
|
|
504
|
+
T.type_alias do
|
|
505
|
+
T.all(
|
|
506
|
+
Symbol,
|
|
507
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Provider
|
|
508
|
+
)
|
|
509
|
+
end
|
|
510
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
511
|
+
|
|
512
|
+
TELNYX =
|
|
513
|
+
T.let(
|
|
514
|
+
:telnyx,
|
|
515
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Provider::TaggedSymbol
|
|
516
|
+
)
|
|
517
|
+
MINIMAX =
|
|
518
|
+
T.let(
|
|
519
|
+
:minimax,
|
|
520
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Provider::TaggedSymbol
|
|
521
|
+
)
|
|
522
|
+
|
|
523
|
+
sig do
|
|
524
|
+
override.returns(
|
|
525
|
+
T::Array[
|
|
526
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::TelnyxUltraClone::Provider::TaggedSymbol
|
|
527
|
+
]
|
|
528
|
+
)
|
|
529
|
+
end
|
|
530
|
+
def self.values
|
|
531
|
+
end
|
|
532
|
+
end
|
|
533
|
+
end
|
|
534
|
+
|
|
535
|
+
class MinimaxClone < Telnyx::Internal::Type::BaseModel
|
|
536
|
+
OrHash =
|
|
537
|
+
T.type_alias do
|
|
538
|
+
T.any(
|
|
539
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone,
|
|
540
|
+
Telnyx::Internal::AnyHash
|
|
541
|
+
)
|
|
542
|
+
end
|
|
543
|
+
|
|
544
|
+
# Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
|
|
545
|
+
# For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
|
|
546
|
+
# size: 20MB.
|
|
547
|
+
sig { returns(Telnyx::Internal::FileInput) }
|
|
548
|
+
attr_accessor :audio_file
|
|
549
|
+
|
|
550
|
+
# Gender of the voice clone.
|
|
551
|
+
sig do
|
|
552
|
+
returns(
|
|
553
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Gender::OrSymbol
|
|
554
|
+
)
|
|
555
|
+
end
|
|
556
|
+
attr_accessor :gender
|
|
557
|
+
|
|
558
|
+
# ISO 639-1 language code from the Minimax language set.
|
|
559
|
+
sig { returns(String) }
|
|
560
|
+
attr_accessor :language
|
|
561
|
+
|
|
562
|
+
# Name for the voice clone.
|
|
563
|
+
sig { returns(String) }
|
|
564
|
+
attr_accessor :name
|
|
565
|
+
|
|
566
|
+
# Voice synthesis provider. Must be `minimax`.
|
|
567
|
+
sig do
|
|
568
|
+
returns(
|
|
569
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Provider::OrSymbol
|
|
570
|
+
)
|
|
571
|
+
end
|
|
572
|
+
attr_accessor :provider
|
|
573
|
+
|
|
574
|
+
# Optional custom label describing the voice style.
|
|
575
|
+
sig { returns(T.nilable(String)) }
|
|
576
|
+
attr_reader :label
|
|
577
|
+
|
|
578
|
+
sig { params(label: String).void }
|
|
579
|
+
attr_writer :label
|
|
580
|
+
|
|
581
|
+
# TTS model identifier. Nullable — defaults to speech-2.8-turbo.
|
|
582
|
+
sig do
|
|
583
|
+
returns(
|
|
584
|
+
T.nilable(
|
|
585
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::ModelID::OrSymbol
|
|
586
|
+
)
|
|
587
|
+
)
|
|
588
|
+
end
|
|
589
|
+
attr_accessor :model_id
|
|
590
|
+
|
|
591
|
+
# Optional transcript of the audio file. Providing this improves clone quality.
|
|
592
|
+
sig { returns(T.nilable(String)) }
|
|
593
|
+
attr_reader :ref_text
|
|
594
|
+
|
|
595
|
+
sig { params(ref_text: String).void }
|
|
596
|
+
attr_writer :ref_text
|
|
597
|
+
|
|
598
|
+
# Upload-based voice clone using the Minimax provider.
|
|
599
|
+
sig do
|
|
600
|
+
params(
|
|
601
|
+
audio_file: Telnyx::Internal::FileInput,
|
|
602
|
+
gender:
|
|
603
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Gender::OrSymbol,
|
|
604
|
+
language: String,
|
|
605
|
+
name: String,
|
|
606
|
+
provider:
|
|
607
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Provider::OrSymbol,
|
|
608
|
+
label: String,
|
|
609
|
+
model_id:
|
|
610
|
+
T.nilable(
|
|
611
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::ModelID::OrSymbol
|
|
612
|
+
),
|
|
613
|
+
ref_text: String
|
|
614
|
+
).returns(T.attached_class)
|
|
615
|
+
end
|
|
616
|
+
def self.new(
|
|
617
|
+
# Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A.
|
|
618
|
+
# For best quality, provide 5–10 seconds of clear, uninterrupted speech. Maximum
|
|
619
|
+
# size: 20MB.
|
|
620
|
+
audio_file:,
|
|
621
|
+
# Gender of the voice clone.
|
|
622
|
+
gender:,
|
|
623
|
+
# ISO 639-1 language code from the Minimax language set.
|
|
624
|
+
language:,
|
|
625
|
+
# Name for the voice clone.
|
|
626
|
+
name:,
|
|
627
|
+
# Voice synthesis provider. Must be `minimax`.
|
|
628
|
+
provider:,
|
|
629
|
+
# Optional custom label describing the voice style.
|
|
630
|
+
label: nil,
|
|
631
|
+
# TTS model identifier. Nullable — defaults to speech-2.8-turbo.
|
|
632
|
+
model_id: nil,
|
|
633
|
+
# Optional transcript of the audio file. Providing this improves clone quality.
|
|
634
|
+
ref_text: nil
|
|
187
635
|
)
|
|
636
|
+
end
|
|
637
|
+
|
|
638
|
+
sig do
|
|
639
|
+
override.returns(
|
|
640
|
+
{
|
|
641
|
+
audio_file: Telnyx::Internal::FileInput,
|
|
642
|
+
gender:
|
|
643
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Gender::OrSymbol,
|
|
644
|
+
language: String,
|
|
645
|
+
name: String,
|
|
646
|
+
provider:
|
|
647
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Provider::OrSymbol,
|
|
648
|
+
label: String,
|
|
649
|
+
model_id:
|
|
650
|
+
T.nilable(
|
|
651
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::ModelID::OrSymbol
|
|
652
|
+
),
|
|
653
|
+
ref_text: String
|
|
654
|
+
}
|
|
655
|
+
)
|
|
656
|
+
end
|
|
657
|
+
def to_hash
|
|
658
|
+
end
|
|
659
|
+
|
|
660
|
+
# Gender of the voice clone.
|
|
661
|
+
module Gender
|
|
662
|
+
extend Telnyx::Internal::Type::Enum
|
|
663
|
+
|
|
664
|
+
TaggedSymbol =
|
|
665
|
+
T.type_alias do
|
|
666
|
+
T.all(
|
|
667
|
+
Symbol,
|
|
668
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Gender
|
|
669
|
+
)
|
|
670
|
+
end
|
|
671
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
672
|
+
|
|
673
|
+
MALE =
|
|
674
|
+
T.let(
|
|
675
|
+
:male,
|
|
676
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Gender::TaggedSymbol
|
|
677
|
+
)
|
|
678
|
+
FEMALE =
|
|
679
|
+
T.let(
|
|
680
|
+
:female,
|
|
681
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Gender::TaggedSymbol
|
|
682
|
+
)
|
|
683
|
+
NEUTRAL =
|
|
684
|
+
T.let(
|
|
685
|
+
:neutral,
|
|
686
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Gender::TaggedSymbol
|
|
687
|
+
)
|
|
688
|
+
|
|
689
|
+
sig do
|
|
690
|
+
override.returns(
|
|
691
|
+
T::Array[
|
|
692
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Gender::TaggedSymbol
|
|
693
|
+
]
|
|
694
|
+
)
|
|
695
|
+
end
|
|
696
|
+
def self.values
|
|
697
|
+
end
|
|
698
|
+
end
|
|
699
|
+
|
|
700
|
+
# Voice synthesis provider. Must be `minimax`.
|
|
701
|
+
module Provider
|
|
702
|
+
extend Telnyx::Internal::Type::Enum
|
|
703
|
+
|
|
704
|
+
TaggedSymbol =
|
|
705
|
+
T.type_alias do
|
|
706
|
+
T.all(
|
|
707
|
+
Symbol,
|
|
708
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Provider
|
|
709
|
+
)
|
|
710
|
+
end
|
|
711
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
712
|
+
|
|
713
|
+
TELNYX =
|
|
714
|
+
T.let(
|
|
715
|
+
:telnyx,
|
|
716
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Provider::TaggedSymbol
|
|
717
|
+
)
|
|
718
|
+
MINIMAX =
|
|
719
|
+
T.let(
|
|
720
|
+
:minimax,
|
|
721
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Provider::TaggedSymbol
|
|
722
|
+
)
|
|
723
|
+
|
|
724
|
+
sig do
|
|
725
|
+
override.returns(
|
|
726
|
+
T::Array[
|
|
727
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::Provider::TaggedSymbol
|
|
728
|
+
]
|
|
729
|
+
)
|
|
730
|
+
end
|
|
731
|
+
def self.values
|
|
732
|
+
end
|
|
733
|
+
end
|
|
734
|
+
|
|
735
|
+
# TTS model identifier. Nullable — defaults to speech-2.8-turbo.
|
|
736
|
+
module ModelID
|
|
737
|
+
extend Telnyx::Internal::Type::Enum
|
|
738
|
+
|
|
739
|
+
TaggedSymbol =
|
|
740
|
+
T.type_alias do
|
|
741
|
+
T.all(
|
|
742
|
+
Symbol,
|
|
743
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::ModelID
|
|
744
|
+
)
|
|
745
|
+
end
|
|
746
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
747
|
+
|
|
748
|
+
SPEECH_2_8_TURBO =
|
|
749
|
+
T.let(
|
|
750
|
+
:"speech-2.8-turbo",
|
|
751
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::ModelID::TaggedSymbol
|
|
752
|
+
)
|
|
753
|
+
|
|
754
|
+
sig do
|
|
755
|
+
override.returns(
|
|
756
|
+
T::Array[
|
|
757
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::MinimaxClone::ModelID::TaggedSymbol
|
|
758
|
+
]
|
|
759
|
+
)
|
|
760
|
+
end
|
|
761
|
+
def self.values
|
|
762
|
+
end
|
|
763
|
+
end
|
|
764
|
+
end
|
|
188
765
|
|
|
189
766
|
sig do
|
|
190
767
|
override.returns(
|
|
191
768
|
T::Array[
|
|
192
|
-
Telnyx::VoiceCloneCreateFromUploadParams::
|
|
769
|
+
Telnyx::VoiceCloneCreateFromUploadParams::UploadParams::Variants
|
|
193
770
|
]
|
|
194
771
|
)
|
|
195
772
|
end
|
|
196
|
-
def self.
|
|
773
|
+
def self.variants
|
|
197
774
|
end
|
|
198
775
|
end
|
|
199
776
|
end
|