Amazon Pollyとは?日本語音声の制約と4エンジンの料金・実装手順【2026年版】
Amazon Pollyは、渡したテキストを音声データに変換して返すAWSのマネージドサービスです。学習データの準備もGPUの手配も不要で、boto3から1回呼ぶだけで読み上げ音声が手に入ります。ただし日本語で使える話者は4人に限られ、話題になりやすい生成音声とロングフォームは日本語に提供されていません。この記事では、4つの音声エンジンの単価差、日本語4話者のエンジン対応、同期合成と非同期タスクの振り分け、発音カナとレキシコンによる読み修正、そして他のTTSへ回すべき場面を実装の順序で並べました。
まとめ:日本語案件はエンジンの対応範囲から設計を決める
検討でつまずく箇所は機能の多さではなく、日本語で使える範囲の見誤りです。着手前に確かめる点は3つ、話者はニューラルで足りるか、月間の文字数がいくらになるか、原稿1本が3,000文字を超えるかどうかになります。
日本語の話者はMizuki・Takumi・Kazuha・Tomokoの4人。このうちニューラルエンジンで使えるのはTakumi・Kazuha・Tomokoの3人で、生成エンジンとロングフォームエンジンには日本語音声が1つも用意されていません。英語のデモで聞ける表情豊かな生成音声は、日本語案件では再現できません。
費用は文字数だけで決まります。100万文字あたり標準4.00 USD、ニューラル16.00 USDで、日本語の現実的な選択はこの2つ。SSMLタグの文字は課金対象に入らないため、読みや間の指定を書き込んでも請求は増えません。
実装で最初に当たる壁は文字数上限でしょう。その場で音声が返るsynthesize_speechは課金対象3,000文字までで、記事1本を丸ごと読ませる用途には足りません。10万文字までまとめて処理する非同期タスクへ回し、結果をS3から受け取る形に切り替えてください。
Amazon Pollyの定義|テキスト読み上げを担うマネージドTTS
何が提供され、何が提供されないのかを先に押さえると、後続の設計判断が短くなります。
学習済みモデルをHTTPS APIから呼ぶだけで音声が返る構成
Pollyは、AWS側が学習を終えた音声合成モデルをHTTPS APIとして公開するサービスです。利用者はモデル構造もGPUインスタンスも触らず、テキストと話者名と出力形式を指定して呼ぶだけで音声ストリームを受け取ります。推論基盤の運用とモデル更新はAWS側の責任範囲です。
入力はプレーンテキストとSSMLの2種類で、リクエストのTextTypeで切り替えます。出力形式はMP3、OGG Vorbis、PCMの3つ。サンプルレートは8 kHzから24 kHzまで選べ、標準音声の既定値は22 kHzです。
提供されないものも明確です。モデルの重みは取り出せず、オンプレミス環境やエッジ端末での実行もできません。原稿を社外へ送信できない案件では選択肢から外れるため、OSSのTTSを含めた方式比較から入る段階なら音声合成AIの作り方とOSS・クラウドAPIの方式選定を先に読んでください。
標準・ニューラル・生成・ロングフォームという4エンジンの品質差
音声品質はリクエストのEngineパラメータで決まります。標準は従来型、ニューラルは深層学習ベースで抑揚が自然な方式、ロングフォームは長文ナレーション向け、生成は会話らしい表情を狙った方式という並びです。
生成エンジンは10億パラメータ規模のトランスフォーマーを用いる構成で、2026年3月に8ロケールへ10音声が追加され、テキスト入力と音声出力を同時に流す双方向ストリーミングAPIの提供も始まりました。
品質の階段は単価の階段と一致します。100万文字あたりで標準4.00 USD、ニューラル16.00 USD、生成30.00 USD、ロングフォーム100.00 USDと、最上位と最下位で25倍の開きがある構造です。
同期合成と非同期タスクで異なる文字数上限と結果の受け取り方法
呼び出し経路は2つに分かれます。その場で音声が返る同期のSynthesizeSpeechと、ジョブを登録してS3へ出力させる非同期のStartSpeechSynthesisTaskです。分かれ目は原稿の長さで、どちらを選ぶかで結果の受け取り方まで変わります。
| 項目 | 同期(SynthesizeSpeech) | 非同期(SynthesisTask) |
|---|---|---|
| 課金対象文字数 | 3,000文字まで | 100,000文字まで |
| 総文字数の上限 | 6,000文字まで | 200,000文字まで |
| 出力の受け取り | レスポンスのストリーム | 指定したS3バケット |
| 音声の長さ上限 | 10分 | 明示された上限なし |
| 完了の把握 | 不要(即時返却) | SNS通知またはポーリング |
| レキシコン適用数 | 最大5個 | 最大5個 |
総文字数と課金対象文字数に2倍の差がある理由はSSMLです。タグの文字は課金対象に数えないため、本文3,000文字に対してタグ側へ3,000文字分の余地が残ります。
日本語で使える4話者|エンジン対応と生成音声が未対応である理由
英語圏の記事やデモ動画を基準に期待値を作ると、見積り後に食い違いが出ます。
Mizuki・Takumi・Kazuha・Tomokoの4話者とエンジン対応
日本語(ja-JP)の音声は4つ。公式の音声一覧が示すエンジン対応は次のとおりで、生成とロングフォームの列はいずれも未対応です。
| 音声名 | 性別 | 標準 | ニューラル | 生成 |
|---|---|---|---|---|
| Mizuki | 女性 | 対応 | 非対応 | 非対応 |
| Takumi | 男性 | 対応 | 対応 | 非対応 |
| Kazuha | 女性 | 非対応 | 対応 | 非対応 |
| Tomoko | 女性 | 非対応 | 対応 | 非対応 |
KazuhaとTomokoは2023年2月に追加された日本語のニューラル音声です。ニューラル品質を前提にすると3択で、内訳は女性2人と男性1人。男女で切り替える構成は組めますが、複数の男性話者を出し分ける台本は日本語では成立しません。
生成音声とロングフォームが日本語で未対応であることの設計影響
生成エンジンは43音声を揃えていますが、対象は英語系の各地域とオランダ語、フランス語、ドイツ語、イタリア語、韓国語、ポルトガル語、スペイン語で、ja-JPは含まれません。ロングフォームも同じく日本語音声はありません。
設計への影響は2点あります。1点目は表現力の天井で、日本語では抑揚と自然さがニューラルの水準で止まる点です。2点目はSSMLの制約で、強調を指示するemphasisタグはニューラル以降のエンジンで使えないため、日本語でニューラルを選んだ時点で強調タグという手段が消えます。
東京リージョンで使える範囲と海外リージョンを併用する判断基準
生成エンジンが提供されるのはバージニア北部、フランクフルト、オレゴン、東京、ソウル、シンガポール、ロンドン、カナダ中部、チューリッヒの9リージョンです。東京は含まれるものの、日本語の生成音声が存在しないため、東京で生成エンジンを呼ぶ場面は英語コンテンツを扱うときに限られます。
双方向ストリーミングAPIの提供はさらに狭く、バージニア北部、フランクフルト、オレゴン、シンガポール、ロンドン、カナダ中部、チューリッヒの7リージョンで、東京は入っていません。
ここは言い切ります。日本語だけを扱う案件なら東京単独で組み、海外リージョンを増やさないでください。英語の対話音声も載せる多言語案件ではバージニア北部を併用し、原稿の所在に制約があるなら英語側も東京へ寄せて双方向ストリーミングを諦める判断が現実的です。
Amazon Pollyの料金体系|エンジン別単価と無料枠と費用の伸び方
インスタンス費用も最低利用料もないため、見積りは原稿の実文字数から逆算できます。
100万文字あたり4USDから100USDまで開くエンジン別単価
単価はエンジンごとに設定され、日本語で選べる範囲は上2段に限られます。
| エンジン | 100万文字あたり | 日本語音声 |
|---|---|---|
| 標準 | 4.00 USD | あり(2話者) |
| ニューラル | 16.00 USD | あり(3話者) |
| 生成 | 30.00 USD | なし |
| ロングフォーム | 100.00 USD | なし |
金額感を掴むために具体例を置きます。3,000文字の記事を毎日100本読み上げる構成なら月900万文字で、ニューラルなら約144 USD、標準なら約36 USD。差額は月100 USD強に収まり、品質と費用の選択は音声を聞いてから決められる規模です。
12か月間の無料枠はエンジンごとに上限が10万から500万文字
最初の12か月は月あたりの無料枠が付きます。標準500万文字、ニューラル100万文字、ロングフォーム50万文字、生成10万文字と、上位エンジンほど枠が小さい設計です。
検証段階の判断材料としては、ニューラルの100万文字が目安になります。3,000文字の原稿なら約330本分で、機能検証と社内試聴には十分な量。一方で記事読み上げを常設する本番運用では月内に使い切るため、無料枠を前提にした費用計画は立てられません。
新規アカウントには2025年7月15日以降、最大200 USDのAWS無料利用枠クレジットが付与されるという案内も出ています。金額と条件は変わりうるため、見積り時点で料金ページを直接確認してください。
SSMLタグが課金対象外である点を踏まえた原稿と見積りの考え方
SSMLタグは課金対象文字に数えられません。間を空けるbreak、読みを指定するphoneme、話速や高さを触るprosodyをどれだけ書き込んでも請求額は変わりません。品質を上げる手数に費用の遠慮が要らない、という性質です。
この性質は原稿の作り方に効いてきます。読み間違いをSSMLで直しても費用は増えないため、案件単位の細かい調整はSSML側へ寄せて構いません。全リクエストへ一律に効かせたい社名や製品名の読みだけレキシコンで持つほうが、保守は楽になるでしょう。見積りは「原稿の実文字数 × エンジン単価」で読めます。
boto3での実装手順|同期合成と非同期タスクの振り分け基準
同期合成から始めて、原稿が長くなった段階で非同期へ差し替える順序が扱いやすいでしょう。
IAM権限と出力先S3バケットを先に固めておく前提条件の整え方
準備は権限と出力先の2つです。同期合成だけなら合成呼び出しの権限で足りますが、非同期タスクを使う段階でS3とSNSが絡んできます。
polly:SynthesizeSpeech:同期合成に必要polly:StartSpeechSynthesisTask:非同期タスクの登録に必要- 出力先バケットへの書き込み権限:非同期タスクの結果保存に必要
sns:Publish:完了通知をトピックへ流す場合のみpolly:PutLexicon:発音辞書を登録・更新する場合のみ
リージョンはクライアント生成時に指定します。日本語のニューラル音声は東京でも呼べるため、東京固定で構いません。逆方向の音声認識を同じ案件で扱うなら、Amazon Transcribeの料金と日本語対応で役割を分けてください。
課金3000文字までに収める同期合成の最小コードと戻り値の扱い
最小構成は、boto3でpollyクライアントを作り、synthesize_speechにテキストと出力形式と話者名とエンジン名を渡すだけです。日本語のニューラルなら話者はTakumi、エンジンはneuralを指定します。
戻り値のAudioStreamはストリーミング形式のオブジェクトで、読み出してファイルへ書き出す流れになります。読み終わったら明示的に閉じてください。
レスポンスにはRequestCharactersとして課金対象文字数が返ります。ここを合算してログへ残しておくと、請求額の内訳を後から説明できるようになります。テキストが上限を超えた場合は合成前に文字数超過の例外が返るため、投入前に長さを判定して分割経路へ回す実装が必要です。
10万文字を超える長い原稿を非同期タスクへ回す実装の5つの手順
非同期タスクは登録と回収の2段構えです。手順は次の流れになります。
- 出力先のS3バケットとプレフィックスを決める
start_speech_synthesis_taskに原稿と出力先バケット名を渡す- 返ってきたタスクIDを保存する
- SNSトピックの完了通知を受けるか、タスク取得APIで状態を確認する
- 完了後に返る出力先のURIから音声ファイルを取得する
1タスクの課金対象は100,000文字までなので、書籍1冊のような原稿は分割が要ります。切る位置は章や節の境目に置き、文の途中で切らないでください。継ぎ目の抑揚が不自然になります。
ニューラル音声のスロットリング上限が並列処理の設計を縛る条件
見落としやすいのがスロットリングです。同期呼び出しの上限は標準が80 tps(バースト100)で同時実行80件、ニューラルは8 tps(バースト10)で同時実行18件。非同期側は標準10 tps(バースト12)、ニューラル10 tps、ロングフォームと生成が各1 tpsになります。
設計への落とし込みは単純です。ニューラルの同期呼び出しで毎秒8件を超える設計は成立しないので、1,000件の原稿を一斉に投げる処理はキューを挟んで流量を絞り、指数バックオフで再試行してください。即時性が要らないバッチなら、非同期タスクへ寄せるほうが1タスク10万文字を扱えて有利になります。
日本語の読み間違い対策|発音カナとレキシコンを使った指定方法
日本語のTTSで工数を食うのは固有名詞です。社名、製品名、地名、人名は初期状態で読み間違えるものとして、修正手段を2つ用意しておきます。
発音カナで読みを指定するphonemeタグとアクセント記号の書き方
SSMLのphonemeタグは、alphabet属性で表記体系を選びます。日本語では発音カナ(x-amazon-pron-kana)とヨミガナが使えます。
発音カナはカタカナで音を書き、アポストロフィでピッチの下がり目を示す記法です。アポストロフィが無ければ平板型として扱う決まりです。人名「浩一」を「ヒロカ」の後で下げて読ませたい場合は、カタカナ表記の該当位置にアポストロフィを入れます。ふりがなが表記の補助である一方、発音カナは実際の音とアクセントを表す点が違います。
レキシコンは100個まで・アカウント単位で管理する運用ルール
レキシコンは発音辞書をアカウント側に置く仕組みです。上限はアカウントあたり100個、1個のサイズが40,000文字、辞書名は英数字20文字以内、1リクエストへ適用できるのは5個まで、置換文字列は100文字以内という制約になります。
適用条件で引っかかりやすいのは言語の一致でしょう。辞書の言語と話者の言語が違うと適用されないため、日本語音声に当てる辞書はja-JPで作ります。
運用は1本に集約する形が扱いやすい方式です。社内用語集をレキシコン1つにまとめ、更新は登録APIで上書きします。原稿にタグを埋め込まないため、辞書を直せば過去の原稿も次回合成から正しく読まれます。
subタグとsay-asで読み替える場合のエンジン別の対応範囲
読み替えの手段はもう2つあります。略語を別の語として読ませるsubタグは全エンジンで使え、数値や日付の読み方を指示するsay-asはニューラルで部分対応、ロングフォームと生成では全対応です。
使えないタグも把握しておいてください。強調のemphasis、呼吸音の自動挿入、ささやき声、声質を変えるタグは、ニューラル・ロングフォーム・生成のいずれでも使用不可です。標準・ニューラル・ロングフォームで未対応タグを送るとエラーが返ります。breakは最大10秒、prosodyの話速は-80%を下回る指定ができません。
日本語でニューラルを選ぶと強調タグが落ちるため、代替を先に決めます。言いたい語を文頭へ寄せる、句点で切る、breakで直前に間を作る、の3つで作るのが現実的でしょう。
採用判断|Amazon Pollyを選ぶ条件と他のTTSへ回す場面
ここまでの制約を踏まえて、採用と見送りの線を条件で引きます。
Pollyの採用条件は日本語の定型読み上げと従量課金の噛み合い
次の3つが揃うならPollyが第一候補です。日本語の定型テキストを読ませる用途であること、月間の文字数が見積れること、システムがAWS上で完結していること。案内放送、通知メッセージ、記事の読み上げ、電話応答のガイダンスはこの条件に収まります。
特にAmazon Connectで電話応答を組む案件は迷う余地がありません。同一クラウド内で音声合成を呼べるため、外部APIの認証と通信経路を別に設計する手間が消えます。読み上げを既存の業務システムへ組み込む工程まで含めて相談したい場合は、生成AI開発・AI受託開発で扱っている範囲を確認してください。
逆にAWSを使っていない案件で、音声合成だけのためにアカウントを起こす価値は慎重に見ます。月4 USDや16 USDに対しIAM設計とS3運用が加わる釣り合いで判断してください。
感情表現が要件なら日本語のPollyを見送るという判断と代替手段
言い切ります。日本語で「感情のこもったナレーション」「会話らしい抑揚」が要件に入るなら、Pollyは見送ってください。日本語の表現力はニューラルが上限で、生成エンジンに日本語音声は無く、強調タグも使えません。3つの制約が同時に効くため、要望に対して手段が残りません。
代替はクラウドTTSの横並び比較へ戻ります。日本語で感情や話者スタイルを指示したい場合の実装例はGemini API TTSの実装と料金にまとめました。声質を作り込む要件にはBrand Voiceというカスタム音声の枠組みもありますが、個別相談が前提で従量課金とは進め方が違います。
失敗の型は決まっています。英語の生成音声デモで品質を判断し、日本語で作ってから期待と違うと分かるパターンです。見積り前に日本語4話者の実サンプルを作り、聞いてもらってから台本を書き始めてください。
Speech Marksで字幕を同期させる案件でのエンジン制約
Speech Marksは、語や文の開始位置、口の形(ビセーム)、SSMLに置いたマークのタイムスタンプをJSONで返す機能です。字幕を音声に合わせる処理やアバターのリップシンクで使います。
課金は音声と同じ扱いなので、音声とSpeech Marksを別々に取ると同じ原稿へ2回課金されます。必要な案件では文字数を2倍で見積ってください。
エンジン制約も1つあります。生成エンジンではSpeech Marksが提供されていません。日本語はニューラルまでなので当面の支障はありませんが、将来日本語の生成音声が追加されたときに乗り換えられない機能だと理解しておく必要があります。字幕同期が要件の案件はニューラル固定で設計し、生成エンジンへの移行を前提に置かないでください。
よくある質問
Amazon Pollyの検討時に実際に検索されている質問へ、実装と契約の観点から答えます。
Amazon Pollyで作った音声は商用利用できますか?
AWSの利用規約に沿う範囲で、商用の制作物に使えます。ナレーターへ支払う追加のライセンス料は発生せず、費用は合成した文字数分の従量課金だけです。ただし実在する人物の声に似せる用途や、合成音声であることの明示が求められる業種では別の検討が要ります。放送や公共案内など規制のある領域では、契約前に法務側の確認を通してください。
Amazon PollyとAmazon Transcribeの違いは何ですか?
変換の方向が逆です。Pollyはテキストから音声を作るText-to-Speech、Transcribeは音声からテキストを作る音声認識にあたります。両方を組み合わせると、電話の音声を文字にして内容を判定し、応答文を音声で返す流れが組めるでしょう。課金単位も違い、Pollyは文字数、Transcribeは音声の長さで計算されます。
無料枠を超えたあとの課金はどう計算されますか?
エンジンごとの単価に、合成した文字数を掛けた金額です。ニューラルなら100万文字あたり16.00 USDで、月の無料枠100万文字を使い切った分から超過分だけが課金対象になります。SSMLタグの文字は数に入りません。無料枠は最初の12か月に限られ、13か月目は1文字目から課金対象です。エンジンを混在させる構成では、標準とニューラルを別々に集計してください。
生成した音声ファイルはどこに保存されますか?
同期呼び出しでは音声がレスポンスのストリームとして返るだけで、保存先は呼び出し側が決めます。読み出してファイルへ書くか、そのままHTTPレスポンスへ流す形です。非同期タスクでは、指定したS3バケットへPollyが直接書き込み、完了時に出力先のURIが返ります。どちらの経路でもPolly側に音声は残らないため、同じ原稿を繰り返し読ませる用途では生成済み音声をキャッシュすると課金を抑えられます。
日本語で話す速さや高さを変えられますか?
SSMLのprosodyタグで話速、高さ、音量を指示できます。ニューラルエンジンでは部分対応という位置づけで、話速は-80%を下回る指定ができません。強調のemphasisタグはニューラル以降で使えないため、日本語のニューラル音声では強弱をタグで付けられない点に注意してください。間を調整したい場合はbreakタグで最大10秒までの無音を挿入します。
関連記事
- 音声合成AIの作り方:OSSとクラウドAPIを比べて方式から決める段階の記事です
- 音声合成ソフト比較:法人向けソフトの選び方と商用利用ライセンスの整理です
- Amazon Lexとは:Pollyと組み合わせる対話ボット側の仕組みです
- Amazon Rekognitionとは:同じAWSのAIサービス群を実装視点で扱いました
- Gemini 3.1 Flash TTS:他社の低遅延TTSと位置づけを比べる参照先です