Tavo Setup Guide
Configure Fish Audio as a custom OpenAI-compatible TTS provider in Tavo, then assign Fish Audio voices to your characters.
Connect Fish Audio TTS to Tavo
This guide shows how to configure Fish Audio as a custom OpenAI-compatible TTS provider in Tavo and assign a Fish Audio voice to a character. After setup, Tavo can read character messages with your selected voice.
What you need
- A Fish Audio account with API credits;
- A Fish Audio API key;
- The Fish Audio Voice ID you want to use;
- A working Tavo installation.
An API key is a sensitive credential. Do not send it to other people or include it in chat messages, public screenshots, or untrusted websites. Create a dedicated key for Tavo so you can monitor or revoke it separately.
Step 1: Create a Fish Audio API key
Sign in to Fish Audio, open API management, and create a key for Tavo. Copy and store it immediately because the complete key may only be shown once.
Step 2: Find a Voice ID
Tavo needs a Voice ID to synthesize speech with a specific voice. Copy one from your Fish Audio voice list or query the API:
To test the connection immediately, start with this public system voice ID:
00a1b221-6137-4b73-ad62-b0cbce134167Use it for the initial connection test, then replace it with your preferred Voice ID after Tavo can generate and play audio successfully.
GET /api/open/v1/voices
Authorization: Bearer YOUR_API_KEYDo not confuse the model and voice fields: the model selects the TTS engine, while the Voice ID selects the sound of the speaker.
Step 3: Add a voice API in Tavo
In Tavo, open:
More → Voice & Image Generation → Voice API → NewChoose TTS Custom OpenAI Protocol Model, then enter:
| Tavo setting | Value |
|---|---|
| API Base URL | https://fishaudio.org/v1 |
| API Key | Your Fish Audio API key |
| Model ID | fishaudio-s21pro-flash |
| Voice ID | 00a1b221-6137-4b73-ad62-b0cbce134167 (replace after testing) |
| Audio format | mp3 |
The Base URL should end at /v1. Do not append /audio/speech; Tavo adds the complete /v1/audio/speech path when it sends a request.
Save the provider. If Tavo offers a connection test, generate one short sentence and confirm that the audio plays.
Step 4: Assign the voice to a character
After creating the voice API, open Tavo's character voice binding screen:
Character Voice Binding → Select Character → Select Your Voice APIIf Tavo asks for a Voice ID, enter the same Fish Audio Voice ID again. Save the binding, return to chat, send a short message, and start voice playback.
You can assign a different Fish Audio voice to each character. Reuse the provider settings and change only the Voice ID in each character binding.
API credit usage
Tavo generates speech through Fish Audio /v1/audio/speech and consumes the separate API credit balance. Text-to-speech starts at 1 API credit per effective character, and some models may apply a multiplier.
Purchase credits from API pricing and view the balance in API management. The actual request cost is returned in X-OpenAPI-Credits-Used.
Troubleshooting and FAQ
Tavo reports a connection failure
Confirm that the Base URL is https://fishaudio.org/v1, remove whitespace from the API key, and verify that the account still has API credits. Do not enter your Fish Audio account password.
The request returns 401 or says the API key is invalid
Copy the Fish Audio API key again. If it was revoked, create a new key and replace the old credential stored in Tavo.
The request returns 402 or says the balance is insufficient
Your API credit balance is too low. Membership credits and API credits are separate balances, so purchase API credits from the API pricing page.
Tavo connects but does not play audio
Verify that the character is bound to the voice API and that the Voice ID is valid. Test a short sentence with mp3 first, then check Tavo's autoplay, mute, and background playback settings.
Tavo says the model or voice is invalid
Use fishaudio-s21pro-flash as the Model ID and a Fish Audio Voice ID as the voice. OpenAI names such as tts-1 and alloy are not automatically mapped to Fish Audio models or voices.
Can each character use a different voice?
Yes. Enter the matching Fish Audio Voice ID for each character to give characters different voices.