AstrBot Setup Guide
Connect AstrBot to Kitta Audio through its OpenAI TTS provider and use your cloned voice for agent replies.
Connect Kitta Audio TTS to AstrBot
AstrBot can call Kitta Audio through an OpenAI-compatible speech endpoint. Once configured, it converts an agent's text replies into audio with your selected cloned voice.
AstrBot manages personas or agents separately from TTS providers. Create the TTS provider first, then assign it to the relevant conversations and persona through the default configuration or a custom rule.
Prepare an API key and Voice ID
- Create an API key on the API management page.
- Open your cloned voice and copy its Voice ID.
- Confirm that your API credit balance is sufficient.
You can also use the public system voice for the first connection test:
00a1b221-6137-4b73-ad62-b0cbce134167Add the TTS provider
Open the service-provider page in the AstrBot dashboard, add a text-to-speech provider, and select OpenAI TTS (API).
Enter these settings:
| AstrBot setting | Value |
|---|---|
| API Key | Your Kitta Audio API key |
| API Base URL | https://fishaudio.org/v1 |
| Model | fishaudio-s21pro-flash |
| Voice | Your cloned voice's Voice ID |
| Timeout | 60 seconds recommended |
Stop the Base URL at /v1. AstrBot automatically calls the complete /v1/audio/speech endpoint.
Do not select FishAudio TTS (API)
AstrBot's built-in FishAudio TTS provider targets a different native API and requires a 32-character hexadecimal reference ID. Use the OpenAI TTS provider and the platform Voice ID for voices cloned on fishaudio.org.
Enable voice replies for the agent
After saving the provider, open the AstrBot configuration:
- Enable text-to-speech (TTS).
- Select the Kitta Audio OpenAI TTS provider you just created.
- Enable dual output if you want both text and audio replies.
- Save the configuration and send the bot a short test message.
For multiple agents with different voices, create one TTS provider per Voice ID. Then use AstrBot custom rules to assign both a persona and a TTS provider to each message origin.
Troubleshooting
- Invalid voice: Voice must contain the Voice ID returned by the fishaudio.org voice page or voice-list API, not the display name.
- 404: use
https://fishaudio.org/v1as the API Base URL and do not append or duplicate/audio/speech. - 401: the API key is invalid, revoked, or incomplete. Create a dedicated key and try again.
- 402: the separate API credit balance is insufficient.
- Requests use the wrong Kitta Audio API: select OpenAI TTS (API), not FishAudio TTS (API).
- Generation times out: increase Timeout to
60seconds and test with a short message first. - Text is sent without audio: verify that TTS is enabled and that no custom rule overrides the default TTS provider for the current conversation.