Skip to content
cccskills
FreePublished on GitHub

9router-stt

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.

OriginalShow the original description

Speech-to-text via 9Router /v1/audio/transcriptions using OpenAI Whisper / Groq / Gemini / Deepgram / AssemblyAI / NVIDIA / HuggingFace models. Use when the user wants to transcribe audio, convert speech to text, or get subtitles from audio files.

See how to install

Good for

  • Transcribing recorded meetings or interviews
  • Creating SRT or VTT subtitles from audio
  • Getting transcriptions with timestamps

Files included (1)

  • SKILL.md3.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

9Router — Speech-to-Text

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

curl $NINEROUTER_URL/v1/models/stt | jq '.data[].id'
# Per-model params (language, response_format, prompt, temperature support)
curl "$NINEROUTER_URL/v1/models/info?id=openai/whisper-1"

model = STT model ID (e.g. openai/whisper-1, groq/whisper-large-v3, deepgram/nova-3, gemini/gemini-2.5-flash).

Endpoint

POST $NINEROUTER_URL/v1/audio/transcriptions (OpenAI Whisper compatible, multipart/form-data)

FieldRequiredNotes
modelyesfrom /v1/models/stt
fileyesaudio file (mp3, wav, m4a, webm, ogg, flac)
languagenoISO-639-1 (e.g. en, vi)
promptnohint text to guide transcription
response_formatnojson (default) / text / verbose_json / srt / vtt
temperatureno0–1

Examples

curl -X POST "$NINEROUTER_URL/v1/audio/transcriptions" \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -F "model=openai/whisper-1" \
  -F "file=@audio.mp3" \
  -F "language=vi"

JS (Node):

import { createReadStream } from "node:fs";
const form = new FormData();
form.append("model", "groq/whisper-large-v3-turbo");
form.append("file", new Blob([await (await import("node:fs/promises")).readFile("audio.mp3")]), "audio.mp3");
const r = await fetch(`${process.env.NINEROUTER_URL}/v1/audio/transcriptions`, {
  method: "POST",
  headers: { "Authorization": `Bearer ${process.env.NINEROUTER_KEY}` },
  body: form,
});
const { text } = await r.json();
console.log(text);

Response shape

Default (response_format=json):

{ "text": "Xin chào, đây là bản ghi âm." }

verbose_json adds language, duration, segments[] with timestamps. srt / vtt return subtitle text.

Provider quirks

Providermodel formatNotes
openaiwhisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribeNative OpenAI shape
groqwhisper-large-v3, whisper-large-v3-turbo, distil-whisper-large-v3-enFastest; OpenAI shape
geminigemini-2.5-flash, gemini-2.5-pro, gemini-2.5-flash-liteServer converts to generateContent with audio inline
deepgramnova-3, nova-2, whisper-largeToken auth; server adapts response
assemblyaiuniversal-3-pro, universal-2Async upload+poll handled server-side
nvidianvidia/parakeet-ctc-1.1b-asrNIM endpoint
huggingfaceopenai/whisper-large-v3, openai/whisper-smallHF Inference API
elevenlabsscribe_v1, scribe_v2Whisper-compatible shape; xi-api-key auth, not Bearer. Extra params: timestamps_granularity (word/character/none), tag_audio_events, and speaker labelling via either diarize=true or num_speakers (1–32) — sending both makes the request invalid, so diarize wins and num_speakers is dropped. Blank language is omitted upstream for auto-detect. srt/vtt and verbose_json segments are served from Scribe's own additional_formats render, so segments[] is omitted when the upstream render is unavailable rather than synthesized. Does not accept temperature or prompt — those are not forwarded.

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/9router31.1KUpdated 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/9router31.1KUpdated 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/9router31.1KUpdated 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/9router31.1KUpdated Oct 15, 2026

9router-tts

FreeSummary

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.

  • Creating narration from a script
  • Turning written text into spoken audio
  • Checking available voices before generating speech
decolua/9router31.1KUpdated 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/9router31.1KUpdated Oct 15, 2026

See all skills by decolua

Report a problem with this skill