telnyx 5.121.0 → 5.122.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d2c6aecc01814246ef9af70e1255e44ed476bd4754cd2ae9ce665e7e2ea811b0
4
- data.tar.gz: 7c0a9a0c7c4feac1ac2240d645b1743ac3bf5f528ce8a2d521680a88c033edb4
3
+ metadata.gz: 3f4dc74346def73952145b566b7c7592ea87e36ffb011cd293455d96dd3bd38e
4
+ data.tar.gz: 1de45157e62dd00dd2c443fc9a52dde1c39556e33fa8c1a0e217ddaec8efa95d
5
5
  SHA512:
6
- metadata.gz: 80b8601c1ff1179c55101943ddcbc065d58d332c201d7d2efa14be8e1ca92057f2cad3c16b18b9c9c1c2356044075e2c08d7287ab30e79a8c60e8dfcb445ca0e
7
- data.tar.gz: a9364137d59377c78e95310d3447952779b5b0cbc71652e7f73d9002f20113dc76a0bc829395982afc96cd6148c43a8ccbb203e45b41300839a50661fd1f84f8
6
+ metadata.gz: 657adaca7d4b1b83b3f398ba8fd3db591f2db6b12338df645a6747b090b774fb1675828fc5523538ea4ac493c6d708d35dd95291c0947d0429bb2c19dc1c3269
7
+ data.tar.gz: 1da2f610f3ca95133f0ec9f451a842c6a069035c59847fee2b64284b62ea0ebba2bcd079b748aedf6cc69a9ad62a09ba72b6ede049551369ca85aa845e2e8cfd
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.122.0 (2026-05-27)
4
+
5
+ Full Changelog: [v5.121.0...v5.122.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.121.0...v5.122.0)
6
+
7
+ ### Features
8
+
9
+ * TELAPPS-406: document GET /speech-to-text/providers endpoint ([2b1544b](https://github.com/team-telnyx/telnyx-ruby/commit/2b1544b0e7b637a02ad10c5e91d856e48a1bffce))
10
+
3
11
  ## 5.121.0 (2026-05-27)
4
12
 
5
13
  Full Changelog: [v5.120.0...v5.121.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.120.0...v5.121.0)
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "telnyx", "~> 5.121.0"
27
+ gem "telnyx", "~> 5.122.0"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
data/lib/telnyx/client.rb CHANGED
@@ -663,6 +663,10 @@ module Telnyx
663
663
  # @return [Telnyx::Resources::UacConnections]
664
664
  attr_reader :uac_connections
665
665
 
666
+ # Discover available speech-to-text providers, models, and supported languages.
667
+ # @return [Telnyx::Resources::SpeechToText]
668
+ attr_reader :speech_to_text
669
+
666
670
  # Retrieve raw Voice SDK call report stats payloads for WebRTC call
667
671
  # troubleshooting.
668
672
  # @return [Telnyx::Resources::VoiceSDKCallReports]
@@ -941,6 +945,7 @@ module Telnyx
941
945
  @terms_of_service = Telnyx::Resources::TermsOfService.new(client: self)
942
946
  @pronunciation_dicts = Telnyx::Resources::PronunciationDicts.new(client: self)
943
947
  @uac_connections = Telnyx::Resources::UacConnections.new(client: self)
948
+ @speech_to_text = Telnyx::Resources::SpeechToText.new(client: self)
944
949
  @voice_sdk_call_reports = Telnyx::Resources::VoiceSDKCallReports.new(client: self)
945
950
  end
946
951
  end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ # @see Telnyx::Resources::SpeechToText#list_providers
6
+ class SpeechToTextListProvidersParams < Telnyx::Internal::Type::BaseModel
7
+ extend Telnyx::Internal::Type::RequestParameters::Converter
8
+ include Telnyx::Internal::Type::RequestParameters
9
+
10
+ # @!attribute provider
11
+ # Filter to entries for a specific STT provider. The enum mirrors the providers
12
+ # advertised across the speech-to-text spec (including `google` and `telnyx`,
13
+ # which are accepted as WebSocket transcription engines). A provider that has no
14
+ # models currently registered for any service type will return an empty `data`
15
+ # array rather than an error.
16
+ #
17
+ # @return [Symbol, Telnyx::Models::SpeechToTextListProvidersParams::Provider, nil]
18
+ optional :provider, enum: -> { Telnyx::SpeechToTextListProvidersParams::Provider }
19
+
20
+ # @!attribute service_type
21
+ # Filter to entries that support the given service type.
22
+ #
23
+ # @return [Symbol, Telnyx::Models::SpeechToTextListProvidersParams::ServiceType, nil]
24
+ optional :service_type, enum: -> { Telnyx::SpeechToTextListProvidersParams::ServiceType }
25
+
26
+ # @!method initialize(provider: nil, service_type: nil, request_options: {})
27
+ # Some parameter documentations has been truncated, see
28
+ # {Telnyx::Models::SpeechToTextListProvidersParams} for more details.
29
+ #
30
+ # @param provider [Symbol, Telnyx::Models::SpeechToTextListProvidersParams::Provider] Filter to entries for a specific STT provider. The enum mirrors the providers ad
31
+ #
32
+ # @param service_type [Symbol, Telnyx::Models::SpeechToTextListProvidersParams::ServiceType] Filter to entries that support the given service type.
33
+ #
34
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
35
+
36
+ # Filter to entries for a specific STT provider. The enum mirrors the providers
37
+ # advertised across the speech-to-text spec (including `google` and `telnyx`,
38
+ # which are accepted as WebSocket transcription engines). A provider that has no
39
+ # models currently registered for any service type will return an empty `data`
40
+ # array rather than an error.
41
+ module Provider
42
+ extend Telnyx::Internal::Type::Enum
43
+
44
+ DEEPGRAM = :deepgram
45
+ SPEECHMATICS = :speechmatics
46
+ ASSEMBLYAI = :assemblyai
47
+ XAI = :xai
48
+ SONIOX = :soniox
49
+ AZURE = :azure
50
+ OPENAI = :openai
51
+ GOOGLE = :google
52
+ TELNYX = :telnyx
53
+
54
+ # @!method self.values
55
+ # @return [Array<Symbol>]
56
+ end
57
+
58
+ # Filter to entries that support the given service type.
59
+ module ServiceType
60
+ extend Telnyx::Internal::Type::Enum
61
+
62
+ STREAMING = :streaming
63
+ FILE_TRANSCRIPTION = :file_transcription
64
+ IN_CALL_TRANSCRIPTION = :in_call_transcription
65
+
66
+ # @!method self.values
67
+ # @return [Array<Symbol>]
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ # @see Telnyx::Resources::SpeechToText#list_providers
6
+ class SpeechToTextListProvidersResponse < Telnyx::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [Array<Telnyx::Models::SpeechToTextListProvidersResponse::Data>]
10
+ required :data,
11
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::Models::SpeechToTextListProvidersResponse::Data] }
12
+
13
+ # @!attribute meta
14
+ #
15
+ # @return [Telnyx::Models::SpeechToTextListProvidersResponse::Meta]
16
+ required :meta, -> { Telnyx::Models::SpeechToTextListProvidersResponse::Meta }
17
+
18
+ # @!method initialize(data:, meta:)
19
+ # List of supported STT providers and models.
20
+ #
21
+ # @param data [Array<Telnyx::Models::SpeechToTextListProvidersResponse::Data>]
22
+ # @param meta [Telnyx::Models::SpeechToTextListProvidersResponse::Meta]
23
+
24
+ class Data < Telnyx::Internal::Type::BaseModel
25
+ # @!attribute languages
26
+ # Languages this (provider, model) accepts, in the provider's native code format.
27
+ # `auto` indicates the provider performs language detection.
28
+ #
29
+ # @return [Array<String>]
30
+ required :languages, Telnyx::Internal::Type::ArrayOf[String]
31
+
32
+ # @!attribute model
33
+ # Provider-scoped model name.
34
+ #
35
+ # @return [String]
36
+ required :model, String
37
+
38
+ # @!attribute provider
39
+ # STT provider name.
40
+ #
41
+ # @return [String]
42
+ required :provider, String
43
+
44
+ # @!attribute service_types
45
+ # Service surfaces this (provider, model) supports.
46
+ #
47
+ # @return [Array<Symbol, Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType>]
48
+ required :service_types,
49
+ -> { Telnyx::Internal::Type::ArrayOf[enum: Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType] }
50
+
51
+ # @!method initialize(languages:, model:, provider:, service_types:)
52
+ # Some parameter documentations has been truncated, see
53
+ # {Telnyx::Models::SpeechToTextListProvidersResponse::Data} for more details.
54
+ #
55
+ # A (provider, model) tuple along with its supported service types and languages.
56
+ #
57
+ # @param languages [Array<String>] Languages this (provider, model) accepts, in the provider's native code format.
58
+ #
59
+ # @param model [String] Provider-scoped model name.
60
+ #
61
+ # @param provider [String] STT provider name.
62
+ #
63
+ # @param service_types [Array<Symbol, Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType>] Service surfaces this (provider, model) supports.
64
+
65
+ # Service surface a model is available on.
66
+ module ServiceType
67
+ extend Telnyx::Internal::Type::Enum
68
+
69
+ STREAMING = :streaming
70
+ FILE_TRANSCRIPTION = :file_transcription
71
+ IN_CALL_TRANSCRIPTION = :in_call_transcription
72
+
73
+ # @!method self.values
74
+ # @return [Array<Symbol>]
75
+ end
76
+ end
77
+
78
+ # @see Telnyx::Models::SpeechToTextListProvidersResponse#meta
79
+ class Meta < Telnyx::Internal::Type::BaseModel
80
+ # @!attribute total
81
+ # Total number of entries returned.
82
+ #
83
+ # @return [Integer]
84
+ required :total, Integer
85
+
86
+ # @!method initialize(total:)
87
+ # @param total [Integer] Total number of entries returned.
88
+ end
89
+ end
90
+ end
91
+ end
data/lib/telnyx/models.rb CHANGED
@@ -1531,6 +1531,8 @@ module Telnyx
1531
1531
 
1532
1532
  SoundModifications = Telnyx::Models::SoundModifications
1533
1533
 
1534
+ SpeechToTextListProvidersParams = Telnyx::Models::SpeechToTextListProvidersParams
1535
+
1534
1536
  Storage = Telnyx::Models::Storage
1535
1537
 
1536
1538
  StorageListMigrationSourceCoverageParams = Telnyx::Models::StorageListMigrationSourceCoverageParams
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Resources
5
+ # Discover available speech-to-text providers, models, and supported languages.
6
+ class SpeechToText
7
+ # Some parameter documentations has been truncated, see
8
+ # {Telnyx::Models::SpeechToTextListProvidersParams} for more details.
9
+ #
10
+ # Retrieve the canonical list of supported speech-to-text providers, models,
11
+ # accepted language codes, and the service types each model supports.
12
+ #
13
+ # Service types:
14
+ #
15
+ # - `streaming` — standalone WebSocket transcription via
16
+ # `/speech-to-text/transcription`.
17
+ # - `file_transcription` — file-based transcription via
18
+ # `/ai/audio/transcriptions`.
19
+ # - `in_call_transcription` — live call transcription via Call Control
20
+ # `transcription_start`.
21
+ #
22
+ # Use this endpoint to discover which (provider, model) combinations are available
23
+ # for the surface you need, and which language codes each accepts. `auto` in a
24
+ # `languages` array indicates the provider performs language detection.
25
+ #
26
+ # @overload list_providers(provider: nil, service_type: nil, request_options: {})
27
+ #
28
+ # @param provider [Symbol, Telnyx::Models::SpeechToTextListProvidersParams::Provider] Filter to entries for a specific STT provider. The enum mirrors the providers ad
29
+ #
30
+ # @param service_type [Symbol, Telnyx::Models::SpeechToTextListProvidersParams::ServiceType] Filter to entries that support the given service type.
31
+ #
32
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
33
+ #
34
+ # @return [Telnyx::Models::SpeechToTextListProvidersResponse]
35
+ #
36
+ # @see Telnyx::Models::SpeechToTextListProvidersParams
37
+ def list_providers(params = {})
38
+ parsed, options = Telnyx::SpeechToTextListProvidersParams.dump_request(params)
39
+ query = Telnyx::Internal::Util.encode_query_params(parsed)
40
+ path =
41
+ @client.base_url_overridden? ? "speech-to-text/providers" : "https://api.telnyx.com/v2/speech-to-text/providers"
42
+ @client.request(
43
+ method: :get,
44
+ path: path,
45
+ query: query,
46
+ model: Telnyx::Models::SpeechToTextListProvidersResponse,
47
+ options: options
48
+ )
49
+ end
50
+
51
+ # @api private
52
+ #
53
+ # @param client [Telnyx::Client]
54
+ def initialize(client:)
55
+ @client = client
56
+ end
57
+ end
58
+ end
59
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Telnyx
4
- VERSION = "5.121.0"
4
+ VERSION = "5.122.0"
5
5
  end
