Issue #3557496: Fix parameter placement for ElevenLabs API requests

Separate voice_settings parameters from root-level API parameters according to the ElevenLabs API specification. Previously all options were incorrectly nested inside voice_settings, preventing parameters like apply_text_normalization from working correctly.

Changes:

  • ElevenLabsApiService::textToSpeech() now properly routes parameters to voice_settings object (stability, similarity_boost, style, speed, use_speaker_boost) vs root level (apply_text_normalization, seed, previous_text, next_text, language_code, etc.)
  • ElevenlabsProvider::textToSpeech() passes configuration directly instead of wrapping in voice_settings array
  • Only passes parameters where module defaults differ from API defaults

Merge request reports

Loading