mcpField
9
9router-stt

9router-stt

github.com/decoluaクリエイティブ・メディア31.6k128 回インストール今日更新
リポジトリ

9router-stt について

9router-sttは、9Routerの文字起こしエンドポイントに音声を送るスキルです。モデルの確認や設定の指定に対応し、複数のプロバイダーから異なる形式の結果を取得できます。

主な機能

  1. 01利用可能な文字起こしモデルの確認
  2. 02API経由の音声文字起こし
  3. 03言語とプロンプトの指定
  4. 04JSON、テキスト、字幕での出力

活用シーン

  1. 01録音音声の文字起こし
  2. 02SRTまたは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 = 音声認識モデル 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 の形式備考
openaiwhisper-1、gpt-4o-transcribe、gpt-4o-mini-transcribeOpenAI ネイティブ形式
groqwhisper-large-v3、whisper-large-v3-turbo、distil-whisper-large-v3-en最速。OpenAI 形式
geminigemini-2.5-flash、gemini-2.5-pro、gemini-2.5-flash-liteサーバーが音声をインラインで含めた generateContent に変換します
deepgramnova-3、nova-2、whisper-largeトークン認証。サーバーがレスポンスを適合させます
assemblyaiuniversal-3-pro、universal-2非同期のアップロードとポーリングはサーバー側で処理されます
nvidianvidia/parakeet-ctc-1.1b-asrNIM エンドポイント
huggingfaceopenai/whisper-large-v3、openai/whisper-smallHF Inference API
elevenlabsscribe_v1、scribe_v2Whisper 互換形式。Bearer ではなく xi-api-key 認証を使用します。追加パラメーター:timestamps_granularity(word/character/none)、tag_audio_events、および いずれか一方(diarize=true または num_speakers(1~32))を使った話者ラベリング。両方を送信するとリクエストが無効になるため、diarize が優先され、num_speakers は破棄されます。空の language は、自動検出のため上流には送信されません。srt/vtt と verbose_json のセグメントは Scribe 独自の additional_formats レンダリングから提供されます。そのため、上流のレンダリングが利用できない場合、segments[] は生成されず省略されます。temperature と prompt は受け付けません。これらは転送されません。

コメント