data/lib/telnyx.rb CHANGED
@@ -2057,6 +2057,8 @@ require_relative "telnyx/models/siprec_connector_retrieve_response"
2057
2057
  require_relative "telnyx/models/siprec_connector_update_params"
2058
2058
  require_relative "telnyx/models/siprec_connector_update_response"
2059
2059
  require_relative "telnyx/models/sound_modifications"
2060
+ require_relative "telnyx/models/speech_to_text_list_providers_params"
2061
+ require_relative "telnyx/models/speech_to_text_list_providers_response"
2060
2062
  require_relative "telnyx/models/storage/bucket_create_presigned_url_params"
2061
2063
  require_relative "telnyx/models/storage/bucket_create_presigned_url_response"
2062
2064
  require_relative "telnyx/models/storage/buckets/ssl_certificate"
@@ -2700,6 +2702,7 @@ require_relative "telnyx/resources/sim_card_orders"
2700
2702
  require_relative "telnyx/resources/sim_cards"
2701
2703
  require_relative "telnyx/resources/sim_cards/actions"
2702
2704
  require_relative "telnyx/resources/siprec_connectors"
2705
+ require_relative "telnyx/resources/speech_to_text"
2703
2706
  require_relative "telnyx/resources/storage"
2704
2707
  require_relative "telnyx/resources/storage/buckets"
2705
2708
  require_relative "telnyx/resources/storage/buckets/ssl_certificate"
@@ -658,6 +658,10 @@ module Telnyx
658
658
  sig { returns(Telnyx::Resources::UacConnections) }
659
659
  attr_reader :uac_connections
660
660
 
661
+ # Discover available speech-to-text providers, models, and supported languages.
662
+ sig { returns(Telnyx::Resources::SpeechToText) }
663
+ attr_reader :speech_to_text
664
+
661
665
  # Retrieve raw Voice SDK call report stats payloads for WebRTC call
