Kitta AI Docs
Integration GuidesThird-Party Integrations

LibreChat Setup Guide

Configure Kitta AI as an OpenAI-compatible server-side TTS provider in librechat.yaml and play replies with a cloned voice.

Connect Kitta AI TTS to LibreChat

LibreChat can configure server-side TTS independently in librechat.yaml. Its speech provider is separate from its chat-model providers, so Kitta AI should not be added as a chat endpoint.

Before you start

  1. Create a key dedicated to this instance in API management.
  2. Open your cloned voice and copy its Voice ID.
  3. Confirm that your API credit balance is sufficient.

For a quick test, use:

00a1b221-6137-4b73-ad62-b0cbce134167

Configure the environment variable

Add this variable to LibreChat's .env file:

FISH_AUDIO_API_KEY=YOUR_FISH_AUDIO_API_KEY

Do not commit the real key directly in librechat.yaml or your Git repository.

Configure librechat.yaml

Merge this configuration into the existing speech object and replace the test voice with your own Voice ID:

speech:
  tts:
    openai:
      url: 'https://kittaai.com/v1/audio/speech'
      apiKey: '${FISH_AUDIO_API_KEY}'
      model: 'fishaudio-s21pro-flash'
      voices:
        - '00a1b221-6137-4b73-ad62-b0cbce134167'
  speechTab:
    textToSpeech:
      engineTTS: 'external'
      voice: '00a1b221-6137-4b73-ad62-b0cbce134167'
      automaticPlayback: false

url is the complete request URL

LibreChat requests speech.tts.openai.url directly, so it must include /audio/speech. This differs from apps that ask for only a Base URL.

To offer multiple voices, add every Voice ID to the voices array. LibreChat users can select among the voices allowed by the administrator.

Restart LibreChat after saving the configuration:

docker compose restart

Open LibreChat's speech settings, select External TTS and the configured Voice ID, and play a short response as a test.

Troubleshooting

  • External TTS is missing: set speechTab.textToSpeech.engineTTS to external and restart LibreChat.
  • The voice is missing: the Voice ID must also appear in the voices array. Reload the configuration after editing it.
  • 404: url must be the complete https://kittaai.com/v1/audio/speech URL.
  • 401: verify that the container receives FISH_AUDIO_API_KEY and that the key is valid.
  • 402: add API credits before trying again.
  • 400: do not use tts-1. Set the model to fishaudio-s21pro-flash and use a valid Voice ID.
  • Chat requests fail: do not put the Kitta AI URL in a LibreChat chat Custom Endpoint. It is a TTS-only endpoint in this setup.