AUDIO ESTUDIO
Sign inCreate a free account

Voice providers and API keys

Audio Estudio generates audio with text-to-speech (TTS) engines. Pick the provider you prefer, configure it in Settings and assign a voice to each character.

Available providers

Gemini
Google's TTS. Requires a Google Cloud API key, entered in Settings.
ElevenLabs
High-quality voices from ElevenLabs. Requires an ElevenLabs API key, entered in Settings.
Local
A TTS server running on your own machine. Instead of an API key, you provide the server URL in Settings.
Kokoro (in-browser)
A TTS engine that runs entirely in your browser. It's free, private and works offline: no API key or server needed.
Kokoro Chinese (in-browser)
A TTS engine specialised in Mandarin Chinese that runs entirely in your browser. It's free, private and works offline: no API key or server needed.

Kokoro: in-browser TTS

Kokoro generates voice in the browser itself, sending nothing to the server. It's free, private and works offline once downloaded. It's multilingual: it offers voices in English, Spanish, French, Italian, Portuguese and Hindi (an espeak-ng phonemizer turns the text into sounds for each language). It needs a modern browser: with WebGPU it's fast; without WebGPU it falls back to WASM (slower). The first time it downloads the model (~90 MB on WASM, ~330 MB with WebGPU for best quality) plus the phonemizer (~18.5 MB), which are then cached for later uses.

Kokoro Chinese: in-browser TTS

Kokoro Chinese generates Mandarin voice directly in the browser, sending nothing to the server. It's free, private and works offline once downloaded. It needs a modern browser and runs in compatibility mode, with no graphics acceleration, so it generates more slowly than Kokoro. The first time it downloads the model (~339 MB, at full precision: the only way this model sounds right in the browser) plus the espeak phonemizer (~18.5 MB, shared with Kokoro), which are then cached for later uses.

Assign a voice and provider to each character

In the project settings, each character has an assigned voice and provider. This lets you mix engines within a single podcast: one character on Gemini and another on ElevenLabs, for example.

Project language and interface language

The project language is chosen when you create it and guides voice generation. The interface language is independent and is changed in Settings; it only affects the app's text, not the audio.

Emotion tags

When assigning voices you can insert emotion tags like [whispers] or [excited] into the voice description. They’re style hints that expressive models interpret when generating.

Custom prompt template

Each provider has a prompt template you can customize with the {text} and {voiceDescription} placeholders. Use it if you want exact control over how the request is built; if you leave it, the default is used.

Switching the voice backend

You can change the provider used to generate each character from the project’s voice settings, without losing text you’ve already written.

Privacy: your keys and your audio are stored in your browser, never on our servers
API keys live only in this browser and are never sent to our database. Generated audio, by default, also lives only in this browser; if you want to keep it or use it on another device, you can connect your own cloud (see "Where your audio lives"). Audio is never stored on our servers: with Gemini and ElevenLabs it passes through them on its way to your browser, without staying there; with the Kokoro engines and the Local provider it does not even pass through, because it is generated on your own machine.
Try it with your own script

The free plan generates audio with AI voices — no card, nothing to install.