Skip to content
cccskills
FreePublished on GitHub

9router-tts

Convert written text into speech through 9Router, choosing from multiple voice providers. Check available models and voices, then generate MP3 audio for narration, voiceovers, or reading text aloud.

OriginalShow the original description

Text-to-speech via 9Router /v1/audio/speech using OpenAI / ElevenLabs / Deepgram / Edge TTS / Google TTS / Hyperbolic / Inworld voices. Use when the user wants to convert text to speech, generate audio, voiceover, narrate, or read text aloud.

See how to install

Good for

  • Creating narration from a script
  • Turning written text into spoken audio
  • Checking available voices before generating speech

Files included (1)

  • SKILL.md3.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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

FieldRequiredNotes
modelyesvoice ID from /v1/models/tts
inputyestext to speak

Query ?response_format=mp3 (default, raw bytes) or ?response_format=json ({audio: base64, format}).

Examples

Save MP3:

curl -X POST "$NINEROUTER_URL/v1/audio/speech" \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/tts-1","input":"Hello world"}' \
  --output speech.mp3

JS (save file):

import { writeFile } from "node:fs/promises";
const r = await fetch(`${process.env.NINEROUTER_URL}/v1/audio/speech`, {
  method: "POST",
  headers: { "Authorization": `Bearer ${process.env.NINEROUTER_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ model: "el/eleven_multilingual_v2", input: "Xin chào" }),
});
await writeFile("speech.mp3", Buffer.from(await r.arrayBuffer()));

Response shape

Default → raw audio bytes (Content-Type audio/mp3).

?response_format=json:

{ "audio": "SUQzBAAAA...", "format": "mp3" }

Provider quirks (model format)

Providermodel formatNotes
openaitts-1/alloy (model/voice) or just voiceDefault model gpt-4o-mini-tts
elevenlabs<model_id>/<voice_id> or <voice_id>Default model eleven_flash_v2_5; list voices in Dashboard
openrouteropenai/gpt-4o-mini-tts/alloyStreamed via chat-completions audio modality
edge-ttsvoice id e.g. vi-VN-HoaiMyNeuralnoAuth; default vi-VN-HoaiMyNeural
google-ttslanguage code e.g. en, vinoAuth
local-deviceOS voice name (say -v ? / SAPI)noAuth; needs ffmpeg
deepgramaura-asteria-en etcToken auth
nvidia, inworld, cartesia, playhtmodel/voiceProvider-specific auth header
coqui, tortoisespeaker / voice idLocalhost noAuth
hyperbolicmodel idBody = {text} only

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

9router

FreeSummary

Set up access to 9Router, a shared gateway for multiple AI providers, and discover available models. Find the relevant capability skills for chat, images, speech, embeddings, web search, and webpage retrieval.

  • Configure a local or remote 9Router connection
  • Check available models by capability
  • Find instructions for image or speech tasks
decolua/9router31KUpdated Oct 15, 2026

9router-chat

FreeSummary

Ask AI questions, generate code, and summarize text through 9Router using OpenAI or Anthropic request formats. Receive responses incrementally with streaming, and use provider combinations that automatically try another provider when needed.

  • Ask an AI model questions through 9Router
  • Generate code from written instructions
  • Summarize text with a selected model
decolua/9router31KUpdated Oct 15, 2026

Turn text into embeddings, numeric representations of meaning, through 9Router. Choose a model and process individual texts or batches to prepare data for meaning-based search, similarity comparisons, or RAG systems that retrieve reference material.

  • Preparing text vectors for meaning-based search
  • Generating embeddings for text similarity comparisons
  • Batch-processing reference passages for RAG
decolua/9router31KUpdated Oct 15, 2026

9router-image

FreeSummary

Generate images from written descriptions through 9Router using a choice of image models. Check each model’s supported settings, request an image, and receive a URL, encoded image data, or image bytes for saving to a file.

  • Creating a landscape image from a written description
  • Checking supported image sizes and quality settings
  • Saving generated images as files
decolua/9router31KUpdated Oct 15, 2026

9router-stt

FreeSummary

Transcribe audio files through 9Router using models from providers such as OpenAI, Groq, and Deepgram. Receive plain text, structured results with timestamps, or SRT and VTT subtitles, depending on the selected model’s support.

  • Transcribing recorded meetings or interviews
  • Creating SRT or VTT subtitles from audio
  • Getting transcriptions with timestamps
decolua/9router31KUpdated Oct 15, 2026

9router-video

FreeSummary

Create videos from text or images through 9Router using xAI Grok Imagine. Set duration, aspect ratio, and resolution, then track the generation job and download the completed video as an MP4 file.

  • Generate a video from a written scene description
  • Create a video from an existing image
  • Choose video duration, aspect ratio, and resolution
decolua/9router31KUpdated Oct 15, 2026

See all skills by decolua

Report a problem with this skill