eleven_turbo_v2_5 deprecated: use Flash; Sume TTS Router ids
ElevenLabs lists eleven_turbo_v2_5 as deprecated and suggests eleven_flash_v2_5. Sume's TTS Router pins an explicit catalog id, so list the ids first.

The replacement for eleven_turbo_v2_5 is eleven_flash_v2_5, per the ElevenLabs models page: its deprecated table lists Flash as the suggested model, and says Flash is functionally equivalent with lower latency on average. On the Sume side the TTS Router takes an explicit catalog id, and TTS 1.0 has no engine picker, so there is no vendor model id to migrate.
Vendor facts are from the ElevenLabs models page read 2026-10-01; Sume facts from the OpenAPI schema in the API reference.
What did ElevenLabs deprecate?
The page lists three deprecated ids with a replacement each. It says it recommends the Flash models over Turbo in all use cases.
| Deprecated id | Suggested replacement |
|---|---|
eleven_turbo_v2_5 | eleven_flash_v2_5 |
eleven_turbo_v2 | eleven_flash_v2 |
scribe_v1 | scribe_v2 |
How does Sume name speech models?
TTS 1.0 has no engine picker: you send a transcript and a voice selector and Sume chooses the engine. The TTS Router is the explicit path. Its required model field is an id from GET /v1/tts-router/models, and the schema lists sonic-3.6, sonic-3.5, sonic-3, sonic-latest and sonic-preview. The field is not accepted on TTS 1.0.
An unknown id fails with 400 model_not_found and the catalog URL, so a retired or misspelled id surfaces as a typed error instead of a silent swap.
What should I change when an id is retired?
Treat the model id as configuration, not a literal in code. Read the router catalog, pick an id, and store it in settings. Do not send ElevenLabs ids such as eleven_flash_v2_5 to Sume; they are not in the router's list. For the same idea on speech-to-text, see a stable model id for STT.
const res = await fetch("https://api.sume.com/v1/tts-router/models", {
headers: { Authorization: "Bearer " + process.env.SUME_API_KEY },
});
const catalog = await res.json();
console.log(JSON.stringify(catalog, null, 2));Sources
Related posts
More in Developers
- ElevenLabs Voice Design 409: wait and retry, or new key on Sume?
Voice Design now returns 409 while a preview generation is in progress; ElevenLabs says retry. On Sume, reuse an Idempotency-Key only for the same payload.
- Facebook Page story API: media from an earlier post is rejected
Meta's Stories API says a story's photo or video cannot have been used in a published post. Make the story variant a new file with a Sume job, not the old URL.
- edge_fades_exceed_output: fade in and out too long for the video
Timeline 1.0 refuses fades that are too long: each edge fade is 0 to 5 seconds and fade in plus fade out must not exceed the output length.
- x-fal-billable-units header: WebSocket billing vs Sume receipts
fal bills WebSocket sessions via x-fal-billable-units headers. Sume has no such header: cost is a per-job ledger row you read back by job or run.
Written by Sume