Gemini 3.8 TTS Playground
Simon Willison built a bring-your-own-key playground for Google's newly released gemini-3.8-flash-tts and gemini-3.8-flash-lite-tts text-to-speech models, which offer a library of over 2,000 voices plus custom voice cloning from a 30-second sample. The tool exploits the Gemini API's open CORS policy to run entirely client-side, and supports defining full multi-character conversations with per-character voices and style instructions; a demo generated 1m18s of two-pelican dialogue audio in about 20 seconds for 2.74 cents.
What it claims
Google has released two text-to-speech models, gemini-3.8-flash-tts and gemini-3.8-flash-lite-tts. Simon Willison built a bring-your-own-key web playground for them. It calls the Gemini API directly from the browser, which works because the API has an open CORS policy. The summary's cost figure needs one qualification: the 2.74 cents for 1m 18s of audio, generated in about 20 seconds, came from Gemini 3.8 Flash TTS, not the cheaper Flash-Lite model. That figure is therefore the upper of the two price points. The page gives no number for Flash-Lite.
How to use it
- Keys stay in the browser. The playground is client-side only and uses your own Gemini API key. You can call the Gemini TTS API from a front end without a proxy server. Whether you should ship a key to a browser in your own product is a separate decision.
- Conversations can be defined in a URL. For the demo, Willison had Claude 4.5 Opus write a two-pelican script and also generate a URL that renders it in the tool. The playground can therefore take a full multi-character conversation (characters, voices, style instructions) from a link, and an LLM can produce that link. The page does not document the URL format.
- Multi-speaker support is in the API. The page describes it as a feature of the Gemini API: one request can define several characters, each with its own voice and style instructions. You do not need to split the audio by speaker and stitch the pieces together yourself.
- Provenance. The playground was "vibe coded" with GPT-6 Astra. It is a quick demo tool, not a maintained library.
Limits
- Voice cloning is restricted. Google's wording limits custom voices to "your voice or a voice you have the rights to use". Check those terms before you clone a voice for production.
- Thin evidence. The page measures one clip on one model. There is no Flash-Lite cost or latency, no quality comparison between the two models, and no per-character or per-second pricing.
- No link to code here. The fetched text names no repository and no licence for the playground.
Organisations named here
- OpenAI
- Anthropic
- Simon Willison
Technologies named here
- gemini-3.8-flash-tts
- Gemini TTS Playground
- gemini-3.8-flash-lite-tts
- GPT-6 Astra
- Claude 4.5 Opus
- Gemini
- Claude Opus 4.5
Techniques named here
- Multi-character conversation definition in TTS API
Related in multimodal
[AINews] Pi 1.0, Pi Durable, and AIE NYC
Show HN: Made an open-source Lego AI generator
