ElevenLabs: default model is eleven_v3 - #36
Merged
Conversation
The most capable model, and the SpeechMarkdown dialects keep markup correct for it out of the box: default SpeechMarkdown now renders as v3 audio tags ([pause], [whispers], "/IPA/"); set modelId to a pre-v3 model for <break> markup or the longer character limits. The model_id tests now pin the invariant that the default selects the v3 dialect; the real-alignment live test is pinned to multilingual_v2 (it verifies the /with-timestamps JSON path specifically).
The test file added in #35 was merged on stale green checks: its final commit actually failed lint.yml/test.yml (unused TtsEngine import, doc_markdown, map_unwrap_or under clippy pedantic -D warnings), leaving main red. Fix the lints; verified against the exact CI command (clippy --all-targets -- -D warnings with the Linux feature set) and cargo fmt --all --check.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
eleven_v3(waseleven_multilingual_v2, hardcoded). Rationale: most capable model, and the SpeechMarkdown dialect layer keeps markup correct for it out of the box — default SpeechMarkdown now renders as v3 audio tags ([pause],[whispers],"/IPA/"); the/with-timestampsfallback from ElevenLabs: degrade gracefully when /with-timestamps is rejected #35 covers boundary requests if v3 rejects that variant.modelIdcredential still overrides — seteleven_multilingual_v2/eleven_flash_v2_5for<break>markup or longer character limits (v3: 5,000 chars vs multilingual_v2: 10,000).elevenlabs_smd_platformasserted together).eleven_multilingual_v2— it exists to verify the/with-timestampsJSON alignment path specifically..env.exampleupdated.Behavior change note
Callers relying on the old default get audio-tag output instead of
<break>markup for SpeechMarkdown pauses (and the v3 voice/limits). Plain text is unaffected; explicitmodelIdusers are unaffected.Test plan