Skip to content

feat: default to eleven_v4 for say and eleven_v4_turbo for new agents - #173

Merged
PaulAsjes merged 1 commit into
mainfrom
feat/default-eleven-v4
Oct 22, 2026
Merged

PaulAsjes merged 1 commit into
mainfrom
feat/default-eleven-v4

Conversation

@PaulAsjes

Copy link
Copy Markdown
Collaborator

Summary

The CLI still pointed people and agents at older models. say now defaults to eleven_v4, and agents created from the CLI's templates use eleven_v4_turbo. The skills the CLI generates for text-to-speech and text-to-dialogue now tell agents to pass --model-id eleven_v4, so they no longer end up on the API's older defaults.

Details
  • say: DEFAULT_MODEL_ID is now eleven_v4. onboard's test request uses the same constant, so it moves too. The say skill and the README now cover v4 and v3 for audio tags, and suggest eleven_v4_turbo as the faster option, since it still reads tags. I dropped the old "~0.8s slower than flash" claim because there's no matching v4 figure.
  • Agent templates: tts.model_id changes from eleven_flash_v2 to eleven_v4_turbo, which matches the API's own default for agents (TTSConversationalModel) in the bundled spec. The CLI never used eleven_v3_conversational anywhere.
  • Plain text-to-speech and text-to-dialogue commands send no model_id unless one is passed, so the API picks the model (eleven_multilingual_v2 and eleven_v3). That default comes from the API, so the CLI doesn't hard-code a model. Instead, a new MODEL_HINTS list in skills.rs adds a short "Model" section to those two generated skills. Like the existing additions there, generate-skills fails with an error if a hinted skill disappears after a regeneration, rather than quietly dropping the note.
  • Not changed: generated SDK/types code, the bundled spec, speech-to-speech and speech-to-text (separate model families with no v4), and the version number.

Testing

  • cargo test: all suites pass (1921 + 839 + smaller suites, 0 failures), including a new model_hints_recommend_v4 unit test.
  • Ran elevenlabs generate-skills into a scratch directory: 34 files written, and eleven_v4 appears only in say, text-to-speech and text-to-dialogue.
  • text-to-speech convert --dry-run without --model-id sends only text, which confirms the API picks the default.
  • Not verified: an actual say call or agent creation against the live API with the new models.

🤖 Generated with Claude Code

`say` now uses eleven_v4, agent templates use eleven_v4_turbo, and the
generated text-to-speech and text-to-dialogue skills tell agents to pass
--model-id eleven_v4 rather than falling back to the API's older defaults.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PaulAsjes
PaulAsjes marked this pull request as ready for review October 22, 2026 14:38
@PaulAsjes
PaulAsjes requested a review from bitpshr October 22, 2026 14:39
@PaulAsjes
PaulAsjes merged commit 678a74b into main Oct 22, 2026
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants