Dev & Engineering speech-to-textaudio-transcriptionwhispersubtitlesapi-gatewaydeepgramgroqsrt-vtt

9Router Speech-to-Text Skill

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

FollowSkills review · FSRS-2.0
Use with care
48/ 100 5-point scale 2.4 / 5
1 2 3 4 5 6
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.

Evidence confidence:Low Reviewed Sep 09, 2026 Reviewed revision eb712ca821f0
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.
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.
Review evidence [1][2][3][4][5][6][7][8][9]
See the full review method →

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).

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

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 do you install this skill?

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.

How do you use this skill?

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."

How does this skill compare with similar options?

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.

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.

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.

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.

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.

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.

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.

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.

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.

Related skills