Skip to content

ElevenLabs connector: with_timestamps path is broken against elevenlabs 2.x #163

Description

@mark124

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions