Module: RubyLLM::Providers::OpenRouter::Speech

Included in:
ChatCompletions
Defined in:
lib/ruby_llm/providers/openrouter/speech.rb

Overview

Speech generation methods for the OpenRouter API integration. Voices are model-specific across OpenRouter's TTS catalog, so no default voice is assumed.

Class Method Summary collapse

Class Method Details

.parse_speech_response(response, model:, voice:, format:) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/ruby_llm/providers/openrouter/speech.rb', line 21

def parse_speech_response(response, model:, voice:, format:)
  RubyLLM::Speech.new(
    data: response.body,
    model: model,
    voice: voice,
    format: (format || 'mp3').to_s
  )
end

.render_speech_payload(input, model:, voice:, format:, provider_options: {}) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/ruby_llm/providers/openrouter/speech.rb', line 12

def render_speech_payload(input, model:, voice:, format:, provider_options: {})
  {
    model: model,
    input: input,
    voice: voice,
    response_format: format || 'mp3'
  }.compact.merge(provider_options)
end