662
666
  # troubleshooting.
663
667
  sig { returns(Telnyx::Resources::VoiceSDKCallReports) }
@@ -0,0 +1,198 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ class SpeechToTextListProvidersParams < Telnyx::Internal::Type::BaseModel
6
+ extend Telnyx::Internal::Type::RequestParameters::Converter
7
+ include Telnyx::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Telnyx::SpeechToTextListProvidersParams,
13
+ Telnyx::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Filter to entries for a specific STT provider. The enum mirrors the providers
18
+ # advertised across the speech-to-text spec (including `google` and `telnyx`,
19
+ # which are accepted as WebSocket transcription engines). A provider that has no
20
+ # models currently registered for any service type will return an empty `data`
21
+ # array rather than an error.
22
+ sig do
23
+ returns(
24
+ T.nilable(Telnyx::SpeechToTextListProvidersParams::Provider::OrSymbol)
25
+ )
26
+ end
27
+ attr_reader :provider
28
+
29
+ sig do
30
+ params(
31
+ provider: Telnyx::SpeechToTextListProvidersParams::Provider::OrSymbol
32
+ ).void
33
+ end
34
+ attr_writer :provider
35
+
36
+ # Filter to entries that support the given service type.
37
+ sig do
38
+ returns(
39
+ T.nilable(
40
+ Telnyx::SpeechToTextListProvidersParams::ServiceType::OrSymbol
41
+ )
42
+ )
43
+ end
44
+ attr_reader :service_type
45
+
46
+ sig do
47
+ params(
48
+ service_type:
49
+ Telnyx::SpeechToTextListProvidersParams::ServiceType::OrSymbol
50
+ ).void
51
+ end
52
+ attr_writer :service_type
53
+
54
+ sig do
55
+ params(
56
+ provider: Telnyx::SpeechToTextListProvidersParams::Provider::OrSymbol,
57
+ service_type:
58
+ Telnyx::SpeechToTextListProvidersParams::ServiceType::OrSymbol,
59
+ request_options: Telnyx::RequestOptions::OrHash
60
+ ).returns(T.attached_class)
61
+ end
62
+ def self.new(
63
+ # Filter to entries for a specific STT provider. The enum mirrors the providers
64
+ # advertised across the speech-to-text spec (including `google` and `telnyx`,
65
+ # which are accepted as WebSocket transcription engines). A provider that has no
66
+ # models currently registered for any service type will return an empty `data`
67
+ # array rather than an error.
68
+ provider: nil,
69
+ # Filter to entries that support the given service type.
70
+ service_type: nil,
71
+ request_options: {}
72
+ )
73
+ end
74
+
75
+ sig do
76
+ override.returns(
77
+ {
78
+ provider:
79
+ Telnyx::SpeechToTextListProvidersParams::Provider::OrSymbol,
80
+ service_type:
81
+ Telnyx::SpeechToTextListProvidersParams::ServiceType::OrSymbol,
82
+ request_options: Telnyx::RequestOptions
83
+ }
84
+ )
85
+ end
86
+ def to_hash
87
+ end
88
+
89
+ # Filter to entries for a specific STT provider. The enum mirrors the providers
90
+ # advertised across the speech-to-text spec (including `google` and `telnyx`,
91
+ # which are accepted as WebSocket transcription engines). A provider that has no
92
+ # models currently registered for any service type will return an empty `data`
93
+ # array rather than an error.
94
+ module Provider
95
+ extend Telnyx::Internal::Type::Enum
96
+
97
+ TaggedSymbol =
98
+ T.type_alias do
99
+ T.all(Symbol, Telnyx::SpeechToTextListProvidersParams::Provider)
100
+ end
101
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
102
+
103
+ DEEPGRAM =
104
+ T.let(
105
+ :deepgram,
106
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
107
+ )
108
+ SPEECHMATICS =
109
+ T.let(
110
+ :speechmatics,
111
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
112
+ )
113
+ ASSEMBLYAI =
114
+ T.let(
115
+ :assemblyai,
116
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
117
+ )
118
+ XAI =
119
+ T.let(
120
+ :xai,
121
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
122
+ )
123
+ SONIOX =
124
+ T.let(
125
+ :soniox,
126
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
127
+ )
128
+ AZURE =
129
+ T.let(
130
+ :azure,
131
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
132
+ )
133
+ OPENAI =
134
+ T.let(
135
+ :openai,
136
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
137
+ )
138
+ GOOGLE =
139
+ T.let(
140
+ :google,
141
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
142
+ )
143
+ TELNYX =
144
+ T.let(
145
+ :telnyx,
146
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
147
+ )
148
+
149
+ sig do
150
+ override.returns(
151
+ T::Array[
152
+ Telnyx::SpeechToTextListProvidersParams::Provider::TaggedSymbol
153
+ ]
154
+ )
155
+ end
156
+ def self.values
157
+ end
158
+ end
159
+
160
+ # Filter to entries that support the given service type.
161
+ module ServiceType
162
+ extend Telnyx::Internal::Type::Enum
163
+
164
+ TaggedSymbol =
165
+ T.type_alias do
166
+ T.all(Symbol, Telnyx::SpeechToTextListProvidersParams::ServiceType)
167
+ end
168
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
169
+
170
+ STREAMING =
171
+ T.let(
172
+ :streaming,
173
+ Telnyx::SpeechToTextListProvidersParams::ServiceType::TaggedSymbol
174
+ )
175
+ FILE_TRANSCRIPTION =
176
+ T.let(
177
+ :file_transcription,
178
+ Telnyx::SpeechToTextListProvidersParams::ServiceType::TaggedSymbol
179
+ )
180
+ IN_CALL_TRANSCRIPTION =
181
+ T.let(
182
+ :in_call_transcription,
183
+ Telnyx::SpeechToTextListProvidersParams::ServiceType::TaggedSymbol
184
+ )
185
+
186
+ sig do
187
+ override.returns(
188
+ T::Array[
189
+ Telnyx::SpeechToTextListProvidersParams::ServiceType::TaggedSymbol
190
+ ]
191
+ )
192
+ end
193
+ def self.values
194
+ end
195
+ end
196
+ end
197
+ end
198
+ end
@@ -0,0 +1,196 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ class SpeechToTextListProvidersResponse < Telnyx::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Telnyx::Models::SpeechToTextListProvidersResponse,
10
+ Telnyx::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(
16
+ T::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data]
17
+ )
18
+ end
19
+ attr_accessor :data
20
+
21
+ sig { returns(Telnyx::Models::SpeechToTextListProvidersResponse::Meta) }
22
+ attr_reader :meta
23
+
24
+ sig do
25
+ params(
26
+ meta: Telnyx::Models::SpeechToTextListProvidersResponse::Meta::OrHash
27
+ ).void
28
+ end
29
+ attr_writer :meta
30
+
31
+ # List of supported STT providers and models.
32
+ sig do
33
+ params(
34
+ data:
35
+ T::Array[
36
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::OrHash
37
+ ],
38
+ meta: Telnyx::Models::SpeechToTextListProvidersResponse::Meta::OrHash
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(data:, meta:)
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ {
47
+ data:
48
+ T::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data],
49
+ meta: Telnyx::Models::SpeechToTextListProvidersResponse::Meta
50
+ }
51
+ )
52
+ end
53
+ def to_hash
54
+ end
55
+
56
+ class Data < Telnyx::Internal::Type::BaseModel
57
+ OrHash =
58
+ T.type_alias do
59
+ T.any(
60
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data,
61
+ Telnyx::Internal::AnyHash
62
+ )
63
+ end
64
+
65
+ # Languages this (provider, model) accepts, in the provider's native code format.
66
+ # `auto` indicates the provider performs language detection.
67
+ sig { returns(T::Array[String]) }
68
+ attr_accessor :languages
69
+
70
+ # Provider-scoped model name.
71
+ sig { returns(String) }
72
+ attr_accessor :model
73
+
74
+ # STT provider name.
75
+ sig { returns(String) }
76
+ attr_accessor :provider
77
+
78
+ # Service surfaces this (provider, model) supports.
79
+ sig do
80
+ returns(
81
+ T::Array[
82
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
83
+ ]
84
+ )
85
+ end
86
+ attr_accessor :service_types
87
+
88
+ # A (provider, model) tuple along with its supported service types and languages.
89
+ sig do
90
+ params(
91
+ languages: T::Array[String],
92
+ model: String,
93
+ provider: String,
94
+ service_types:
95
+ T::Array[
96
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::OrSymbol
97
+ ]
98
+ ).returns(T.attached_class)
99
+ end
100
+ def self.new(
101
+ # Languages this (provider, model) accepts, in the provider's native code format.
102
+ # `auto` indicates the provider performs language detection.
103
+ languages:,
104
+ # Provider-scoped model name.
105
+ model:,
106
+ # STT provider name.
107
+ provider:,
108
+ # Service surfaces this (provider, model) supports.
109
+ service_types:
110
+ )
111
+ end
112
+
113
+ sig do
114
+ override.returns(
115
+ {
116
+ languages: T::Array[String],
117
+ model: String,
118
+ provider: String,
119
+ service_types:
120
+ T::Array[
121
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
122
+ ]
123
+ }
124
+ )
125
+ end
126
+ def to_hash
127
+ end
128
+
129
+ # Service surface a model is available on.
130
+ module ServiceType
131
+ extend Telnyx::Internal::Type::Enum
132
+
133
+ TaggedSymbol =
134
+ T.type_alias do
135
+ T.all(
136
+ Symbol,
137
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType
138
+ )
139
+ end
140
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
141
+
142
+ STREAMING =
143
+ T.let(
144
+ :streaming,
145
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
146
+ )
147
+ FILE_TRANSCRIPTION =
148
+ T.let(
149
+ :file_transcription,
150
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
151
+ )
152
+ IN_CALL_TRANSCRIPTION =
153
+ T.let(
154
+ :in_call_transcription,
155
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
156
+ )
157
+
158
+ sig do
159
+ override.returns(
160
+ T::Array[
161
+ Telnyx::Models::SpeechToTextListProvidersResponse::Data::ServiceType::TaggedSymbol
162
+ ]
163
+ )
164
+ end
165
+ def self.values
166
+ end
167
+ end
168
+ end
169
+
170
+ class Meta < Telnyx::Internal::Type::BaseModel
171
+ OrHash =
172
+ T.type_alias do
173
+ T.any(
174
+ Telnyx::Models::SpeechToTextListProvidersResponse::Meta,
175
+ Telnyx::Internal::AnyHash
176
+ )
177
+ end
178
+
179
+ # Total number of entries returned.
180
+ sig { returns(Integer) }
181
+ attr_accessor :total
182
+
183
+ sig { params(total: Integer).returns(T.attached_class) }
184
+ def self.new(
185
+ # Total number of entries returned.
186
+ total:
187
+ )
188
+ end
189
+
190
+ sig { override.returns({ total: Integer }) }
191
+ def to_hash
192
+ end
193
+ end
194
+ end
195
+ end
196
+ end
@@ -1684,6 +1684,9 @@ module Telnyx
1684
1684
 
1685
1685
  SoundModifications = Telnyx::Models::SoundModifications
1686
1686
 
1687
+ SpeechToTextListProvidersParams =
1688
+ Telnyx::Models::SpeechToTextListProvidersParams
1689
+
1687
1690
  Storage = Telnyx::Models::Storage
1688
1691
 
1689
1692
  StorageListMigrationSourceCoverageParams =
@@ -0,0 +1,49 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ # Discover available speech-to-text providers, models, and supported languages.
6
+ class SpeechToText
7
+ # Retrieve the canonical list of supported speech-to-text providers, models,
8
+ # accepted language codes, and the service types each model supports.
9
+ #
10
+ # Service types:
11
+ #
12
+ # - `streaming` — standalone WebSocket transcription via
13
+ # `/speech-to-text/transcription`.
14
+ # - `file_transcription` — file-based transcription via
15
+ # `/ai/audio/transcriptions`.
16
+ # - `in_call_transcription` — live call transcription via Call Control
17
+ # `transcription_start`.
18
+ #
19
+ # Use this endpoint to discover which (provider, model) combinations are available
20
+ # for the surface you need, and which language codes each accepts. `auto` in a
21
+ # `languages` array indicates the provider performs language detection.
22
+ sig do
23
+ params(
24
+ provider: Telnyx::SpeechToTextListProvidersParams::Provider::OrSymbol,
25
+ service_type:
26
+ Telnyx::SpeechToTextListProvidersParams::ServiceType::OrSymbol,
27
+ request_options: Telnyx::RequestOptions::OrHash
28
+ ).returns(Telnyx::Models::SpeechToTextListProvidersResponse)
29
+ end
30
+ def list_providers(
31
+ # Filter to entries for a specific STT provider. The enum mirrors the providers
32
+ # advertised across the speech-to-text spec (including `google` and `telnyx`,
33
+ # which are accepted as WebSocket transcription engines). A provider that has no
34
+ # models currently registered for any service type will return an empty `data`
35
+ # array rather than an error.
36
+ provider: nil,
37
+ # Filter to entries that support the given service type.
38
+ service_type: nil,
39
+ request_options: {}
40
+ )
41
+ end
42
+
43
+ # @api private
44
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
45
+ def self.new(client:)
46
+ end
47
+ end
48
+ end
49
+ end
@@ -344,6 +344,8 @@ module Telnyx
344
344
 
