Class: ElevenlabsClient::AudioIsolation
- Inherits:
-
Object
- Object
- ElevenlabsClient::AudioIsolation
- Defined in:
- lib/elevenlabs_client/endpoints/audio_isolation.rb
Instance Method Summary collapse
-
#initialize(client) ⇒ AudioIsolation
constructor
A new instance of AudioIsolation.
-
#isolate(audio_file, filename, **options) ⇒ String
POST /v1/audio-isolation Removes background noise from audio Documentation: https://elevenlabs.io/docs/api-reference/audio-isolation.
-
#isolate_stream(audio_file, filename, **options, &block) ⇒ Faraday::Response
POST /v1/audio-isolation/stream Removes background noise from audio with streaming response Documentation: https://elevenlabs.io/docs/api-reference/audio-isolation/stream.
Constructor Details
#initialize(client) ⇒ AudioIsolation
Returns a new instance of AudioIsolation.
5 6 7 |
# File 'lib/elevenlabs_client/endpoints/audio_isolation.rb', line 5 def initialize(client) @client = client end |
Instance Method Details
#isolate(audio_file, filename, **options) ⇒ String
POST /v1/audio-isolation Removes background noise from audio Documentation: https://elevenlabs.io/docs/api-reference/audio-isolation
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/elevenlabs_client/endpoints/audio_isolation.rb', line 18 def isolate(audio_file, filename, **) endpoint = "/v1/audio-isolation" payload = { audio: @client.file_part(audio_file, filename) } # Add optional parameters if provided payload[:file_format] = [:file_format] if [:file_format] @client.post_multipart(endpoint, payload) end |
#isolate_stream(audio_file, filename, **options, &block) ⇒ Faraday::Response
POST /v1/audio-isolation/stream Removes background noise from audio with streaming response Documentation: https://elevenlabs.io/docs/api-reference/audio-isolation/stream
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/elevenlabs_client/endpoints/audio_isolation.rb', line 41 def isolate_stream(audio_file, filename, **, &block) endpoint = "/v1/audio-isolation/stream" payload = { audio: @client.file_part(audio_file, filename) } # Add optional parameters if provided payload[:file_format] = [:file_format] if [:file_format] # Use streaming multipart request response = @client.instance_variable_get(:@conn).post(endpoint) do |req| req.headers["xi-api-key"] = @client.api_key req.body = payload # Set up streaming callback if block provided if block_given? req..on_data = proc do |chunk, _| block.call(chunk) end end end @client.send(:handle_response, response) end |