文字起こし API のコスト比較:同じ音声を 7 モデルで検証
目次
Synthorai で音声の文字起こしが可能になった。OpenAI 互換 endpoint から、文字起こし専用の 7 モデルを利用できる。
この 1 つの endpoint の裏では、かなりの差異を吸収している。各モデルの native API は、ほとんど共通点がない。whisper-1 は multipart で file を upload し、{text} を返す。gpt-4o-transcribe も同じ形式で upload するが、token usage も返す。ByteDance の seed-asr は BytePlus AUC protocol、Alibaba の qwen3-asr-flash は独自 protocol を使う。Google の chirp モデルは Cloud Speech-to-Text の recognizer で、OAuth 経由で呼び出す。
endpoint も auth も response の形式も異なり、model を増やすたびに integration が必要になる。gateway 経由なら、OpenAI 互換の call だけで済む。gpt-4o-mini-transcribe を seed-asr-bigmodel や chirp-3 に差し替えても、それ以外の code は変更不要だ。
TL;DR
- 文字起こし専用の 7 モデルでは、コストに 8 倍の差がある。音声 1 分あたり
seed-asr-bigmodelは $0.0020、Chirp モデルは $0.0164 だった(2026-06-25 計測)。 seed-asrは言語を自動検出しない。languageを指定しない場合、英語と中国語以外の音声でも HTTP 200 を返すが、text は空かローマ字化された内容になり、課金は発生する。qwen3-asr-flashは 1 分あたり $0.0021 で、検証した全言語を自動検出できるモデルとしては最安だった。- token 単位で streaming できるのは
gpt-4oの文字起こしモデルだけ。分単位課金のモデルは batch のみに対応する。 - clean な英語、スペイン語、フランス語では、全モデルの error が約 0% だった。精度は選定基準にならない。
呼び出すのは OpenAI 互換の文字起こし endpoint なので、すでに Whisper を使っていればそのまま置き換えられる。
curl https://synthorai.io/v1/audio/transcriptions \
-H "Authorization: Bearer $SYNTHORAI_API_KEY" \
-F file=@meeting.mp3 \
-F model=gpt-4o-mini-transcribe
from openai import OpenAI
client = OpenAI(base_url="https://synthorai.io/v1", api_key="sk-syn-...")
with open("meeting.mp3", "rb") as f:
result = client.audio.transcriptions.create(model="gpt-4o-mini-transcribe", file=f)
print(result.text)
文字起こし結果は text、課金額は response header の x-total-cost-usd に入る。
7 モデルすべてを同じ単純な test にかけた。以下の数値を読むには、test の条件を理解しておく必要がある。
この test で分かること、分からないこと
世界で話者数が多い上位 5 言語について、一般的な text-to-speech voice で日常的な文章を生成した。内容は朝、天気、市場への買い物などで、固有名詞は含めていない。そのうえで、各 clip を 7 モデルすべてで文字起こしした。clip の長さは約 12 〜 15 秒で、通常の速度で約 40 語を話しており、長い無音区間はない。形式は 16 kHz mono 16-bit PCM WAV(256 kbps、1 分あたり約 2 MB)だ。元の text を正解データとし、duration は正確に計測した。
意図的に簡単な条件にしている。音声は clean で台本どおり、話者は 1 人だけ。accent、noise、専門用語は含まない。音声の難しさに左右されない項目を調べるには適している。コスト、latency、対応言語、streaming の可否を測定でき、これらは安定した事実として扱える。
品質 benchmark ではない。実際の録音には accent、background noise、業界固有の語彙、話者の重なりがあり、長さが 1 時間に及ぶこともある。こうした条件では、clean な音声では見えない差が出るため、今回の結果から予測することはできない。精度の数値は順位ではなく、最低限の確認として読むべきだ。コスト、対応範囲、streaming の結果は、実運用で頼れる baseline として扱える。
multimodal ではなく文字起こし専用 ASR
ここで扱う 7 モデルは、すべて文字起こし専用の system だ。OpenAI の whisper-1、gpt-4o-transcribe、gpt-4o-mini-transcribe、ByteDance の seed-asr-bigmodel、Alibaba の qwen3-asr-flash、Google の chirp-2 と chirp-3 が該当する。
gateway の文字起こし endpoint から Gemini のような汎用 multimodal model を呼び出し、音声理解の一環として文字起こしさせることもできる。今回は対象外とした。文字起こし用途で、こうしたモデルを選ぶ理由もない。Google も自社製品について同じ説明をしている。Gemini の audio guide では、Gemini を音声の説明、要約、質問への回答に使うものとして紹介し、文字起こし自体には別の製品を案内している。「real-time transcription に対応した文字起こし専用モデルには Google Cloud Speech-to-Text API を使うべき」としており、該当するのが Chirp モデルだ。multimodal model でも文字起こしは出力できるが、発話を正確に書き起こすことではなく、音声の理解を目的に設計されている。呼び出しも文字起こし API ではなく、chat 形式の generateContent を使う。逐語的な文字起こしには専用モデルが適しており、両方を提供する vendor 自身もそう説明している。
音声の送り方は 3 通りある。
- file を送り、batch で受け取る:録音済みの file 全体を upload し、1 回の response で文字起こし全体を受け取る。全モデルが対応する。
- file を送り、text を streaming で受け取る:同じく file 全体を upload するが、生成された文字起こしを SSE で順次受け取る。一部のモデルのみ対応し、ほかは batch 専用だ。
- 音声 stream を送り、text stream を受け取る:live mic や通話を real-time で認識する。現在開発中で、まだ利用できない。以下では最初の 2 方式だけを扱う。
文字起こしの課金方式
課金方式は 2 種類ある。音声 1 分単位(whisper-1、seed-asr、qwen3-asr-flash、Chirp モデル)では、中身に関係なく録音の実時間に対して課金される。token 単位(gpt-4o モデル)では、音声が一定比率で token 化され、その input token と文字起こし結果の output token に課金される。そのため、発話が詰まった音声より無音が多い音声のほうが安い。
token 単位課金には注意点がある。表示されている input rate は text 用で、audio の単価はそれより高い。gpt-4o-mini-transcribe は input が $1.25/M と記載されているが、audio には $3/M で課金される。text の rate から見積もると、実際より安く計算してしまう。gateway は実際の課金額を x-total-cost-usd header で返すため、price page から推測せず、この値を参照すべきだ。
コスト
この test で最も明確に測定でき、モデル間の差も最大だった項目だ。課金 header から算出した 1 分あたりのコストを以下に示す。gateway で利用できる全モデルの最新 list rate は、モデル一覧で確認できる。
| モデル | コスト / 分 | latency | streaming |
|---|---|---|---|
seed-asr-bigmodel | $0.0020 | ≈10s | 非対応 |
qwen3-asr-flash | $0.0021 | ≈3s | 非対応 |
gpt-4o-mini-transcribe | $0.0031 | ≈3s | token 単位 |
whisper-1 | $0.0060 | ≈4s | 非対応 |
gpt-4o-transcribe | $0.0062 | ≈2s | token 単位 |
chirp-2 | $0.0164 | ≈3s | 非対応 |
chirp-3 | $0.0164 | ≈4s | 非対応 |
最安の seed-asr は 1 分あたり $0.0020、Chirp モデルは $0.0164 で、約 8 倍の差がある。最安の seed-asr には音声の言語を明示する必要がある。詳細は後述するが、事前に言語が分かっている場合には最適だ。複数言語が混在する場合や言語が不明な場合、設定なしで使える最安の選択肢は $0.0021 の qwen3-asr-flash になる。Chirp モデルは大幅に高い。Chirp を使うなら chirp-3 を選ぶべきだ。chirp-2 と価格も速度も同等だが、精度表が示すとおり、標準中国語の文字起こし精度が大きく上回る。
実際の file でコストがどう変わるかは、課金方式によって異なる。分単位課金のモデル(whisper-1、seed-asr、qwen3-asr-flash、Chirp)は duration だけで課金されるため、rate をそのまま適用できる。形式や内容に関係なく、10 分の音声なら 1 分あたりの金額の 10 倍になる。
token 単位課金のモデル(gpt-4o の行)では、provider が token 化の前に音声を resample するため、input cost は file size ではなく duration に比例する。同じ内容であれば、容量の大きい 320 kbps MP3 でも、今回使用した軽量な 16 kHz WAV でも、token 化後のコストはほぼ同じになる。file を圧縮すれば storage は節約できるが、文字起こし費用は減らない。token 単位の請求額を左右するのは、実際の発話量だ。今回の clip は通常の速度で、無音区間もない。そのため、これより発話密度が高い音声や低い音声では、output token の分だけ課金額がわずかに増減する。どの場合でも、正確な値は x-total-cost-usd header に入る。
精度と対応言語
英語、スペイン語、フランス語では、その言語に対応する全モデルの error が約 0% だった。最低限の基準は、すべてのモデルが満たしている。標準中国語とヒンディー語では、この簡単な test でも差が出始めた。ただし、これは自社データで重点的に検証すべき言語の目安であり、モデルの優劣を決める結果ではない。
| モデル | 標準中国語(CER) | ヒンディー語(WER) | 対応範囲 |
|---|---|---|---|
seed-asr-bigmodel | 0% | 9% | 5 言語すべて(language の明示が必要) |
qwen3-asr-flash | 0% | 15% | 5 言語すべて |
gpt-4o-mini-transcribe | 0% | 4% | 5 言語すべて |
whisper-1 | 0% | 22% | 5 言語すべて |
gpt-4o-transcribe | 0% | 13% | 5 言語すべて |
chirp-2 | 16% | 15% | 5 言語すべて |
chirp-3 | 2% | 15% | 5 言語すべて |
ここで重要なのは対応範囲ではなく、言語検出だ。language parameter を渡せば、seed-asr は 5 言語すべてを文字起こしできた。追加検証では、日本語、ドイツ語、イタリア語、韓国語にも対応した。一方、言語の自動検出はできない。language を指定しないと、英語と中国語以外では空文字列かローマ字化された意味不明な text が返る。それでも status は 200 で、error にはならない。ほかの 6 モデルは自動検出に対応する。この silent failure こそ、今回の重要な結果だ。明示的に失敗するモデルは手間がかかるだけだが、黙って失敗するモデルは production incident を引き起こす。
ヒンディー語でのばらつきや、標準中国語での chirp-2 の 16% という結果は、信頼して使う前に難しい言語で検証すべきことを示している。chirp-3 では標準中国語の問題が解消された。ただし、あるモデルが別のモデルより優れているとは結論づけられない。絶対値は synthetic voice と scoring の影響で大きくなっており、実行ごとにも変動する。clean な主要言語の音声では、精度にモデル間の明確な差はない。したがって、この test の精度だけではモデルを選べない。
streaming 出力
文字起こしを streaming できるかどうかは機能上の違いであり、品質とは関係ない。この点ではモデルが明確に分かれる。分単位課金のモデル(whisper-1、seed-asr、qwen3-asr-flash、2 つの Chirp)は batch 専用で、streaming を指定すると gateway は 400 を返す。gpt-4o モデルは token 単位で streaming できる。gpt-4o-transcribe は約 1 秒で最初の単語を返し、その後も順次 text を埋めていく。real-time に近い UI には、この動作が必要になる。コストは batch と変わらない。streaming するには stream=true を追加する。
curl -N https://synthorai.io/v1/audio/transcriptions \
-H "Authorization: Bearer $SYNTHORAI_API_KEY" \
-F file=@meeting.mp3 -F model=gpt-4o-transcribe -F stream=true
# data: {"type":"transcript.text.delta","delta":"When"}
# data: {"type":"transcript.text.delta","delta":" you"} ...
cache
これらのモデルでは、実質的に cache は効かない。分単位課金のモデルは duration に基づいて課金されるため、同じ内容を繰り返しても割引されない。同じ clip を whisper-1 に 5 回送ったところ、毎回同じ $0.015478 が課金された。token 単位課金の gpt-4o モデルにも cache rate の記載はなく、繰り返し実行しても通常の実行間の変動しか見られなかった。したがって、分単位の rate を前提に設計すべきだ。同じ file を再送しても安くならない。
最初に確認すべきことと、自分で検証すべきこと
この test だけでは、実際の録音で最も精度が高いモデルは分からない。ただし、自社で評価する前に候補を絞るための条件は分かる。
- 言語。 必要なすべての言語にモデルが対応しているか、言語を自動検出できるかを確認する。
seed-asrは試したすべての言語に対応したが、languageparameter の明示が必要だった。指定しないと、英語と中国語以外の音声は黙って失敗する。ほかの 6 モデルは自動検出するため、複数言語が混在する音声や言語不明の音声では、より安全な default になる。 - streaming。 live の文字起こしが必要なら、token 単位で streaming できるのは
gpt-4oモデルだけだ。分単位課金のモデルは batch 専用になる。 - コスト。 約 8 倍の差がある。全言語をカバーする最安モデルは $0.0021 の
qwen3-asr-flashだ。Chirp は最も高く、安価なモデルではなく Chirp を選ぶならchirp-3しかない。cache による削減はできないため、分単位の rate がそのまま支払額になる。 - モデル種別。 汎用 multimodal model ではなく、文字起こし専用モデルを使う。逐語的な文字起こしには専用モデルが適しており、両方を提供する vendor もそう説明している。
これらの条件を満たすモデルを数個に絞ったら、残るのは自社音声での精度だ。accent、noise、語彙を含む実際の録音で、各モデルを自分で評価する必要がある。clean な音声の benchmark では、候補モデルを実データで試す工程を代替できない。
結論
主要言語の clean で台本どおりの音声では、7 モデルの精度はほぼ同じだった。これが今回の test で最も有用な結果だ。精度はモデル選定の基準にならない。一方で、baseline には明確な差がある。コストは約 8 倍開き、1 モデルは 2 言語しか自動検出できず、分単位課金のモデルは streaming できない。これらの条件で候補を絞り、勝者を決めるのではなく、残った 2 〜 3 モデルを自社音声で検証するべきだ。また、汎用 multimodal model ではなく、文字起こし専用モデルを選ぶ。両方を開発している vendor も、その使い分けを推奨している。
出典
- OpenAI:音声から text への変換 guide
- OpenAI:API の料金
- Google:Gemini API による音声理解(専用の文字起こしには Cloud Speech-to-Text を使用)
- Google Cloud:Chirp 3 文字起こしモデル
- BytePlus:Seed-ASR(ByteDance)の概要
コストと latency は、2026-06-25 に Synthorai 上で計測した。対象は文字起こし専用の 7 モデルと 5 言語(英語、標準中国語、ヒンディー語、スペイン語、フランス語)で、x-total-cost-usd header と SSE timing を使用した。seed-asr の言語別結果は、2026-07-04 に language parameter を指定して再計測した値である。音声は text-to-speech で生成した意図的に簡単なデータのため、精度の数値は品質 benchmark ではなく最低限の確認にすぎない。accent や noise を含む実際の音声では、異なる差が出る。latency は実行ごとに変動する。表示価格は、その時点におけるこの platform の rate である。利用前に最新の価格を確認すること。