音声文字起こし

音声ファイルをテキストに変換する /v1/audio/transcriptions の使い方です。

対応モデル

音声文字起こしは /v1/audio/transcriptions です。テキスト生成とは別サーフェスのため、これらのモデル ID は GET /v1/models には含まれません(GET /v1/audio/models で対応モデルと単価を確認できます)。トライアルキーは対象外です。

モデル IDモデル名精度単価
whisper-large-v3Whisper Large V3自社DC
利用モデル openai/whisper-large-v3
FP16¥0.03 / 秒
¥1.8 / 分
whisper-large-v3-turboWhisper Large V3 Turbo自社DC
利用モデル openai/whisper-large-v3-turbo
FP16¥0.025 / 秒
¥1.5 / 分

使い方

OpenAI Audio API 互換の multipart/form-data なので、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",
        file=f,
        language="ja",  # 省略すると自動判定
    )
print(resp.text)
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"

タイムスタンプが必要なときは response_format=verbose_json を指定します。segments に区間ごとの開始・終了秒が入り、timestamp_granularities[]=word を足すと words に単語単位の タイムスタンプも返ります。

curl https://api.router.supa.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer supa_..." \
  -F file="@meeting.mp3" \
  -F model="whisper-large-v3-turbo" \
  -F response_format="verbose_json" \
  -F "timestamp_granularities[]=word"

パラメータと課金

  • file は mp3 / mp4 / m4a / wav / flac / ogg / webm を受け付けます。上限は 25 MB です。長い録音は分割して送ってください(圧縮形式の方が同じ長さでも小さく、 128 kbps の MP3 なら約 25 分が目安です)。
  • response_format は json(既定)/ verbose_json / text のいずれかです。srt と vtt には対応していません (verbose_json の segments から組み立ててください)。
  • language(ISO-639-1、例 ja)・prompt・temperature(0〜1)を指定できます。language を省略すると音声から自動判定します。日本語と分かっているときは指定した方が安定します。
  • 課金は音声の長さ(秒)です。1 秒未満は切り上げ、最低 1 秒として計算し、レスポンスの usage.seconds に課金した秒数を返します (例: 3.4 秒の音声は 4 秒)。トークン数には依存しません。 定額プランの対象外で、クレジットから消費します。
  • ストリーミングには対応していません(stream は 400 を返します)。 1 ファイルの処理は同期で返り、長い音声ほど待ち時間が伸びます。
  • 音声ファイル・文字起こし結果はゼロデータ保持(ZDR)の対象で、処理後に保存しません。 利用履歴に残るのは課金した秒数と料金だけです。