revox 0.1.0 → 0.3.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 +81 -0
- data/README.md +39 -14
- data/lib/revox/client.rb +23 -1
- data/lib/revox/internal/transport/base_client.rb +5 -0
- data/lib/revox/internal/type/base_model.rb +3 -3
- data/lib/revox/internal/util.rb +22 -7
- data/lib/revox/models/assistant_clone_params.rb +20 -0
- data/lib/revox/models/assistant_clone_response.rb +1594 -0
- data/lib/revox/models/assistant_create_params.rb +1038 -13
- data/lib/revox/models/assistant_create_response.rb +1071 -11
- data/lib/revox/models/assistant_list_response.rb +1070 -11
- data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
- data/lib/revox/models/assistant_update_params.rb +1038 -13
- data/lib/revox/models/assistant_update_response.rb +1097 -12
- data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
- data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
- data/lib/revox/models/call_cancel_params.rb +20 -0
- data/lib/revox/models/call_cancel_response.rb +16 -0
- data/lib/revox/models/call_create_params.rb +1065 -13
- data/lib/revox/models/call_create_response.rb +1820 -98
- data/lib/revox/models/call_export_params.rb +205 -0
- data/lib/revox/models/call_export_response.rb +22 -0
- data/lib/revox/models/call_pause_params.rb +20 -0
- data/lib/revox/models/call_pause_response.rb +16 -0
- data/lib/revox/models/call_phone_history_params.rb +14 -0
- data/lib/revox/models/call_phone_history_response.rb +98 -0
- data/lib/revox/models/call_resume_params.rb +20 -0
- data/lib/revox/models/call_resume_response.rb +16 -0
- data/lib/revox/models/call_retrieve_response.rb +1822 -98
- data/lib/revox/models/call_search_params.rb +171 -0
- data/lib/revox/models/call_search_response.rb +3114 -0
- data/lib/revox/models/campaign_create_params.rb +67 -2
- data/lib/revox/models/campaign_create_response.rb +1314 -59
- data/lib/revox/models/campaign_get_rows_params.rb +1 -46
- data/lib/revox/models/campaign_get_rows_response.rb +1833 -115
- data/lib/revox/models/campaign_launch_params.rb +20 -0
- data/lib/revox/models/campaign_launch_response.rb +2030 -0
- data/lib/revox/models/campaign_list_response.rb +1312 -59
- data/lib/revox/models/campaign_pause_params.rb +20 -0
- data/lib/revox/models/campaign_pause_response.rb +16 -0
- data/lib/revox/models/campaign_resume_params.rb +20 -0
- data/lib/revox/models/campaign_resume_response.rb +16 -0
- data/lib/revox/models/campaign_retrieve_response.rb +1312 -56
- data/lib/revox/models/campaign_statistics_params.rb +20 -0
- data/lib/revox/models/campaign_statistics_response.rb +486 -0
- data/lib/revox/models/campaign_update_params.rb +234 -0
- data/lib/revox/models/campaign_update_response.rb +2030 -0
- data/lib/revox/models/phone_number_delete_params.rb +20 -0
- data/lib/revox/models/phone_number_delete_response.rb +16 -0
- data/lib/revox/models/phone_number_list_params.rb +14 -0
- data/lib/revox/models/phone_number_list_response.rb +1777 -0
- data/lib/revox/models/phone_number_update_params.rb +32 -0
- data/lib/revox/models/phone_number_update_response.rb +1777 -0
- data/lib/revox/models/user_retrieve_params.rb +14 -0
- data/lib/revox/models/user_retrieve_response.rb +99 -0
- data/lib/revox/models/voice_clone_params.rb +78 -0
- data/lib/revox/models/voice_clone_response.rb +40 -0
- data/lib/revox/models/voice_delete_params.rb +20 -0
- data/lib/revox/models/voice_delete_response.rb +16 -0
- data/lib/revox/models/voice_list_response.rb +55 -1
- data/lib/revox/models/voice_preview_params.rb +49 -1
- data/lib/revox/models.rb +36 -2
- data/lib/revox/resources/assistants.rb +137 -8
- data/lib/revox/resources/auth_status.rb +32 -0
- data/lib/revox/resources/call.rb +131 -15
- data/lib/revox/resources/campaigns.rb +143 -17
- data/lib/revox/resources/phone_numbers.rb +74 -0
- data/lib/revox/resources/users.rb +17 -3
- data/lib/revox/resources/voices.rb +66 -10
- data/lib/revox/version.rb +1 -1
- data/lib/revox.rb +40 -7
- data/rbi/revox/client.rbi +6 -0
- data/rbi/revox/internal/util.rbi +8 -0
- data/rbi/revox/models/assistant_clone_params.rbi +33 -0
- data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
- data/rbi/revox/models/assistant_create_params.rbi +2138 -103
- data/rbi/revox/models/assistant_create_response.rbi +2454 -199
- data/rbi/revox/models/assistant_list_response.rbi +2448 -195
- data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
- data/rbi/revox/models/assistant_update_params.rbi +2138 -103
- data/rbi/revox/models/assistant_update_response.rbi +2504 -198
- data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
- data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
- data/rbi/revox/models/call_cancel_params.rbi +33 -0
- data/rbi/revox/models/call_cancel_response.rbi +23 -0
- data/rbi/revox/models/call_create_params.rbi +2382 -225
- data/rbi/revox/models/call_create_response.rbi +4116 -384
- data/rbi/revox/models/call_export_params.rbi +456 -0
- data/rbi/revox/models/call_export_response.rbi +26 -0
- data/rbi/revox/models/call_pause_params.rbi +31 -0
- data/rbi/revox/models/call_pause_response.rbi +23 -0
- data/rbi/revox/models/call_phone_history_params.rbi +27 -0
- data/rbi/revox/models/call_phone_history_response.rbi +224 -0
- data/rbi/revox/models/call_resume_params.rbi +33 -0
- data/rbi/revox/models/call_resume_response.rbi +23 -0
- data/rbi/revox/models/call_retrieve_response.rbi +4133 -399
- data/rbi/revox/models/call_search_params.rbi +288 -0
- data/rbi/revox/models/call_search_response.rbi +6593 -0
- data/rbi/revox/models/campaign_create_params.rbi +136 -0
- data/rbi/revox/models/campaign_create_response.rbi +2911 -231
- data/rbi/revox/models/campaign_get_rows_params.rbi +2 -82
- data/rbi/revox/models/campaign_get_rows_response.rbi +4146 -409
- data/rbi/revox/models/campaign_launch_params.rbi +33 -0
- data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
- data/rbi/revox/models/campaign_list_response.rbi +2904 -230
- data/rbi/revox/models/campaign_pause_params.rbi +33 -0
- data/rbi/revox/models/campaign_pause_response.rbi +23 -0
- data/rbi/revox/models/campaign_resume_params.rbi +33 -0
- data/rbi/revox/models/campaign_resume_response.rbi +23 -0
- data/rbi/revox/models/campaign_retrieve_response.rbi +2911 -231
- data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
- data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
- data/rbi/revox/models/campaign_update_params.rbi +431 -0
- data/rbi/revox/models/campaign_update_response.rbi +4170 -0
- data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
- data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
- data/rbi/revox/models/phone_number_list_params.rbi +27 -0
- data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
- data/rbi/revox/models/phone_number_update_params.rbi +53 -0
- data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
- data/rbi/revox/models/user_retrieve_params.rbi +27 -0
- data/rbi/revox/models/user_retrieve_response.rbi +140 -0
- data/rbi/revox/models/voice_clone_params.rbi +141 -0
- data/rbi/revox/models/voice_clone_response.rbi +53 -0
- data/rbi/revox/models/voice_delete_params.rbi +33 -0
- data/rbi/revox/models/voice_delete_response.rbi +23 -0
- data/rbi/revox/models/voice_list_response.rbi +105 -3
- data/rbi/revox/models/voice_preview_params.rbi +69 -0
- data/rbi/revox/models.rbi +36 -2
- data/rbi/revox/resources/assistants.rbi +296 -8
- data/rbi/revox/resources/auth_status.rbi +21 -0
- data/rbi/revox/resources/call.rbi +92 -6
- data/rbi/revox/resources/campaigns.rbi +106 -19
- data/rbi/revox/resources/phone_numbers.rbi +43 -0
- data/rbi/revox/resources/users.rbi +8 -2
- data/rbi/revox/resources/voices.rbi +56 -9
- data/sig/revox/client.rbs +4 -0
- data/sig/revox/internal/util.rbs +4 -0
- data/sig/revox/models/assistant_clone_params.rbs +20 -0
- data/sig/revox/models/assistant_clone_response.rbs +1318 -0
- data/sig/revox/models/assistant_create_params.rbs +844 -11
- data/sig/revox/models/assistant_create_response.rbs +860 -3
- data/sig/revox/models/assistant_list_response.rbs +860 -3
- data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
- data/sig/revox/models/assistant_update_params.rbs +844 -11
- data/sig/revox/models/assistant_update_response.rbs +886 -6
- data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
- data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
- data/sig/revox/models/call_cancel_params.rbs +20 -0
- data/sig/revox/models/call_cancel_response.rbs +13 -0
- data/sig/revox/models/call_create_params.rbs +847 -13
- data/sig/revox/models/call_create_response.rbs +1519 -34
- data/sig/revox/models/call_export_params.rbs +234 -0
- data/sig/revox/models/call_export_response.rbs +15 -0
- data/sig/revox/models/call_pause_params.rbs +20 -0
- data/sig/revox/models/call_pause_response.rbs +13 -0
- data/sig/revox/models/call_phone_history_params.rbs +15 -0
- data/sig/revox/models/call_phone_history_response.rbs +102 -0
- data/sig/revox/models/call_resume_params.rbs +20 -0
- data/sig/revox/models/call_resume_response.rbs +13 -0
- data/sig/revox/models/call_retrieve_response.rbs +1519 -34
- data/sig/revox/models/call_search_params.rbs +198 -0
- data/sig/revox/models/call_search_response.rbs +2654 -0
- data/sig/revox/models/campaign_create_params.rbs +54 -0
- data/sig/revox/models/campaign_create_response.rbs +1034 -6
- data/sig/revox/models/campaign_get_rows_params.rbs +2 -64
- data/sig/revox/models/campaign_get_rows_response.rbs +1527 -54
- data/sig/revox/models/campaign_launch_params.rbs +20 -0
- data/sig/revox/models/campaign_launch_response.rbs +1694 -0
- data/sig/revox/models/campaign_list_response.rbs +1034 -6
- data/sig/revox/models/campaign_pause_params.rbs +20 -0
- data/sig/revox/models/campaign_pause_response.rbs +13 -0
- data/sig/revox/models/campaign_resume_params.rbs +20 -0
- data/sig/revox/models/campaign_resume_response.rbs +13 -0
- data/sig/revox/models/campaign_retrieve_response.rbs +1034 -6
- data/sig/revox/models/campaign_statistics_params.rbs +20 -0
- data/sig/revox/models/campaign_statistics_response.rbs +458 -0
- data/sig/revox/models/campaign_update_params.rbs +203 -0
- data/sig/revox/models/campaign_update_response.rbs +1694 -0
- data/sig/revox/models/phone_number_delete_params.rbs +20 -0
- data/sig/revox/models/phone_number_delete_response.rbs +13 -0
- data/sig/revox/models/phone_number_list_params.rbs +15 -0
- data/sig/revox/models/phone_number_list_response.rbs +1462 -0
- data/sig/revox/models/phone_number_update_params.rbs +32 -0
- data/sig/revox/models/phone_number_update_response.rbs +1460 -0
- data/sig/revox/models/user_retrieve_params.rbs +14 -0
- data/sig/revox/models/user_retrieve_response.rbs +71 -0
- data/sig/revox/models/voice_clone_params.rbs +79 -0
- data/sig/revox/models/voice_clone_response.rbs +40 -0
- data/sig/revox/models/voice_delete_params.rbs +20 -0
- data/sig/revox/models/voice_delete_response.rbs +13 -0
- data/sig/revox/models/voice_list_response.rbs +45 -3
- data/sig/revox/models/voice_preview_params.rbs +42 -1
- data/sig/revox/models.rbs +36 -2
- data/sig/revox/resources/assistants.rbs +61 -2
- data/sig/revox/resources/auth_status.rbs +11 -0
- data/sig/revox/resources/call.rbs +41 -3
- data/sig/revox/resources/campaigns.rbs +35 -5
- data/sig/revox/resources/phone_numbers.rbs +23 -0
- data/sig/revox/resources/users.rbs +3 -1
- data/sig/revox/resources/voices.rbs +17 -0
- metadata +122 -23
- data/lib/revox/models/call_list_params.rb +0 -52
- data/lib/revox/models/call_list_response.rb +0 -259
- data/lib/revox/models/users/me_retrieve_params.rb +0 -16
- data/lib/revox/models/users/me_retrieve_response.rb +0 -89
- data/lib/revox/models/users/me_update_params.rb +0 -22
- data/lib/revox/models/users/me_update_response.rb +0 -89
- data/lib/revox/resources/users/me.rb +0 -55
- data/rbi/revox/models/call_list_params.rbi +0 -94
- data/rbi/revox/models/call_list_response.rbi +0 -563
- data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
- data/rbi/revox/models/users/me_retrieve_response.rbi +0 -139
- data/rbi/revox/models/users/me_update_params.rbi +0 -43
- data/rbi/revox/models/users/me_update_response.rbi +0 -139
- data/rbi/revox/resources/users/me.rbi +0 -33
- data/sig/revox/models/call_list_params.rbs +0 -63
- data/sig/revox/models/call_list_response.rbs +0 -226
- data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
- data/sig/revox/models/users/me_retrieve_response.rbs +0 -70
- data/sig/revox/models/users/me_update_params.rbs +0 -28
- data/sig/revox/models/users/me_update_response.rbs +0 -70
- data/sig/revox/resources/users/me.rbs +0 -18
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class UserRetrieveParams < Revox::Internal::Type::BaseModel
|
|
6
|
+
extend Revox::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Revox::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Revox::UserRetrieveParams, Revox::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig do
|
|
15
|
+
params(request_options: Revox::RequestOptions::OrHash).returns(
|
|
16
|
+
T.attached_class
|
|
17
|
+
)
|
|
18
|
+
end
|
|
19
|
+
def self.new(request_options: {})
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ request_options: Revox::RequestOptions }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class UserRetrieveResponse < Revox::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Revox::Models::UserRetrieveResponse, Revox::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The current authenticated user.
|
|
12
|
+
sig { returns(Revox::Models::UserRetrieveResponse::User) }
|
|
13
|
+
attr_reader :user
|
|
14
|
+
|
|
15
|
+
sig do
|
|
16
|
+
params(user: Revox::Models::UserRetrieveResponse::User::OrHash).void
|
|
17
|
+
end
|
|
18
|
+
attr_writer :user
|
|
19
|
+
|
|
20
|
+
sig do
|
|
21
|
+
params(user: Revox::Models::UserRetrieveResponse::User::OrHash).returns(
|
|
22
|
+
T.attached_class
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
def self.new(
|
|
26
|
+
# The current authenticated user.
|
|
27
|
+
user:
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
override.returns({ user: Revox::Models::UserRetrieveResponse::User })
|
|
33
|
+
end
|
|
34
|
+
def to_hash
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
class User < Revox::Internal::Type::BaseModel
|
|
38
|
+
OrHash =
|
|
39
|
+
T.type_alias do
|
|
40
|
+
T.any(
|
|
41
|
+
Revox::Models::UserRetrieveResponse::User,
|
|
42
|
+
Revox::Internal::AnyHash
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# The unique identifier of the user.
|
|
47
|
+
sig { returns(String) }
|
|
48
|
+
attr_accessor :id
|
|
49
|
+
|
|
50
|
+
# The time the user was created.
|
|
51
|
+
sig { returns(T.anything) }
|
|
52
|
+
attr_accessor :created_at
|
|
53
|
+
|
|
54
|
+
# The email address of the user.
|
|
55
|
+
sig { returns(String) }
|
|
56
|
+
attr_accessor :email
|
|
57
|
+
|
|
58
|
+
# The first name of the user.
|
|
59
|
+
sig { returns(T.nilable(String)) }
|
|
60
|
+
attr_accessor :first_name
|
|
61
|
+
|
|
62
|
+
# Whether the user has completed the onboarding tutorial.
|
|
63
|
+
sig { returns(T::Boolean) }
|
|
64
|
+
attr_accessor :has_completed_onboarding
|
|
65
|
+
|
|
66
|
+
# The last name of the user.
|
|
67
|
+
sig { returns(T.nilable(String)) }
|
|
68
|
+
attr_accessor :last_name
|
|
69
|
+
|
|
70
|
+
# The ID of the organization the user belongs to.
|
|
71
|
+
sig { returns(String) }
|
|
72
|
+
attr_accessor :organization_id
|
|
73
|
+
|
|
74
|
+
# The time the user was last updated.
|
|
75
|
+
sig { returns(T.anything) }
|
|
76
|
+
attr_accessor :updated_at
|
|
77
|
+
|
|
78
|
+
# ISO 3166-1 alpha-2 country code of the organization (e.g. FR). Used as the
|
|
79
|
+
# default region when normalizing national-format phone numbers.
|
|
80
|
+
sig { returns(T.nilable(String)) }
|
|
81
|
+
attr_accessor :organization_country
|
|
82
|
+
|
|
83
|
+
# The current authenticated user.
|
|
84
|
+
sig do
|
|
85
|
+
params(
|
|
86
|
+
id: String,
|
|
87
|
+
created_at: T.anything,
|
|
88
|
+
email: String,
|
|
89
|
+
first_name: T.nilable(String),
|
|
90
|
+
has_completed_onboarding: T::Boolean,
|
|
91
|
+
last_name: T.nilable(String),
|
|
92
|
+
organization_id: String,
|
|
93
|
+
updated_at: T.anything,
|
|
94
|
+
organization_country: T.nilable(String)
|
|
95
|
+
).returns(T.attached_class)
|
|
96
|
+
end
|
|
97
|
+
def self.new(
|
|
98
|
+
# The unique identifier of the user.
|
|
99
|
+
id:,
|
|
100
|
+
# The time the user was created.
|
|
101
|
+
created_at:,
|
|
102
|
+
# The email address of the user.
|
|
103
|
+
email:,
|
|
104
|
+
# The first name of the user.
|
|
105
|
+
first_name:,
|
|
106
|
+
# Whether the user has completed the onboarding tutorial.
|
|
107
|
+
has_completed_onboarding:,
|
|
108
|
+
# The last name of the user.
|
|
109
|
+
last_name:,
|
|
110
|
+
# The ID of the organization the user belongs to.
|
|
111
|
+
organization_id:,
|
|
112
|
+
# The time the user was last updated.
|
|
113
|
+
updated_at:,
|
|
114
|
+
# ISO 3166-1 alpha-2 country code of the organization (e.g. FR). Used as the
|
|
115
|
+
# default region when normalizing national-format phone numbers.
|
|
116
|
+
organization_country: nil
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
sig do
|
|
121
|
+
override.returns(
|
|
122
|
+
{
|
|
123
|
+
id: String,
|
|
124
|
+
created_at: T.anything,
|
|
125
|
+
email: String,
|
|
126
|
+
first_name: T.nilable(String),
|
|
127
|
+
has_completed_onboarding: T::Boolean,
|
|
128
|
+
last_name: T.nilable(String),
|
|
129
|
+
organization_id: String,
|
|
130
|
+
updated_at: T.anything,
|
|
131
|
+
organization_country: T.nilable(String)
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
def to_hash
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class VoiceCloneParams < Revox::Internal::Type::BaseModel
|
|
6
|
+
extend Revox::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Revox::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Revox::VoiceCloneParams, Revox::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Base64-encoded audio data (max ~7.5MB decoded)
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :audio
|
|
17
|
+
|
|
18
|
+
# MIME type of the audio
|
|
19
|
+
sig { returns(Revox::VoiceCloneParams::ContentType::OrSymbol) }
|
|
20
|
+
attr_accessor :content_type
|
|
21
|
+
|
|
22
|
+
# Language of the voice
|
|
23
|
+
sig { returns(Revox::VoiceCloneParams::Language::OrSymbol) }
|
|
24
|
+
attr_accessor :language
|
|
25
|
+
|
|
26
|
+
# Name for the cloned voice
|
|
27
|
+
sig { returns(String) }
|
|
28
|
+
attr_accessor :name
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
audio: String,
|
|
33
|
+
content_type: Revox::VoiceCloneParams::ContentType::OrSymbol,
|
|
34
|
+
language: Revox::VoiceCloneParams::Language::OrSymbol,
|
|
35
|
+
name: String,
|
|
36
|
+
request_options: Revox::RequestOptions::OrHash
|
|
37
|
+
).returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(
|
|
40
|
+
# Base64-encoded audio data (max ~7.5MB decoded)
|
|
41
|
+
audio:,
|
|
42
|
+
# MIME type of the audio
|
|
43
|
+
content_type:,
|
|
44
|
+
# Language of the voice
|
|
45
|
+
language:,
|
|
46
|
+
# Name for the cloned voice
|
|
47
|
+
name:,
|
|
48
|
+
request_options: {}
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
sig do
|
|
53
|
+
override.returns(
|
|
54
|
+
{
|
|
55
|
+
audio: String,
|
|
56
|
+
content_type: Revox::VoiceCloneParams::ContentType::OrSymbol,
|
|
57
|
+
language: Revox::VoiceCloneParams::Language::OrSymbol,
|
|
58
|
+
name: String,
|
|
59
|
+
request_options: Revox::RequestOptions
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
def to_hash
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# MIME type of the audio
|
|
67
|
+
module ContentType
|
|
68
|
+
extend Revox::Internal::Type::Enum
|
|
69
|
+
|
|
70
|
+
TaggedSymbol =
|
|
71
|
+
T.type_alias { T.all(Symbol, Revox::VoiceCloneParams::ContentType) }
|
|
72
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
73
|
+
|
|
74
|
+
AUDIO_WEBM =
|
|
75
|
+
T.let(
|
|
76
|
+
:"audio/webm",
|
|
77
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
78
|
+
)
|
|
79
|
+
AUDIO_WAV =
|
|
80
|
+
T.let(
|
|
81
|
+
:"audio/wav",
|
|
82
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
83
|
+
)
|
|
84
|
+
AUDIO_MPEG =
|
|
85
|
+
T.let(
|
|
86
|
+
:"audio/mpeg",
|
|
87
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
88
|
+
)
|
|
89
|
+
AUDIO_OGG =
|
|
90
|
+
T.let(
|
|
91
|
+
:"audio/ogg",
|
|
92
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
93
|
+
)
|
|
94
|
+
AUDIO_MP4 =
|
|
95
|
+
T.let(
|
|
96
|
+
:"audio/mp4",
|
|
97
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
98
|
+
)
|
|
99
|
+
VIDEO_WEBM =
|
|
100
|
+
T.let(
|
|
101
|
+
:"video/webm",
|
|
102
|
+
Revox::VoiceCloneParams::ContentType::TaggedSymbol
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
sig do
|
|
106
|
+
override.returns(
|
|
107
|
+
T::Array[Revox::VoiceCloneParams::ContentType::TaggedSymbol]
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
def self.values
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Language of the voice
|
|
115
|
+
module Language
|
|
116
|
+
extend Revox::Internal::Type::Enum
|
|
117
|
+
|
|
118
|
+
TaggedSymbol =
|
|
119
|
+
T.type_alias { T.all(Symbol, Revox::VoiceCloneParams::Language) }
|
|
120
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
121
|
+
|
|
122
|
+
EN = T.let(:en, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
123
|
+
FR = T.let(:fr, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
124
|
+
ES = T.let(:es, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
125
|
+
DE = T.let(:de, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
126
|
+
IT = T.let(:it, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
127
|
+
PT = T.let(:pt, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
128
|
+
RU = T.let(:ru, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
129
|
+
ZH = T.let(:zh, Revox::VoiceCloneParams::Language::TaggedSymbol)
|
|
130
|
+
|
|
131
|
+
sig do
|
|
132
|
+
override.returns(
|
|
133
|
+
T::Array[Revox::VoiceCloneParams::Language::TaggedSymbol]
|
|
134
|
+
)
|
|
135
|
+
end
|
|
136
|
+
def self.values
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class VoiceCloneResponse < Revox::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Revox::Models::VoiceCloneResponse, Revox::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(String) }
|
|
12
|
+
attr_accessor :id
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :cartesia_voice_id
|
|
16
|
+
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :created_at
|
|
19
|
+
|
|
20
|
+
sig { returns(String) }
|
|
21
|
+
attr_accessor :language
|
|
22
|
+
|
|
23
|
+
sig { returns(String) }
|
|
24
|
+
attr_accessor :name
|
|
25
|
+
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
id: String,
|
|
29
|
+
cartesia_voice_id: String,
|
|
30
|
+
created_at: String,
|
|
31
|
+
language: String,
|
|
32
|
+
name: String
|
|
33
|
+
).returns(T.attached_class)
|
|
34
|
+
end
|
|
35
|
+
def self.new(id:, cartesia_voice_id:, created_at:, language:, name:)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
override.returns(
|
|
40
|
+
{
|
|
41
|
+
id: String,
|
|
42
|
+
cartesia_voice_id: String,
|
|
43
|
+
created_at: String,
|
|
44
|
+
language: String,
|
|
45
|
+
name: String
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
def to_hash
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class VoiceDeleteParams < Revox::Internal::Type::BaseModel
|
|
6
|
+
extend Revox::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Revox::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Revox::VoiceDeleteParams, Revox::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :id
|
|
16
|
+
|
|
17
|
+
sig do
|
|
18
|
+
params(
|
|
19
|
+
id: String,
|
|
20
|
+
request_options: Revox::RequestOptions::OrHash
|
|
21
|
+
).returns(T.attached_class)
|
|
22
|
+
end
|
|
23
|
+
def self.new(id:, request_options: {})
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig do
|
|
27
|
+
override.returns({ id: String, request_options: Revox::RequestOptions })
|
|
28
|
+
end
|
|
29
|
+
def to_hash
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
class VoiceDeleteResponse < Revox::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Revox::Models::VoiceDeleteResponse, Revox::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(T::Boolean) }
|
|
12
|
+
attr_accessor :success
|
|
13
|
+
|
|
14
|
+
sig { params(success: T::Boolean).returns(T.attached_class) }
|
|
15
|
+
def self.new(success:)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { override.returns({ success: T::Boolean }) }
|
|
19
|
+
def to_hash
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -64,6 +64,47 @@ module Revox
|
|
|
64
64
|
end
|
|
65
65
|
attr_accessor :provider
|
|
66
66
|
|
|
67
|
+
# The accent/dialect of the voice (e.g. 'american', 'british', 'australian',
|
|
68
|
+
# 'quebec').
|
|
69
|
+
sig { returns(T.nilable(String)) }
|
|
70
|
+
attr_reader :accent
|
|
71
|
+
|
|
72
|
+
sig { params(accent: String).void }
|
|
73
|
+
attr_writer :accent
|
|
74
|
+
|
|
75
|
+
# The gender of the voice (e.g. 'male', 'female', 'neutral').
|
|
76
|
+
sig { returns(T.nilable(String)) }
|
|
77
|
+
attr_reader :gender
|
|
78
|
+
|
|
79
|
+
sig { params(gender: String).void }
|
|
80
|
+
attr_writer :gender
|
|
81
|
+
|
|
82
|
+
# Whether this is a cloned voice.
|
|
83
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
84
|
+
attr_reader :is_cloned
|
|
85
|
+
|
|
86
|
+
sig { params(is_cloned: T::Boolean).void }
|
|
87
|
+
attr_writer :is_cloned
|
|
88
|
+
|
|
89
|
+
# Cartesia model compatibility. Used to filter the voice list by the selected
|
|
90
|
+
# model. Absent/undefined is treated as 'universal'.
|
|
91
|
+
sig do
|
|
92
|
+
returns(
|
|
93
|
+
T.nilable(
|
|
94
|
+
Revox::Models::VoiceListResponse::Voice::ModelCompat::TaggedSymbol
|
|
95
|
+
)
|
|
96
|
+
)
|
|
97
|
+
end
|
|
98
|
+
attr_reader :model_compat
|
|
99
|
+
|
|
100
|
+
sig do
|
|
101
|
+
params(
|
|
102
|
+
model_compat:
|
|
103
|
+
Revox::Models::VoiceListResponse::Voice::ModelCompat::OrSymbol
|
|
104
|
+
).void
|
|
105
|
+
end
|
|
106
|
+
attr_writer :model_compat
|
|
107
|
+
|
|
67
108
|
sig do
|
|
68
109
|
params(
|
|
69
110
|
id: String,
|
|
@@ -72,7 +113,12 @@ module Revox
|
|
|
72
113
|
Revox::Models::VoiceListResponse::Voice::Language::OrSymbol,
|
|
73
114
|
name: String,
|
|
74
115
|
provider:
|
|
75
|
-
Revox::Models::VoiceListResponse::Voice::Provider::OrSymbol
|
|
116
|
+
Revox::Models::VoiceListResponse::Voice::Provider::OrSymbol,
|
|
117
|
+
accent: String,
|
|
118
|
+
gender: String,
|
|
119
|
+
is_cloned: T::Boolean,
|
|
120
|
+
model_compat:
|
|
121
|
+
Revox::Models::VoiceListResponse::Voice::ModelCompat::OrSymbol
|
|
76
122
|
).returns(T.attached_class)
|
|
77
123
|
end
|
|
78
124
|
def self.new(
|
|
@@ -85,7 +131,17 @@ module Revox
|
|
|
85
131
|
# The name of the voice.
|
|
86
132
|
name:,
|
|
87
133
|
# The provider of the voice.
|
|
88
|
-
provider
|
|
134
|
+
provider:,
|
|
135
|
+
# The accent/dialect of the voice (e.g. 'american', 'british', 'australian',
|
|
136
|
+
# 'quebec').
|
|
137
|
+
accent: nil,
|
|
138
|
+
# The gender of the voice (e.g. 'male', 'female', 'neutral').
|
|
139
|
+
gender: nil,
|
|
140
|
+
# Whether this is a cloned voice.
|
|
141
|
+
is_cloned: nil,
|
|
142
|
+
# Cartesia model compatibility. Used to filter the voice list by the selected
|
|
143
|
+
# model. Absent/undefined is treated as 'universal'.
|
|
144
|
+
model_compat: nil
|
|
89
145
|
)
|
|
90
146
|
end
|
|
91
147
|
|
|
@@ -98,7 +154,12 @@ module Revox
|
|
|
98
154
|
Revox::Models::VoiceListResponse::Voice::Language::TaggedSymbol,
|
|
99
155
|
name: String,
|
|
100
156
|
provider:
|
|
101
|
-
Revox::Models::VoiceListResponse::Voice::Provider::TaggedSymbol
|
|
157
|
+
Revox::Models::VoiceListResponse::Voice::Provider::TaggedSymbol,
|
|
158
|
+
accent: String,
|
|
159
|
+
gender: String,
|
|
160
|
+
is_cloned: T::Boolean,
|
|
161
|
+
model_compat:
|
|
162
|
+
Revox::Models::VoiceListResponse::Voice::ModelCompat::TaggedSymbol
|
|
102
163
|
}
|
|
103
164
|
)
|
|
104
165
|
end
|
|
@@ -198,6 +259,47 @@ module Revox
|
|
|
198
259
|
def self.values
|
|
199
260
|
end
|
|
200
261
|
end
|
|
262
|
+
|
|
263
|
+
# Cartesia model compatibility. Used to filter the voice list by the selected
|
|
264
|
+
# model. Absent/undefined is treated as 'universal'.
|
|
265
|
+
module ModelCompat
|
|
266
|
+
extend Revox::Internal::Type::Enum
|
|
267
|
+
|
|
268
|
+
TaggedSymbol =
|
|
269
|
+
T.type_alias do
|
|
270
|
+
T.all(
|
|
271
|
+
Symbol,
|
|
272
|
+
Revox::Models::VoiceListResponse::Voice::ModelCompat
|
|
273
|
+
)
|
|
274
|
+
end
|
|
275
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
276
|
+
|
|
277
|
+
UNIVERSAL =
|
|
278
|
+
T.let(
|
|
279
|
+
:universal,
|
|
280
|
+
Revox::Models::VoiceListResponse::Voice::ModelCompat::TaggedSymbol
|
|
281
|
+
)
|
|
282
|
+
SONIC_3 =
|
|
283
|
+
T.let(
|
|
284
|
+
:"sonic-3",
|
|
285
|
+
Revox::Models::VoiceListResponse::Voice::ModelCompat::TaggedSymbol
|
|
286
|
+
)
|
|
287
|
+
SONIC_3_5 =
|
|
288
|
+
T.let(
|
|
289
|
+
:"sonic-3.5",
|
|
290
|
+
Revox::Models::VoiceListResponse::Voice::ModelCompat::TaggedSymbol
|
|
291
|
+
)
|
|
292
|
+
|
|
293
|
+
sig do
|
|
294
|
+
override.returns(
|
|
295
|
+
T::Array[
|
|
296
|
+
Revox::Models::VoiceListResponse::Voice::ModelCompat::TaggedSymbol
|
|
297
|
+
]
|
|
298
|
+
)
|
|
299
|
+
end
|
|
300
|
+
def self.values
|
|
301
|
+
end
|
|
302
|
+
end
|
|
201
303
|
end
|
|
202
304
|
end
|
|
203
305
|
end
|
|
@@ -19,10 +19,43 @@ module Revox
|
|
|
19
19
|
sig { returns(String) }
|
|
20
20
|
attr_accessor :voice_id
|
|
21
21
|
|
|
22
|
+
# Cartesia model for the preview. Defaults to sonic-3. Ignored for other
|
|
23
|
+
# providers.
|
|
24
|
+
sig { returns(T.nilable(Revox::VoicePreviewParams::Model::OrSymbol)) }
|
|
25
|
+
attr_reader :model
|
|
26
|
+
|
|
27
|
+
sig { params(model: Revox::VoicePreviewParams::Model::OrSymbol).void }
|
|
28
|
+
attr_writer :model
|
|
29
|
+
|
|
30
|
+
# Speed for preview. Cartesia 0.6–1.5, ElevenLabs 0.7–1.2. Default 1.0.
|
|
31
|
+
sig { returns(T.nilable(Float)) }
|
|
32
|
+
attr_reader :speed
|
|
33
|
+
|
|
34
|
+
sig { params(speed: Float).void }
|
|
35
|
+
attr_writer :speed
|
|
36
|
+
|
|
37
|
+
# Custom text for the preview. If omitted, a short default is used.
|
|
38
|
+
sig { returns(T.nilable(String)) }
|
|
39
|
+
attr_reader :text
|
|
40
|
+
|
|
41
|
+
sig { params(text: String).void }
|
|
42
|
+
attr_writer :text
|
|
43
|
+
|
|
44
|
+
# Volume for Cartesia preview (0.5–2.0). Ignored for other providers.
|
|
45
|
+
sig { returns(T.nilable(Float)) }
|
|
46
|
+
attr_reader :volume
|
|
47
|
+
|
|
48
|
+
sig { params(volume: Float).void }
|
|
49
|
+
attr_writer :volume
|
|
50
|
+
|
|
22
51
|
sig do
|
|
23
52
|
params(
|
|
24
53
|
provider: Revox::VoicePreviewParams::Provider::OrSymbol,
|
|
25
54
|
voice_id: String,
|
|
55
|
+
model: Revox::VoicePreviewParams::Model::OrSymbol,
|
|
56
|
+
speed: Float,
|
|
57
|
+
text: String,
|
|
58
|
+
volume: Float,
|
|
26
59
|
request_options: Revox::RequestOptions::OrHash
|
|
27
60
|
).returns(T.attached_class)
|
|
28
61
|
end
|
|
@@ -31,6 +64,15 @@ module Revox
|
|
|
31
64
|
provider:,
|
|
32
65
|
# The voice ID to generate a preview for.
|
|
33
66
|
voice_id:,
|
|
67
|
+
# Cartesia model for the preview. Defaults to sonic-3. Ignored for other
|
|
68
|
+
# providers.
|
|
69
|
+
model: nil,
|
|
70
|
+
# Speed for preview. Cartesia 0.6–1.5, ElevenLabs 0.7–1.2. Default 1.0.
|
|
71
|
+
speed: nil,
|
|
72
|
+
# Custom text for the preview. If omitted, a short default is used.
|
|
73
|
+
text: nil,
|
|
74
|
+
# Volume for Cartesia preview (0.5–2.0). Ignored for other providers.
|
|
75
|
+
volume: nil,
|
|
34
76
|
request_options: {}
|
|
35
77
|
)
|
|
36
78
|
end
|
|
@@ -40,6 +82,10 @@ module Revox
|
|
|
40
82
|
{
|
|
41
83
|
provider: Revox::VoicePreviewParams::Provider::OrSymbol,
|
|
42
84
|
voice_id: String,
|
|
85
|
+
model: Revox::VoicePreviewParams::Model::OrSymbol,
|
|
86
|
+
speed: Float,
|
|
87
|
+
text: String,
|
|
88
|
+
volume: Float,
|
|
43
89
|
request_options: Revox::RequestOptions
|
|
44
90
|
}
|
|
45
91
|
)
|
|
@@ -68,6 +114,29 @@ module Revox
|
|
|
68
114
|
def self.values
|
|
69
115
|
end
|
|
70
116
|
end
|
|
117
|
+
|
|
118
|
+
# Cartesia model for the preview. Defaults to sonic-3. Ignored for other
|
|
119
|
+
# providers.
|
|
120
|
+
module Model
|
|
121
|
+
extend Revox::Internal::Type::Enum
|
|
122
|
+
|
|
123
|
+
TaggedSymbol =
|
|
124
|
+
T.type_alias { T.all(Symbol, Revox::VoicePreviewParams::Model) }
|
|
125
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
126
|
+
|
|
127
|
+
SONIC_3 =
|
|
128
|
+
T.let(:"sonic-3", Revox::VoicePreviewParams::Model::TaggedSymbol)
|
|
129
|
+
SONIC_3_5 =
|
|
130
|
+
T.let(:"sonic-3.5", Revox::VoicePreviewParams::Model::TaggedSymbol)
|
|
131
|
+
|
|
132
|
+
sig do
|
|
133
|
+
override.returns(
|
|
134
|
+
T::Array[Revox::VoicePreviewParams::Model::TaggedSymbol]
|
|
135
|
+
)
|
|
136
|
+
end
|
|
137
|
+
def self.values
|
|
138
|
+
end
|
|
139
|
+
end
|
|
71
140
|
end
|
|
72
141
|
end
|
|
73
142
|
end
|