elevenlabs.providers.sgit.ai / The bench — text to speech, with timestamps
The bench — text to speech, with timestamps
The original test bench, and the only page here that has been run against the live API — on 5 September 2026, from a human's own browser. Every verified chip on this site comes from a session with this page.
Prose from the video vault at commit 7d1916aca5f3, 7 September 2026. Ported from elevenlabs/index.html, the self-contained vault app, onto this site's shared lab runtime. When the vault moves ahead, this page is behind — and says so rather than guessing.
Your own full key, in your own browser, bounded only by your plan's monthly quota. That is pattern 0 with a ceiling: the narrow case where it is defensible — the key's owner, testing their own key, on their own device — and not a pattern to publish. No key ships in this page: the field below is empty until you fill it.
ElevenLabs offers no per-key spend limit for text to speech, so nothing here caps what a leaked key could cost you except the account's own quota. Use a key scoped in the dashboard to the endpoints this lab needs, and forget it when you are done. The version of this page with no key box at all is pattern three, and it does not exist yet.
1 · Connect
2 · Voice and model
3 · Text
v3 audio tags — click to insert at the cursor. eleven_v3 only, and use them sparingly
4 · Timing → SRT
Word table
| # | word | start | end |
|---|
The grouping rule is ours, not the vendor's, and the captions studio lets you tune it.
5 · The names test — one click, then listen
Generates the names to test sample with timestamps on the selected voice and builds a compact report — every word with its timing, the request id, the model — so that what you hear can be written down next to what was sent. This is the open item the whole site keeps pointing at: nobody has pressed this button yet.
6 · Log — every request this page has made
What this page proved, and what it did not
On 5 September 2026, from the project lead's browser inside a vault app frame: the subscription, voices and models endpoints answered, and three with-timestamps generations of a 187-character sample came back with audio and a per-character alignment verified 5 Sep 2026, in 5.0 to 5.8 seconds each verified 5 Sep 2026. CORS was never the problem verified 5 Sep 2026; the host's own content-security policy was verified 5 Sep 2026.
It did not prove that the cue rule produces readable subtitles written, not run, that any alias in the lexicon works written, not run, or which names the model gets wrong written, not run — the button in section 5 exists precisely because nobody has pressed it. Three samples are three samples, not a latency distribution.
The same page, under pattern three
This is the reason to publish a bench rather than a video of one: the argument fits in one screen.
What you are using now
Pattern 0 with a ceiling. Your key is in this page's JavaScript and in this browser's localStorage. It calls api.elevenlabs.io directly. Nothing bounds it but your plan's monthly quota vendor docs 5 Sep 2026.
Defensible because it is your key, your browser, and no key ships in the page. Not defensible as a thing to deploy for other people.
What it would become
Pattern 3. No key box, no key in storage, nothing in the network tab. sg.tts.speak() asks the vault host; the host holds the sealed key, applies maxCostPerSession, and returns audio and alignment. specified, not shipped
Same page, same buttons, same output. The credential simply is not here. The specification →
What it will cost you to run
At list price, the sample in the text box is 187 characters — about $0.019 on eleven_v3, or $0.009 on flash vendor docs 5 Sep 2026. The whole session that produced this site's verified claims was about 750 characters, $0.075 measured 5 Sep 2026. This is a lab you can run for the price of a rounding error, which is exactly why the open items in the ledger are embarrassing rather than expensive.
The command-line equivalents of what this page does are downloadable as files — 00-smoke.sh, tts-timestamps.mjs and the rest — badged unrun, with the pipeline invocation beside them written, not run.
If the request fails with a network error rather than an HTTP status, it is CORS or a host CSP and not your key verified 5 Sep 2026: open the console, check for a connect-src violation, and see §9 of the report.