345
345
  attr_reader uac_connections: Telnyx::Resources::UacConnections
346
346
 
347
+ attr_reader speech_to_text: Telnyx::Resources::SpeechToText
348
+
347
349
  attr_reader voice_sdk_call_reports: Telnyx::Resources::VoiceSDKCallReports
348
350
 
349
351
  private def auth_headers: -> ::Hash[String, String]
@@ -0,0 +1,79 @@
1
+ module Telnyx
2
+ module Models
3
+ type speech_to_text_list_providers_params =
4
+ {
5
+ provider: Telnyx::Models::SpeechToTextListProvidersParams::provider,
6
+ service_type: Telnyx::Models::SpeechToTextListProvidersParams::service_type
7
+ }
8
+ & Telnyx::Internal::Type::request_parameters
9
+
10
+ class SpeechToTextListProvidersParams < Telnyx::Internal::Type::BaseModel
11
+ extend Telnyx::Internal::Type::RequestParameters::Converter
12
+ include Telnyx::Internal::Type::RequestParameters
13
+
14
+ attr_reader provider: Telnyx::Models::SpeechToTextListProvidersParams::provider?
15
+
16
+ def provider=: (
17
+ Telnyx::Models::SpeechToTextListProvidersParams::provider
18
+ ) -> Telnyx::Models::SpeechToTextListProvidersParams::provider
19
+
20
+ attr_reader service_type: Telnyx::Models::SpeechToTextListProvidersParams::service_type?
21
+
22
+ def service_type=: (
23
+ Telnyx::Models::SpeechToTextListProvidersParams::service_type
24
+ ) -> Telnyx::Models::SpeechToTextListProvidersParams::service_type
25
+
26
+ def initialize: (
27
+ ?provider: Telnyx::Models::SpeechToTextListProvidersParams::provider,
28
+ ?service_type: Telnyx::Models::SpeechToTextListProvidersParams::service_type,
29
+ ?request_options: Telnyx::request_opts
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ provider: Telnyx::Models::SpeechToTextListProvidersParams::provider,
34
+ service_type: Telnyx::Models::SpeechToTextListProvidersParams::service_type,
35
+ request_options: Telnyx::RequestOptions
36
+ }
37
+
38
+ type provider =
39
+ :deepgram
40
+ | :speechmatics
41
+ | :assemblyai
42
+ | :xai
43
+ | :soniox
44
+ | :azure
45
+ | :openai
46
+ | :google
47
+ | :telnyx
48
+
49
+ module Provider
50
+ extend Telnyx::Internal::Type::Enum
51
+
52
+ DEEPGRAM: :deepgram
53
+ SPEECHMATICS: :speechmatics
54
+ ASSEMBLYAI: :assemblyai
55
+ XAI: :xai
56
+ SONIOX: :soniox
57
+ AZURE: :azure
58
+ OPENAI: :openai
59
+ GOOGLE: :google
60
+ TELNYX: :telnyx
61
+
62
+ def self?.values: -> ::Array[Telnyx::Models::SpeechToTextListProvidersParams::provider]
63
+ end
64
+
65
+ type service_type =
66
+ :streaming | :file_transcription | :in_call_transcription
67
+
68
+ module ServiceType
69
+ extend Telnyx::Internal::Type::Enum
70
+
71
+ STREAMING: :streaming
72
+ FILE_TRANSCRIPTION: :file_transcription
73
+ IN_CALL_TRANSCRIPTION: :in_call_transcription
74
+
75
+ def self?.values: -> ::Array[Telnyx::Models::SpeechToTextListProvidersParams::service_type]
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,80 @@
1
+ module Telnyx
2
+ module Models
3
+ type speech_to_text_list_providers_response =
4
+ {
5
+ data: ::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data],
6
+ meta: Telnyx::Models::SpeechToTextListProvidersResponse::Meta
7
+ }
8
+
9
+ class SpeechToTextListProvidersResponse < Telnyx::Internal::Type::BaseModel
10
+ attr_accessor data: ::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data]
11
+
12
+ attr_accessor meta: Telnyx::Models::SpeechToTextListProvidersResponse::Meta
13
+
14
+ def initialize: (
15
+ data: ::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data],
16
+ meta: Telnyx::Models::SpeechToTextListProvidersResponse::Meta
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ data: ::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data],
21
+ meta: Telnyx::Models::SpeechToTextListProvidersResponse::Meta
22
+ }
23
+
24
+ type data =
25
+ {
26
+ languages: ::Array[String],
27
+ model: String,
28
+ provider: String,
29
+ service_types: ::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data::service_type]
30
+ }
31
+
32
+ class Data < Telnyx::Internal::Type::BaseModel
33
+ attr_accessor languages: ::Array[String]
34
+
35
+ attr_accessor model: String
36
+
37
+ attr_accessor provider: String
38
+
39
+ attr_accessor service_types: ::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data::service_type]
40
+
41
+ def initialize: (
42
+ languages: ::Array[String],
43
+ model: String,
44
+ provider: String,
45
+ service_types: ::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data::service_type]
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ languages: ::Array[String],
50
+ model: String,
51
+ provider: String,
52
+ service_types: ::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data::service_type]
53
+ }
54
+
55
+ type service_type =
56
+ :streaming | :file_transcription | :in_call_transcription
57
+
58
+ module ServiceType
59
+ extend Telnyx::Internal::Type::Enum
60
+
61
+ STREAMING: :streaming
62
+ FILE_TRANSCRIPTION: :file_transcription
63
+ IN_CALL_TRANSCRIPTION: :in_call_transcription
64
+
65
+ def self?.values: -> ::Array[Telnyx::Models::SpeechToTextListProvidersResponse::Data::service_type]
66
+ end
67
+ end
68
+
69
+ type meta = { total: Integer }
70
+
71
+ class Meta < Telnyx::Internal::Type::BaseModel
72
+ attr_accessor total: Integer
73
+
74
+ def initialize: (total: Integer) -> void
75
+
76
+ def to_hash: -> { total: Integer }
77
+ end
78
+ end
79
+ end
80
+ end
@@ -1475,6 +1475,8 @@ module Telnyx
1475
1475
 
