关于 9router-stt
9router-stt 是通过 9Router 转录接口处理音频的技能,支持查询模型、设置转录参数,并可从多个提供商获取不同格式的结果。
主要功能
- 01查询可用的转录模型
- 02通过 API 转录音频
- 03设置语言和提示文本
- 04输出 JSON、文本或字幕
适用场景
- 01转录音频录音
- 02生成 SRT 或 VTT 字幕
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ decolua/ 9router --skill 9router-stt安装后在 Claude Code 中输入/9router-stt确认已加载。
详细介绍
9Router — 语音转文字
需要设置 NINEROUTER_URL(若启用了鉴权,还需设置 NINEROUTER_KEY)。安装配置请参阅 https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router/SKILL.md。
发现模型
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 模型 ID(例如 openai/whisper-1、groq/whisper-large-v3、deepgram/nova-3、gemini/gemini-2.5-flash)。
端点
POST $NINEROUTER_URL/v1/audio/transcriptions(兼容 OpenAI Whisper,multipart/form-data)
| 字段 | 必填 | 说明 |
|---|---|---|
model | 是 | 来自 /v1/models/stt |
file | 是 | 音频文件(mp3、wav、m4a、webm、ogg、flac) |
language | 否 | ISO-639-1 格式(例如 en、vi) |
prompt | 否 | 用于引导转录的提示文本 |
response_format | 否 | json(默认)/ text / verbose_json / srt / vtt |
temperature | 否 | 0–1 |
示例
curl -X POST "$NINEROUTER_URL/v1/audio/transcriptions" \
-H "Authorization: Bearer $NINEROUTER_KEY" \
-F "model=openai/whisper-1" \
-F "[email protected]" \
-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_format=json):
{ "text": "Xin chào, đây là bản ghi âm." }
verbose_json 会额外返回 language、duration,以及带时间戳的 segments[]。
srt / vtt 返回字幕文本。
服务商差异
| 服务商 | model 格式 | 说明 |
|---|---|---|
openai | whisper-1、gpt-4o-transcribe、gpt-4o-mini-transcribe | 原生 OpenAI 格式 |
groq | whisper-large-v3、whisper-large-v3-turbo、distil-whisper-large-v3-en | 速度最快;OpenAI 格式 |
gemini | gemini-2.5-flash、gemini-2.5-pro、gemini-2.5-flash-lite | 服务端将音频内联后转换为 generateContent 调用 |
deepgram | nova-3、nova-2、whisper-large | Token 鉴权;服务端适配响应 |
assemblyai | universal-3-pro、universal-2 | 异步上传并轮询,由服务端处理 |
nvidia | nvidia/parakeet-ctc-1.1b-asr | NIM 端点 |
huggingface | openai/whisper-large-v3、openai/whisper-small | HF Inference API |
elevenlabs | scribe_v1、scribe_v2 | 兼容 Whisper 格式;使用 xi-api-key 鉴权,而非 Bearer。额外参数:timestamps_granularity(word/character/none)、tag_audio_events,以及通过 diarize=true 或 num_speakers(1–32)进行说话人标注——两者同时发送会导致请求无效,因此 diarize 优先,num_speakers 会被丢弃。留空的 language 会被上游省略,以进行自动检测。srt/vtt 和 verbose_json 的 segments 由 Scribe 自带的 additional_formats 渲染结果提供,若上游渲染不可用则省略 segments[],而不会自行合成。不接受 temperature 和 prompt——这两个参数不会被转发。 |
评论
支持 Markdown