9router-tts
9router-tts routes text-to-speech requests to your choice of seven major providers—OpenAI, ElevenLabs, Deepgram, Edge TTS, Google TTS, Hyperbolic, and Inworld—through a unified API endpoint. Query available models and voices per provider, then POST your text with a voice ID to receive MP3 audio or base64-encoded JSON. Each provider has its own authentication and voice naming scheme, all abstracted behind a single interface.
9router-tts converts text to speech across OpenAI, ElevenLabs, Deepgram, Edge TTS, Google TTS, Hyperbolic, and Inworld providers.
AI-generated summary based on this skill's SKILL.md
Install
decolua/9router/9router-tts · repository language: JavaScript
git clone https://github.com/decolua/9router
cp -r 9router/skills/9router-tts ~/.claude/skills/9router-ttsFrequently asked questions
AI-generated answers based on this skill's SKILL.md and metadata
What is 9router-tts and how does it work?
9router-tts is a unified text-to-speech router that converts text to speech using multiple TTS providers—OpenAI, ElevenLabs, Deepgram, Edge TTS, Google TTS, Hyperbolic, and Inworld—through a single API endpoint. Instead of managing separate integrations, you query available models and voices per provider, then POST your text with a voice ID to receive MP3 audio or base64-encoded JSON responses.
Can 9router-tts generate audio from text with custom voices?
Yes. 9router-tts lets you generate audio files from text with custom voices by selecting from each provider's available voice catalog. Query the endpoint to discover which voices and models each provider offers, then specify your chosen voice ID when submitting text for synthesis. Each provider maintains its own voice naming scheme, all abstracted behind 9router-tts's unified interface.
Does 9router-tts support text to speech with multiple voices?
Yes. 9router-tts supports TTS with multiple voices across seven major providers. You can query available voices and models for OpenAI, ElevenLabs, Deepgram, Edge TTS, Google TTS, Hyperbolic, and Inworld, then route your requests to whichever provider and voice combination best suits your needs through a single endpoint.
What TTS providers does 9router-tts route requests to?
9router-tts routes text-to-speech requests to seven major providers: OpenAI, ElevenLabs, Deepgram, Edge TTS, Google TTS, Hyperbolic, and Inworld. Each provider has its own authentication credentials and voice naming scheme, which 9router-tts abstracts behind a unified API so you can switch providers without rewriting your integration code.
Does 9router-tts support multilingual text to speech?
Yes. 9router-tts provides access to multilingual speech synthesis across its seven supported providers. Since each provider offers different language coverage and voice options, you can query the available models and voices to find the language and voice combination you need, then route your request through 9router-tts's unified endpoint.
How do I create voiceovers and narration using 9router-tts?
9router-tts enables programmatic voiceover and narration creation by accepting text input and routing it to your chosen TTS provider. POST your text with a selected voice ID to receive MP3 audio or base64-encoded JSON. This abstraction lets you build narration workflows without managing separate provider SDKs or authentication schemes.
SKILL.md
rendered from the published skill — quoted content, verbatim
9Router — Text-to-Speech
Requires NINEROUTER_URL (and NINEROUTER_KEY if auth enabled). See https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router/SKILL.md for setup.
Discover
# 1) List models
curl $NINEROUTER_URL/v1/models/tts | jq '.data[].id'
# 2) Per-model metadata (params, voicesUrl if voice-by-id)
curl "$NINEROUTER_URL/v1/models/info?id=el/eleven_multilingual_v2"
# 3) List voices (elevenlabs, edge-tts, deepgram, inworld, local-device). Optional ?lang=vi
curl "$NINEROUTER_URL/v1/audio/voices?provider=edge-tts&lang=vi" | jq '.data[].model'
model field in /v1/audio/speech = voice ID directly (e.g. edge-tts/vi-VN-HoaiMyNeural, el/<voice_id>, or openai/tts-1 model+default voice).
Endpoint
POST $NINEROUTER_URL/v1/audio/speech
| Field | Required | Notes |
|---|---|---|
model |
yes | voice ID from /v1/models/tts |
input |
yes |
(truncated - see the full file via the links below)
Read as markdown · JSON record · Browse the source repository
File tree — 1 file
skills/9router-tts/SKILL.md