1476
1476
  class SoundModifications = Telnyx::Models::SoundModifications
1477
1477
 
1478
+ class SpeechToTextListProvidersParams = Telnyx::Models::SpeechToTextListProvidersParams
1479
+
1478
1480
  module Storage = Telnyx::Models::Storage
1479
1481
 
1480
1482
  class StorageListMigrationSourceCoverageParams = Telnyx::Models::StorageListMigrationSourceCoverageParams
@@ -0,0 +1,13 @@
1
+ module Telnyx
2
+ module Resources
3
+ class SpeechToText
4
+ def list_providers: (
5
+ ?provider: Telnyx::Models::SpeechToTextListProvidersParams::provider,
6
+ ?service_type: Telnyx::Models::SpeechToTextListProvidersParams::service_type,
7
+ ?request_options: Telnyx::request_opts
8
+ ) -> Telnyx::Models::SpeechToTextListProvidersResponse
9
+
10
+ def initialize: (client: Telnyx::Client) -> void
11
+ end
12
+ end
13
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: telnyx
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.121.0
4
+ version: 5.122.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Telnyx
@@ -2097,6 +2097,8 @@ files:
2097
2097
  - lib/telnyx/models/siprec_connector_update_params.rb
2098
2098
  - lib/telnyx/models/siprec_connector_update_response.rb
