Class: RubyLLM::Providers::ElevenLabs

Inherits:
RubyLLM::Provider show all
Defined in:
lib/ruby_llm/providers/elevenlabs.rb

Overview

Integrates ElevenLabs speech, transcription, ElevenAgents, and Image & Video APIs.

Constant Summary

Constants included from Support::Inspectable

Support::Inspectable::TRUNCATE_AT

Instance Attribute Summary

Attributes inherited from RubyLLM::Provider

#config, #connection

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RubyLLM::Provider

#animate_later, assume_models_exist?, #assume_models_exist?, #batch_cost, #batch_cost_amounts, #batch_cost_multiplier, #batch_protocol_name, #batch_results, #batch_status, #batches?, #cache_content, #cancel_batch, capabilities, #capabilities, #compact, #complete, #configuration_requirements, #configured?, configured?, configured_providers, configured_remote_providers, #count_tokens, #create_batch, #delete_cache, display_name, #download_file, #embed, #extend_cache, #files?, #find_batch, #find_cache, #find_file, #find_research_job, #initialize, #list_file_uris, #list_models, #local?, local?, local_providers, #long_context_pricing?, model_registry_files, model_required?, models_dev_alias, models_dev_model_id, #moderate, #name, #ocr, #paint, #parse_error, #preprocess_message, protocol, #protocol_for, protocols, #protocols, providers, register, remote?, remote_providers, #render, #render_embedding, #rerank, #research_later, resolve, resolve!, resolve_registry_id, #retry_delay, #slug, #speak, #tokenize, #tool_approval_response, #transcribe, #upload_file

Methods included from Support::Inspectable

#full_inspect, #inspect, #pretty_print

Constructor Details

This class inherits a constructor from RubyLLM::Provider

Class Method Details

.configuration_optionsObject



25
26
27
# File 'lib/ruby_llm/providers/elevenlabs.rb', line 25

def configuration_options
  i[elevenlabs_api_key elevenlabs_api_base]
end

.configuration_requirementsObject



29
30
31
# File 'lib/ruby_llm/providers/elevenlabs.rb', line 29

def configuration_requirements
  i[elevenlabs_api_key]
end

Instance Method Details

#api_baseObject



16
17
18
# File 'lib/ruby_llm/providers/elevenlabs.rb', line 16

def api_base
  @config.elevenlabs_api_base || 'https://api.elevenlabs.io'
end

#headersObject



20
21
22
# File 'lib/ruby_llm/providers/elevenlabs.rb', line 20

def headers
  { 'xi-api-key' => @config.elevenlabs_api_key }
end

#resolve_protocol(name, model, operation: nil, **options) ⇒ Object



11
12
13
14
# File 'lib/ruby_llm/providers/elevenlabs.rb', line 11

def resolve_protocol(name, model, operation: nil, **options)
  name ||= :flows if i[paint animate].include?(operation)
  super
end