Fish Audio Docs
Integration GuidesThird-Party Integrations

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

  1. A Fish Audio account with API credits;
  2. A Fish Audio API key;
  3. The Fish Audio Voice ID you want to use;
  4. 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-b0cbce134167

Use 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_KEY

Do 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 → New

Choose TTS Custom OpenAI Protocol Model, then enter:

Tavo settingValue
API Base URLhttps://fishaudio.org/v1
API KeyYour Fish Audio API key
Model IDfishaudio-s21pro-flash
Voice ID00a1b221-6137-4b73-ad62-b0cbce134167 (replace after testing)
Audio formatmp3

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 API

If 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.