2099
2099
  - lib/telnyx/models/sound_modifications.rb
2100
+ - lib/telnyx/models/speech_to_text_list_providers_params.rb
2101
+ - lib/telnyx/models/speech_to_text_list_providers_response.rb
2100
2102
  - lib/telnyx/models/storage/bucket_create_presigned_url_params.rb
2101
2103
  - lib/telnyx/models/storage/bucket_create_presigned_url_response.rb
2102
2104
  - lib/telnyx/models/storage/buckets/pagination_meta_simple.rb
@@ -2746,6 +2748,7 @@ files:
2746
2748
  - lib/telnyx/resources/sim_cards.rb
2747
2749
  - lib/telnyx/resources/sim_cards/actions.rb
2748
2750
  - lib/telnyx/resources/siprec_connectors.rb
2751
+ - lib/telnyx/resources/speech_to_text.rb
2749
2752
  - lib/telnyx/resources/storage.rb
2750
2753
  - lib/telnyx/resources/storage/buckets.rb
2751
2754
  - lib/telnyx/resources/storage/buckets/ssl_certificate.rb
@@ -4842,6 +4845,8 @@ files:
4842
4845
  - rbi/telnyx/models/siprec_connector_update_params.rbi
4843
4846
  - rbi/telnyx/models/siprec_connector_update_response.rbi
4844
4847
  - rbi/telnyx/models/sound_modifications.rbi
4848
+ - rbi/telnyx/models/speech_to_text_list_providers_params.rbi
4849
+ - rbi/telnyx/models/speech_to_text_list_providers_response.rbi
4845
4850
  - rbi/telnyx/models/storage/bucket_create_presigned_url_params.rbi
4846
4851
  - rbi/telnyx/models/storage/bucket_create_presigned_url_response.rbi
4847
4852
  - rbi/telnyx/models/storage/buckets/pagination_meta_simple.rbi
@@ -5491,6 +5496,7 @@ files:
5491
5496
  - rbi/telnyx/resources/sim_cards.rbi
5492
5497
  - rbi/telnyx/resources/sim_cards/actions.rbi
5493
5498
  - rbi/telnyx/resources/siprec_connectors.rbi
5499
+ - rbi/telnyx/resources/speech_to_text.rbi
5494
5500
  - rbi/telnyx/resources/storage.rbi
5495
5501
  - rbi/telnyx/resources/storage/buckets.rbi
5496
5502
  - rbi/telnyx/resources/storage/buckets/ssl_certificate.rbi
@@ -7578,6 +7584,8 @@ files:
7578
7584
  - sig/telnyx/models/siprec_connector_update_params.rbs
7579
7585
  - sig/telnyx/models/siprec_connector_update_response.rbs
7580
7586
  - sig/telnyx/models/sound_modifications.rbs
7587
+ - sig/telnyx/models/speech_to_text_list_providers_params.rbs
7588
+ - sig/telnyx/models/speech_to_text_list_providers_response.rbs
7581
7589
  - sig/telnyx/models/storage/bucket_create_presigned_url_params.rbs
7582
7590
  - sig/telnyx/models/storage/bucket_create_presigned_url_response.rbs
7583
7591
  - sig/telnyx/models/storage/buckets/pagination_meta_simple.rbs
@@ -8227,6 +8235,7 @@ files:
8227
8235
  - sig/telnyx/resources/sim_cards.rbs
8228
8236
  - sig/telnyx/resources/sim_cards/actions.rbs
8229
8237
  - sig/telnyx/resources/siprec_connectors.rbs
8238
+ - sig/telnyx/resources/speech_to_text.rbs
8230
8239
  - sig/telnyx/resources/storage.rbs
8231
8240
  - sig/telnyx/resources/storage/buckets.rbs
8232
8241
  - sig/telnyx/resources/storage/buckets/ssl_certificate.rbs