Building on genblaze-core 0.3.4 with the ElevenLabs connector, any TTS step with with_timestamps=True fails.
In genblaze_elevenlabs/provider.py the timestamps branch does:
response = client.text_to_speech.convert_with_timestamps(**kwargs)
audio_bytes = base64.b64decode(response.get("audio_base64", ""))
alignment = response.get("alignment", {})
Against the current elevenlabs package (2.58), convert_with_timestamps returns an AudioWithTimestampsResponse object, not a dict, so response.get(...) raises:
'AudioWithTimestampsResponse' object has no attribute 'get'
Two problems are stacked here: the response is an object rather than a dict, and the field name is audio_base_64 (underscores) rather than audio_base64.
Repro: any ElevenLabs TTS step with with_timestamps=True. The step fails and the error is surfaced with code UNKNOWN.
Suggested fix: read attributes off the model, for example response.audio_base_64 and response.alignment.characters. This is the same class of drift discussed in the dependency upper-bound issue (#61).
Environment: genblaze-core 0.3.4, genblaze-elevenlabs 0.3.1, elevenlabs 2.58.0, Python 3.14, Windows.
Building on
genblaze-core0.3.4 with the ElevenLabs connector, any TTS step withwith_timestamps=Truefails.In
genblaze_elevenlabs/provider.pythe timestamps branch does:Against the current
elevenlabspackage (2.58),convert_with_timestampsreturns anAudioWithTimestampsResponseobject, not a dict, soresponse.get(...)raises:Two problems are stacked here: the response is an object rather than a dict, and the field name is
audio_base_64(underscores) rather thanaudio_base64.Repro: any ElevenLabs TTS step with
with_timestamps=True. The step fails and the error is surfaced with codeUNKNOWN.Suggested fix: read attributes off the model, for example
response.audio_base_64andresponse.alignment.characters. This is the same class of drift discussed in the dependency upper-bound issue (#61).Environment: genblaze-core 0.3.4, genblaze-elevenlabs 0.3.1, elevenlabs 2.58.0, Python 3.14, Windows.