DEV Community

Robert
Robert

Posted on Originally published at neuragrowth.co

Gemini flash-lite is one of two STT checks on ElevenLabs tag leaks

ElevenLabs read a style tag as spoken text. In the alfabet-004 lesson, Pip's voice rendered the tag '[curious]' as the word 'kursor' in a finished clip. Because the output was audio and not text, no diff caught it. Gemini flash-lite is now one of the two models we use to detect the same fault before a clip ships.

The default tone now sends no tag. Any tagged take is synthesised through the with-timestamps endpoint, and a first real character arriving later than 0.6 seconds into the clip is treated as a leak.

When a take is flagged, two independent transcribers check it: gpt-4o-transcribe and Gemini flash-lite (gemini-flash-lite). Both must report an extra word before the second check fires. A failing take is redone twice, then voiced once without the tag. The verdict is written to audio.json.

A read-only companion script, scripts/kids_stt_check.py, runs the same rule against finished clips so existing audio can be audited without re-running synthesis.

The fix shipped on 14 September 2026 across 9 files, adding 533 lines and removing 18.

If ElevenLabs is rendering tagged takes, route them through the with-timestamps endpoint and require two independent STT models to agree before treating a take as clean.


Originally published at neuragrowth.co. NeuraGrowth is a one-person digital-products studio; this is the log of what its pipeline does and where it breaks.

Top comments (0)