Every reply she writes is also spoken, so her voice notes to the buddy. Typecast does the text-to-speech; you pick a voice and paste two identifiers.
A demo key and voice ship with the app, so she talks from the first launch. Setting up your own account is about getting your voice and not sharing a rate limit with everyone else who did not bother.
Typecast builds AI voices, and the free plan covers enough characters per month for ordinary chatting.
https://typecast.ai
Create an account, then confirm your email address — the API console is not available until you have.
The API console issues keys. Create one and copy it — this is the value that goes
in tts-key.
https://typecast.ai/api-console
Onidia calls the Typecast text-to-speech endpoint directly, so you do not need any of their SDKs:
https://api.typecast.ai/v1/text-to-speech
On the voices page you can audition every voice without spending a single character of
your quota, then copy the one you like. The identifier is a tc_ string
— that is tts-voice.
https://typecast.ai/voices
If you would rather list them from the terminal, the same catalogue is available as JSON.
jq makes it readable:
sudo apt install jq curl --silent -H "X-API-Key: $TYPECAST_API_KEY" \ https://api.typecast.ai/v1/voices \ | jq -r '.[] | "\(.voice_id) \(.name // .voice_name.eng)"'
Choosing by ear on the voices page is far quicker than reading a JSON list. The terminal version is for when you already know roughly what you want.
Two values, and this is the top-level section rather than a provider one — voice is independent of which model is doing the thinking.
tts = on tts-key = your-api-key tts-voice = tc_xxxxxxxxxxxxxxxxxxxxxxxx
Restart her afterwards — speech settings are read at startup, like everything else.
This is the step people skip, and it is the one that matters most. Onidia needs a system
audio player on PATH, and if none is there she simply goes quiet — no
error, just a silent buddy.
which aplay paplay ffplay onidia-chat -preflight warn
All three names come back empty? Install one:
sudo apt install alsa-utils pulseaudio-utils
Beats the config file, so you can keep the key out of the file entirely.
export TYPECAST_API_KEY="your-key" onidia-chat
Handy for auditioning voices without editing anything: try one, then the next.
onidia-chat \ -tts-key "your-key" \ -tts-voice tc_xxxxxxxx
She keeps writing, she just stops speaking. Useful on a shared machine or over SSH.
onidia-chat -tts off
No audio player. Check which aplay paplay ffplay and read the startup log
— it says so explicitly when it cannot find one.
The API key is wrong, or belongs to a different account. Typecast's console is the only place it can be reissued.
The key is valid but the plan does not allow API access. Confirm the account is on a tier with API access enabled.
Free plans have a monthly character allowance. Speech is billed per character of text, and retries on a failed request still count — short replies help.