👀 概要
パーソルホールディングス エンジニアリング部 Technical Alliance 室の武田です。
音声対話 AI プロダクトの月額コスト試算について、全 3 回に分けてご紹介します。
今回は、シリーズの第 1 回として、共通の利用条件の置き方、および STT・TTS のコスト試算について記載します。
👨👩👧👦 対象者(Who)
- 音声対話 AI を構成する各サービスのコスト体系について理解したい方
📌 関連リンク
🗒️ 目次
- 本シリーズについて
- はじめに
- 本記事の前提
- 各サービスの課金体系と試算の進め方
- 共通の利用条件を決める
- プロダクトがどれくらい使われるかを仮定する
- 会話に関する数値を仮定する
- LLM に関する数値を仮定する
- RAG に関する数値を仮定する
- STT・TTS コスト試算
- STT コスト試算
- TTS コスト試算
- STT・TTS コスト合計
- まとめ
📝 内容
本シリーズについて
本記事は、音声対話 AI の月額コストを STT、TTS、LLM、RAG に分解して試算する全 3 回シリーズの第 1 回です。
- (1)共通の利用条件と STT・TTS … 本記事
- (2)LLM … (公開後に追記)
- (3)RAG と合計 … (公開後に追記)
共通の利用条件については、本記事(第 1 回)で定義し、以降のシリーズでは、計算に必要な情報のみを再掲します。
また、コスト合計については、第 3 回で記載します。
はじめに
プロダクトの費用対効果を見極めるためには、稼働にどれくらいのコストがかかるかを試算する必要があります。
音声対話 AI のコストは、会話時間だけでは見積もれません。
STT、TTS、LLM、RAG で課金単位が異なるため、共通の利用条件を決めてから、各サービスのコストを積み上げていく必要があります。
本シリーズでは、音声対話 AI プロダクトを例に、前提条件の考え方から各サービスの課金体系、具体的な試算までを分けて記載します。
第 1 回では、共通の利用条件を定義し、STT、TTS のコストまでを試算します。
LLM、RAG、およびコスト合計については、後続回で扱います。
本記事の前提
本シリーズでは、次の構成を前提とします。
コンテナ実行基盤やデータベースなどについては、要件に応じて大きく異なるため試算対象から除きます。
また、記事中のユーザー数や利用回数、会話時間、発話率などは、本シリーズ用に仮で数値を置いています。
| 項目 | 値 |
|---|---|
| STT | Azure Speech(Japan East) |
| TTS | Azure Speech(Japan East) |
| LLM | Azure OpenAI Service(GPT-5.4 mini Global、GPT-5.4 nano Global) |
| RAG | Azure AI Search(Japan East) |
| Embedding | Azure OpenAI Service(text-embedding-3-small) |
| 通貨 | 米ドル |
| 料金調査日 | 2026年8月19日 |
| 本記事の試算対象 | STT、TTS |
| シリーズの試算対象 | STT、TTS、LLM、RAG |
本記事(第 1 回)で記載しない範囲は、以下です。
- LLM のトークン内訳、モデル選定、LLM コスト試算(第 2 回)
- RAG の Search Unit コスト試算、Embedding コスト試算(第 3 回)
- 各サービスのコスト合計(第 3 回)
各サービスの課金体系と試算の進め方
音声対話 AI では、1 回の会話の中で、各種サービス利用が発生します。
ユーザーの音声は STT でテキストに変換され、LLM が会話履歴や検索結果を入力として回答を生成、TTS が回答を音声へ変換します。
RAG として Azure AI Search を使う場合は、検索基盤の固定費用や Embedding 利用に応じた費用も加わります。
(RAG については、どのサービスを使うかによって課金体系が異なるため、本シリーズでは Azure AI Search を使う前提で記載します。)
各サービスの主な課金対象を以下に記載します。
| サービス | 主な課金単位 | 課金性質 |
|---|---|---|
| STT | 認識する音声の時間 | 従量料金 |
| TTS | 生成する文字数 | 従量料金 |
| LLM | 入力トークン数、出力トークン数 | 従量料金 |
| RAG | 検索基盤固定費、Embedding トークン数 | 固定料金+従量料金 |
本シリーズでは、試算を次の順序で進めます。
- 会話数や会話時間など、共通の利用条件を決める(本記事にて記載)
- 各サービスの課金単位を試算する(本記事は STT・TTS、第 2 回は LLM、第 3 回は RAG)
- 各サービスの公開単価を掛けてコストを試算する
- 各サービスのコストを合計する(第 3 回にて記載する)
共通の利用条件を決める
ここから先の利用条件は、本シリーズ全体で共通とします。
以降のシリーズにおいても、以下の値を前提とします。
プロダクトがどれくらい使われるかを仮定する
まず、ユーザー数を決めます。
今回は 1,000 人とします。
次に、1 人当たりの月間利用(会話)数を決めます。
今回は 2 回とします。
これで、プロダクトの月間利用(会話)数が決まります。
今回は 2 × 1,000 = 2,000 回となります。
また、第 3 回の検索負荷試算で使うため、営業日数と稼働時間を定義します。
今回は、営業日数を 20 日、稼働時間を 12 時間とします。
| 項目 | 値 |
|---|---|
| ユーザー数 | 1,000 人 |
| 1 人当たり月間利用(会話)数 | 2 回 |
| 月間利用(会話)数 | 2,000 回 |
| 営業日数 | 20 日 |
| 稼働時間 | 12 時間 |
会話に関する数値を仮定する
1 回当たりの平均会話時間を決めます。
今回は 20 分とします。
次に会話の配分を決めます。
実際に会話する際は、ユーザーが発話し、少しの間(無音)をおいて、AI が応答し、ユーザーが考えて、発話するといった流れが一般的です。
今回はユーザー発話率を 20 %、AI 発話率を 60 %、無音率を 20 % とします。
次に発話文字数を決めます。
今回はユーザー発話文字数を 40、AI 発話文字数を 160 とします。
また、日本語 1 文字に対するトークン数を決めます。
本シリーズでは、日本語 1 文字を 1.5 トークンとします。
すると、発話トークン数は、ユーザーが 60 トークン、AI が 240 トークンとなります。
次に会話のターン数(1 回の会話の中でユーザーと AI が何回会話のラリーをするか)を決めます。
今回は 16 とします。
| 項目 | 値 |
|---|---|
| 平均会話時間 | 20 分 |
| ユーザー発話率 | 20 % |
| AI 発話率 | 60 % |
| 無音率 | 20 % |
| ユーザー平均発話文字数 | 40 文字/発話 |
| AI 平均発話文字数 | 160 文字/発話 |
| ユーザー平均発話トークン数 | 60 トークン |
| AI 平均発話トークン数 | 240 トークン |
| 日本語 1 文字のトークン数 | 1.5 トークン |
| 会話ターン数 | 16 ターン |
LLM に関する数値を仮定する
LLM の詳細な試算は第 2 回で行います。
ただし、後続回で同じ前提を使えるよう、ここで定義します。
LLM は 1 ターンにつき 1 回だけ呼び出されるとは限りません。
音声対話 AI プロダクトで何を実現するかに大きく依存しますが、今回は 1 ターンにつき、入力検証(ユーザーの発話テキストが有害でないことを検証する)、回答生成、出力検証(LLM が生成した回答が有害でないことを検証する)処理が実行されるとします。
- 入力検証
- 回答生成
- 出力検証
各処理のシステムプロンプトトークン数について、入力検証を 400 トークン、回答生成を 800 トークン、出力検証を 400 トークンとします。
また、各処理の出力トークン数について、入力検証は検証結果のみを返すとし、20 トークン、出力検証も同様に検証結果のみを返すとし、20 トークンとします。
回答生成の出力は AI 発話と同義のため、ここでは省略します。
| 項目 | 値 |
|---|---|
| 入力検証システムプロンプトトークン数 | 400 トークン |
| 回答生成システムプロンプトトークン数 | 800 トークン |
| 出力検証システムプロンプトトークン数 | 400 トークン |
| 入力検証出力トークン数 | 20 トークン |
| 出力検証出力トークン数 | 20 トークン |
RAG に関する数値を仮定する
RAG の詳細な試算は第 3 回で行います。
こちらも、後続回で同じ前提を使えるよう、ここで定義します。
RAG の発動率(ユーザーの発話に対してどれくらいの頻度で RAG が発動するか)を決めます。
今回は 30 % とします。
実際は、想定されるシナリオを試して、RAG がどれくらい発動するかを見たほうが、より正確な試算ができます。
次に、RAG の取得件数を決めます。
今回は上位 5 件とします。
次に、チャンクサイズを決めます。
今回は 500 トークンとします。
また、会話終了後に長期記憶として、会話内容の要約を RAG に投入するとします。
今回は要約トークン数を 300 トークンとします。
| 項目 | 値 |
|---|---|
| RAG 発動率 | 30 % |
| RAG 取得件数 | 上位 5 件 |
| チャンクサイズ | 500 トークン |
| 要約トークン数 | 300 トークン |
STT・TTS コスト試算
STT については、STT が認識する時間、つまり、 全ユーザーが話した合計時間 よりコストを試算します。
(ユーザー発話区間のみ認識を開始し、その区間だけを STT に送信するとします。)
TTS については、 TTS が生成する文字数 よりコストを試算します。
時間は会話時間および発話率から、文字数はターン数および発話文字数から導出します。
STT コスト試算
全ユーザーが話した合計時間は、以下で求めることができます。
全ユーザーが話した合計時間 [時間]
= 月間利用(会話)数 × 平均会話時間 [分] × ユーザー発話率 ÷ 60
今回のケースでは、月間利用(会話)時間は 40,000 分となります。
2,000 回 × 20 分 = 40,000 分
ユーザー発話率を 20 % とすると、STT が認識する時間は 8,000 分、約 133.33 時間 になります。
40,000 分 × 20 % ÷ 60 = 133.33 時間
STT の単価が $1/時間 であるため、1 ヶ月当たりのコストは約 $133/月 となります。
133.33 時間 × $1/時間 = $133.33/月
Speech Model Prices
Category Features Price
Speech to Text Standard Transcription Real-time Transcription: $1 per hour
https://azure.microsoft.com/ja-jp/pricing/details/speech/
TTS コスト試算
TTS が生成する文字数は、以下で求めることができます。
TTS 生成文字数
= 月間利用(会話)数 × 会話ターン数 × AI 平均発話文字数
今回のケースでは、生成文字数は 512 万文字になります。
2,000 回 × 16 ターン × 160 文字 = 5,120,000 文字
TTS の単価が $15/100万文字 であるため、1 ヶ月当たりのコストは約 $77/月 となります。
5,120,000 文字 × $15/100万文字 = $76.80/月
Commitment Tiers – Standard
Category Features Price
Text to Speech Standard Voice Neural/Neural HD Flash (real-time and batch): $15 per 1M characters
https://azure.microsoft.com/ja-jp/pricing/details/speech/
STT・TTS コスト合計
試算結果より、STT および TTS の合計コストは約 $210/月 となります。
$133.33/月 + $76.80/月 = $210.13/月
| 項目 | 値 |
|---|---|
| STT コスト | $133.33/月 |
| TTS コスト | $76.80/月 |
| STT・TTS コスト | $210.13/月 |
まとめ
音声対話 AI のコストは、課金単位がサービスごとに異なるため、まず共通の利用条件を決め、そこから各サービスの利用量へ変換していく必要があります。
第 1 回では、シリーズ共通の利用条件を定義し、STT・TTS コストを次の考え方で試算しました。
- STT
- ユーザーがどれくらいの時間発話するのかを整理する
- ユーザー発話区間だけを STT に送信する前提で、認識時間を求める
- TTS
- AI が 1 会話でどれだけの文字を発話するのかを整理する
- ターン数と AI 平均発話文字数から生成文字数を求める
今回のケースでは、STT・TTS の小計は約 $210/月 でした。
次回(第 2 回)では、本記事の利用条件を前提に、入力検証・回答生成・出力検証の呼び出しから LLM のコストを試算します。
RAG の試算、および STT・TTS・LLM・RAG のコスト合算は、第 3 回で扱います。