Class: Ultrasafeai::Audio::Speech::Client
- Inherits:
-
Object
- Object
- Ultrasafeai::Audio::Speech::Client
- Defined in:
- lib/ultrasafeai/audio/speech/client.rb
Instance Method Summary collapse
- #create(request_options: {}, **params) ⇒ untyped
- #initialize(client:, base_url: nil, environment: nil) ⇒ void constructor
- #stream(request_options: {}, **params) ⇒ untyped
Constructor Details
#initialize(client:, base_url: nil, environment: nil) ⇒ void
12 13 14 15 16 |
# File 'lib/ultrasafeai/audio/speech/client.rb', line 12 def initialize(client:, base_url: nil, environment: nil) @client = client @base_url = base_url @environment = environment end |
Instance Method Details
#create(request_options: {}, **params) ⇒ untyped
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/ultrasafeai/audio/speech/client.rb', line 27 def create(request_options: {}, **params) params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params) request = Ultrasafeai::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:base), method: "POST", path: "audio/speech", body: Ultrasafeai::Audio::Speech::Types::CreateSpeechRequest.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Ultrasafeai::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |
#stream(request_options: {}, **params) ⇒ untyped
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/ultrasafeai/audio/speech/client.rb', line 57 def stream(request_options: {}, **params) params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params) request = Ultrasafeai::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:base), method: "POST", path: "audio/speech/stream", body: Ultrasafeai::Audio::Speech::Types::StreamSpeechRequest.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Ultrasafeai::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |