リリース

音声文字起こし API と Whisper Large V3 / V3 Turbo を追加しました

音声文字起こし API /v1/audio/transcriptions の提供を開始し、最初のモデルとして whisper-large-v3 と whisper-large-v3-turbo を追加しました。音声ファイルをテキストに変換する API で、会議の議事録、動画の字幕、音声メモの検索インデックス作成などに使えます。単価は音声の長さに対して whisper-large-v3 が ¥0.03 / 秒(¥1.8 / 分)、whisper-large-v3-turbo が ¥0.025 / 秒(¥1.5 / 分)です(いずれも税込表示)。

文字起こしはトークンではなく音声の長さで課金します。1 秒未満は切り上げ、最低 1 秒として計算し、レスポンスの usage.seconds に課金した秒数をそのまま返します。1 時間の会議録音なら whisper-large-v3 で ¥108、whisper-large-v3-turbo で ¥90 です。

特徴

99 言語に対応した多言語の文字起こし

Whisper は OpenAI が公開した音声認識モデルで、重みは Hugging Face で MIT ライセンスのもと公開されています。日本語を含む 99 言語に対応し、language を省略すると音声から言語を自動判定します。言語が分かっているときは language: "ja" のように指定した方が安定します。

V3 と V3 Turbo の使い分け

whisper-large-v3 は 15.5 億パラメータのフルモデルで、精度を優先する用途向けです。whisper-large-v3-turbo は V3 のデコーダを 32 層から 4 層に刈り込んだ 8.1 億パラメータの派生モデルで、わずかな精度の低下と引き換えに処理が速くなります。長い録音を大量に処理するときや、応答の速さが重要なときは Turbo が向いています。

タイムスタンプ付きの出力

response_format に verbose_json を指定すると、区間ごとの開始・終了秒が入った segments が返ります。timestamp_granularities[]=word を足すと単語単位のタイムスタンプも words に入ります。字幕ファイルの生成や、文字起こし結果から該当箇所の音声へジャンプする UI に使えます。

ベンチマーク(Open ASR Leaderboard)

Hugging Face の Open ASR Leaderboard は、英語の公開データセット 8 種で音声認識モデルの単語誤り率(WER、低いほど良い)を揃った条件で測定しています。下記は各モデルカードに記録されたスコア(V3・V3 Turbo)です。

Whisper Large V3 と V3 Turbo の WER 比較。平均 WER が 7.44 対 7.83、LibriSpeech clean が 2.01 対 2.10、LibriSpeech other が 3.91 対 4.24、TED-LIUM が 3.86 対 3.57、SPGISpeech が 2.94 対 2.97、GigaSpeech が 10.02 対 10.14、Earnings-22 が 11.29 対 11.63、VoxPopuli が 9.54 対 11.87、AMI が 15.95 対 16.13

データセットLarge V3V3 Turbo
平均 WER7.447.83
LibriSpeech clean2.012.10
LibriSpeech other3.914.24
TED-LIUM3.863.57
SPGISpeech2.942.97
GigaSpeech10.0210.14
Earnings-2211.2911.63
VoxPopuli9.5411.87
AMI15.9516.13

平均 WER は V3 が 7.44、V3 Turbo が 7.83 で、差は 0.4 ポイントです。TED-LIUM では Turbo が V3 を上回る一方、VoxPopuli では 2.3 ポイント、LibriSpeech other では 0.3 ポイント V3 に届いていません。雑音の多い会議音声(AMI)はどちらも 16% 前後で、クリーンな読み上げ音声(LibriSpeech clean)の 2% とは条件によって大きな差があります。

スコアはいずれも英語データセットの測定で、日本語の精度を示すものではありません。Open ASR Leaderboard は Hugging Face が運営する第三者のベンチマークで、OpenAI 自身の公表値ではありません。

使い方

model に whisper-large-v3 または whisper-large-v3-turbo を指定し、multipart/form-data で音声ファイルを送ります。

curl https://api.router.supa.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer supa_..." \
  -F file="@meeting.mp3" \
  -F model="whisper-large-v3" \
  -F language="ja"

OpenAI SDK の audio.transcriptions.create がそのまま使えます。

from openai import OpenAI

client = OpenAI(
    base_url="https://api.router.supa.ai/v1",
    api_key="supa_...",
)

with open("meeting.mp3", "rb") as f:
    resp = client.audio.transcriptions.create(
        model="whisper-large-v3-turbo",
        file=f,
        language="ja",
    )
print(resp.text)

レスポンスは既定で { "text": "...", "usage": { "type": "duration", "seconds": 3 } } の形です。response_format に text を指定すると本文だけがプレーンテキストで返ります。

注意点

単価とモデル一覧は料金ページ、モデル ID と使い方はドキュメントに掲載しています。

← 新着情報一覧へ

今日から、baseURL を差し替えるだけ。

コンソールを開く

確認メールを news@router.supa.ai からお送りします。配信解除はいつでも可能です。