Dev & Engineering

9Router Speech-to-Text Skill

Transcribe audio through one OpenAI-compatible endpoint that routes to Whisper, Groq, Gemini, Deepgram and more via 9Router.

48/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 31k
Last updated
17d ago
License
MIT
speech-to-textaudio-transcriptionwhispersubtitles
+4api-gatewaydeepgramgroqsrt-vtt

What does this skill do, and when should you use it?

This skill teaches an agent how to call 9Router's /v1/audio/transcriptions endpoint to turn audio files into text or subtitles. The endpoint is OpenAI Whisper-compatible and routes to seven STT providers: OpenAI, Groq, Gemini, Deepgram, AssemblyAI, NVIDIA, and HuggingFace. It requires a running 9Router instance pointed to by the NINEROUTER_URL environment variable (plus NINEROUTER_KEY if auth is enabled). The skill is instructions only — no scripts — with all calls made via curl or any HTTP client.

Guides the agent to discover available models via GET /v1/models/stt and inspect per-model parameters via /v1/models/info; then POST multipart/form-data to /v1/audio/transcriptions with an audio file (mp3, wav, m4a, webm, ogg, flac), a model ID, and optional language (ISO-639-1), prompt, temperature, and response_format; supports , text, verbose_ (timestamped segments), srt, and vtt outputs. SKILL.md includes full curl and Node.js examples plus a provider-quirk table covering model naming differences (e.g., Deepgram token auth and AssemblyAI's async upload/polling are handled server-side).

Good fit
  • A developer already running 9Router locally who wants free or cheap models to transcribe meeting recordings
  • A content creator batch-generating SRT/VTT subtitle files from podcast or video audio
  • Users with multilingual material (e.g., Vietnamese, English) who want to pin the transcription language via the language field
  • An agent workflow that converts uploaded voice messages to text before further processing
  • A team switching transcription engines between Whisper and Deepgram by changing a single model ID, with no code changes

How do you install this skill?

Before you use it
  • Audio files are uploaded to the configured cloud provider (OpenAI/Groq/Deepgram/AssemblyAI etc.); review each provider's data policy before sending sensitive recordings.
  • The skill requires a running 9Router instance with NINEROUTER_URL/NINEROUTER_KEY set; setup instructions live in a separate SKILL.md that must be read first.
  • Core function depends on overseas STT services whose mainland-China reachability is unassessed; a self-hosted provider may be needed.
  • This is a static source-only review with no endpoint calls executed; output correctness is not independently verified.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
  • Local filesystem
Install first
  • running 9Router instance (NINEROUTER_URL, optional NINEROUTER_KEY)
  • curl or Node.js for example calls
  • jq for model discovery

The skill comes from the decolua/9router repository (MIT licensed), which bundles 9 skills; this one lives at skills/9router-stt/SKILL.md. Installing the collection generally means placing the skill folder in your Agent Skills directory, though the repo does not document a skill-specific install path. Prerequisite: install and run 9Router itself (npm install -g 9router, then run 9router; default port 20128), and set NINEROUTER_URL; add NINEROUTER_KEY if you enable auth in the dashboard.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/decolua/9router.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/9router-stt" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Authorization: Bearer $NINEROUTER_KEY
  • Transcribe audio.mp3 to text
  • Generate an SRT subtitle file from this recording.

Discover models: curl $NINEROUTER_URL/v1/models/stt | jq '.data[].id'. Then transcribe: curl -X POST "$NINEROUTER_URL/v1/audio/transcriptions" -H "Authorization: Bearer $NINEROUTER_KEY" -F "model=openai/whisper-1" -F "[email protected]" -F "language=vi". For subtitles set response_format to srt or vtt; for timestamped detail use verbose_. You can also trigger it via an agent prompt like: "Transcribe audio.mp3 to text" or "Generate an SRT subtitle file from this recording."

What are this skill's strengths and limitations?

Pros
  • One OpenAI-compatible endpoint reaches STT models from 7 providers; switching engines is just a model field change
  • Provider quirks are absorbed server-side (Gemini generateContent conversion, AssemblyAI async upload/polling)
  • Direct SRT/VTT subtitle output with no post-processing
  • Standard parameters (language, prompt, temperature) plus per-model parameter discovery via /v1/models/info
Limitations
  • Hard dependency on a running 9Router instance — unusable standalone
  • Transcription rate limits and costs depend on your configured upstream providers; the skill doc does not cover this
  • No automated tests or error-handling examples included
  • SKILL.md does not state whether /v1/models/stt works across all deployment modes (Docker, Cloudflare Workers, etc.)

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
9Router Speech-to-Text Skill this page 48 · Use with care ★ 31k 17d ago MIT
Azure Short-Audio Speech-to-Text REST ✓ Microsoft · Official 49 · Use with care ★ 2.7k 3mo ago MIT
9Router Text-to-Speech 46 · Use with care ★ 31k 17d ago MIT
Azure AI Transcription for Python ✓ Microsoft · Official 49 · Use with care ★ 2.7k 3mo ago MIT
Azure AI Services Skill ✓ Microsoft · Official 49 · Use with care ★ 2.7k 3mo ago MIT

Compared to calling the OpenAI Whisper API directly, this skill's advantage is switching among Groq (fastest), Deepgram, and other providers through one endpoint — at the cost of running and maintaining a 9Router instance. If you only use one provider, the official API is simpler.

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
48/ 100 5-point scale 2.4 / 5
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
1Trust13 / 25 · 2.6/5

The skill is docs-only: it calls the local router's /v1/audio/transcriptions via NINEROUTER_URL/KEY environment variables, with no dangerous operations or excessive file access; data flow (audio forwarded to configured providers) is stated. Deducted for: audio being relayed to multiple cloud vendors (OpenAI/Groq/Deepgram etc.) with only a passing privacy note, no data-flow diagram, rollback or failure-recovery guidance, and unverified publisher identity.

2Reliability9 / 20 · 2.3/5

Docs are self-consistent: endpoint, parameter table, curl and Node examples, response shapes and per-provider quirks all align, and the repo's ping code (silent-WAV STT probe) corroborates the path exists. Deducted for: static-only review with no execution, no test coverage, no documented error codes or failure feedback, dependence on NINEROUTER availability, and undefined behavior on abnormal input.

3Adaptability8 / 15 · 2.7/5

Trigger conditions are explicit (transcribe audio, speech-to-text, subtitles); supported formats, language and response_format (including srt/vtt) boundaries are clear. Deducted for: no declared non-fit limits (model capabilities, file size), setup delegated to another SKILL.md, and unassessed reachability of the 9Router service and overseas STT providers from mainland China.

4Convention9 / 15 · 3.0/5

MIT license is explicit; the repo has versioning (0.5.69), release workflows and multilingual READMEs indicating active maintenance. Deducted for: the SKILL.md itself has no version/changelog, install notes link out to a separate skill file, and there is no FAQ, known-limitations section, or skill-level ownership/update path.

5Effectiveness5 / 15 · 1.7/5

If NINEROUTER is deployed, the documented flow should complete transcription with /srt/vtt output and copy-pasteable examples. Deducted for: correctness unverifiable in a static review, and the skill is a thin wrapper over an OpenAI-compatible endpoint — equivalent results are achievable by curling the API directly, so marginal value is limited.

6Verifiability4 / 10 · 2.0/5

The skill's endpoint is corroborated by the repo's own STT probe code in ping.js, and README includes third-party tutorial videos. Deducted for: no committed test suite covering this skill path, no independently reproducible execution evidence (static cap of 5), and evidence is mostly author-authored.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Sep 09, 2026 Reviewed revision eb712ca821f0 Review evidence[1][2][3][4][5][6][7][8][9]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Does using this skill cost money?
9Router itself is free open-source software (MIT). Actual transcription costs depend on which upstream provider you configure in 9Router — free providers cost $0; paid providers are paid directly by you.
Do I have to deploy 9Router myself?
Yes. The skill targets a running 9Router instance via the NINEROUTER_URL environment variable; without one, the skill cannot work. The repo offers npm, source, and Docker installation.
Which audio and output formats are supported?
Input: mp3, wav, m4a, webm, ogg, flac. Output: (default), text, verbose_ (timestamped segments), srt, and vtt.
What happens if a transcription fails?
SKILL.md does not describe error handling or retry behavior; failure modes (quota exhaustion, provider downtime) depend on 9Router's routing and fallback configuration, not this skill's documentation.

More skills from this repository

All from decolua/9router

Dev & Engineering

9Router Text-to-Speech

Turn text into MP3 audio through 9Router's unified /v1/audio/speech endpoint, drawing voices from OpenAI, ElevenLabs, Edge TTS, Deepgram, and more.

★ 31k FS 46 Use with care 17d ago
Dev & Engineering

9Router Embeddings Skill

Generate vector embeddings via a running 9Router's /v1/embeddings endpoint, drawing on OpenAI, Gemini, Mistral, Voyage, Nvidia, and GitHub embedding models for RAG, semantic search, and similarity.

★ 31k FS 49 Use with care 17d ago
Dev & Engineering

9Router Image Generation Skill

Call text-to-image models from OpenAI, Gemini, FLUX, Stability and 40+ providers through one 9Router endpoint, letting AI coding agents generate images on demand.

★ 31k FS 52 Use with care 17d ago
Design & Frontend

9Router Video Generation (xAI Grok Imagine)

Generate, edit, and extend videos via 9Router's unified API using xAI Grok Imagine, with an async submit-poll-download job flow for text-to-video and image-to-video.

★ 31k FS 49 Use with care 17d ago
Dev & Engineering

9Router Web Search Skill

Aggregate web and X search from 11 providers (Tavily, Exa, Brave and more) through one 9Router /v1/search endpoint, so AI coding agents can search the web on demand.

★ 31k FS 48 Use with care 17d ago
Dev & Engineering

9Router Chat Skill

Call any LLM through the 9Router gateway using OpenAI or Anthropic API formats, with streaming and combo auto-fallback, so chat and code generation never stall on a single provider's quota.

★ 31k FS 47 Use with care 17d ago
Dev & Engineering

9Router Gateway Skill

Point AI coding tools at a local gateway that unifies 40+ free and low-cost model providers, with auto-fallback and RTK saving 20-40% tokens per request.

★ 31k FS 46 Use with care 17d ago
Dev & Engineering

9Router Web Fetch

Turn any URL into markdown, text, or HTML via 9Router's /v1/web/fetch, routing across Jina Reader, Firecrawl, Tavily, Exa, and Ollama Cloud with automatic provider fallback.

★ 31k FS 51 Use with care 17d ago

Related skills