LibreChat text to speech and voice input

A LibreChat deployment that serves users in more than one language needs replies read aloud in each of them. Add Paxa as LibreChat's OpenAI speech provider in librechat.yaml, and replies play in English, Thai, and Mandarin. The same file adds Paxa transcription for users who talk to their chats.

One speech section, pointed at Paxa#

LibreChat reads the key from .env and the speech providers from librechat.yaml. The notes beside the sample are the setup guide's own.

speech:
  tts:
    openai:
      url: 'https://api.paxalabs.com/v1/audio/speech'
      apiKey: '${TTS_API_KEY}'
      model: 'paxa-tts-flash-v2'
      voices: ['khanomkrok', 'nomyen', 'foithong']
  stt:
    openai:
      url: 'https://api.paxalabs.com/v1/audio/transcriptions'
      apiKey: '${STT_API_KEY}'
      model: 'paxa-stt-lite-v1-preview'

Add Paxa to librechat.yaml

  • Set url to the full endpoint path, as in the sample.
  • List the voices your users can pick under voices. Any voice id from GET /v1/voices whose model is paxa-tts-flash-v2 works.
  • Keep one provider under each of speech.tts and speech.stt, and remove any other.
  • OpenAI's model and voice names, such as tts-1 and alloy, also work (accepted voice names).

From a key to a speaking chat#

LibreChat keeps its endpoints and models. Paxa reads replies aloud and transcribes what users say.

  1. Add the key

    Put your Paxa API key in LibreChat's .env file as TTS_API_KEY and STT_API_KEY.

  2. Add the speech section

    In librechat.yaml, set speech.tts.openai to the full Paxa speech URL, model paxa-tts-flash-v2, and the voices users can pick. Set speech.stt.openai to model paxa-stt-lite-v1-preview.

  3. Turn it on for users

    Restart LibreChat. Each user picks the engines in their speech settings, or set engineTTS and engineSTT to external to make Paxa the default.

Paxa TTS Flash v2 lists at $10 per 1M characters. Paxa STT Lite lists at $0.50 per hour of audio, billed by the millisecond.

Questions#

What is LibreChat?

LibreChat calls itself an open-source AI platform that brings together all your AI conversations in one unified, customizable interface. It is a self-hosted web application, and its speech settings accept OpenAI speech providers.

Which voices can LibreChat users pick?

Users pick from the voices you list under voices in librechat.yaml. Any of the 50 Paxa TTS Flash v2 voices works, and each one speaks English, Thai, and Mandarin. GET /v1/voices lists their ids, and the voice library plays them.

Do OpenAI model and voice names work?

Yes. OpenAI's model and voice names, such as tts-1 and alloy, also work on Paxa (accepted voice names). Set a Paxa voice id to choose the voice that speaks.

How long can a recording run?

A recording can run up to 120 minutes and 95 MiB. Paxa STT Lite is a Research preview.

Start with free credits

Sign in with Google, GitHub, or Hugging Face and spend 100 one-time free credits on your own text.