2026/10/21AI業務効率化
AI活用導入・運用

Gemini TTSの使い方|日本語で読み上げる手順と注意点

Gemini TTSの使い方|日本語で読み上げる手順と注意点

「Gemini TTSで日本語のナレーションを作りたいが、どこから呼べばいいのか分からない」「サンプルどおりに書いたのに、読み方の指示まで声になって返ってきた」——読み上げをAIに任せようとして最初につまずくのは、だいたいこの2つです。

結論から言うと、Gemini TTSの使い方で一番大事なのは「読ませる文」と「読み方の指示」を別の欄に分けることです。Gemini 3.8 Flash TTSは、本文に書いたものを一字一句そのまま読む作りになっています。「落ち着いた声で読んでください。」を本文の前に置くと、その一文から読み上げます。指示は speech_metadata の style に入れ、間や息づかいは本文の中に <short pause> のようなタグで入れます。

株式会社Fyveは、中小企業の業務にAIを組み込む仕事をしています。社内では動画の自動制作を研究していて、その中でGemini 3.8 Flash TTSに約1分の台本を6つの声で読ませ、読み間違い・無料枠・費用を記録しました。この記事では、公式ドキュメントの手順に、その実測で分かった落とし穴を重ねて、日本語で使うための手順をまとめます。

結論:Gemini TTSの使い方で押さえる4点

細かい手順に入る前に、最初に知っておけば遠回りしない4点を置きます。

  • 指示は本文に混ぜない:読み方の指示は speech_metadata.style に入れます。本文の前に書くと、その文まで読み上げられます(私たちの実測では6声すべてで起きました)
  • 呼び出し口はInteractions API:公式ドキュメントの例はすべて /v1beta/interactions です。返ってくる音声は既定でWAV(24kHz・モノラル・16bit)です
  • 数字と英字は台本側でかなに開く:Flash-Lite TTSは「152キロ」を「15.2キロ」と読みました。読み間違えさせたくない数字は、台本の段階で「ひゃくごじゅうに」と書きます
  • 無料枠は回数が少ない:私たちの無料の鍵では、gemini-3.8-flash-tts は1日10回で上限に達しました。1文ずつ呼ぶ作りにすると、短い動画1本も作れません

以下で、試し方・APIでの呼び出し方・声の選び方・日本語の落とし穴の順に説明します。

Gemini TTSとは|2つのモデルと使える場所

Gemini TTSは、GoogleのGemini APIで使えるテキスト読み上げ(TTS=Text To Speech)のモデルです。2026年9月23日に、Googleが公式ブログで「Gemini 3.8 Flash TTS」と「Gemini 3.8 Flash-Lite TTS」の2つを発表しました。

項目

Gemini 3.8 Flash TTS

Gemini 3.8 Flash-Lite TTS

モデルID

gemini-3.8-flash-tts

gemini-3.8-flash-lite-tts

公式の位置づけ

表現力が最も高く、作り込む用途向け

速く安く、量をこなす用途向け

日本語

対応

対応

出力の単価(有料・音声)

$9.00/100万トークン

$6.00/100万トークン

単価は2026年10月21日にGemini APIの公式料金ページで確認した数字で、どちらも2026年12月31日までの価格です。2027年1月1日からは$18.00/$12.00になると公式ページに書かれています。いずれも米ドル建て・税別で、契約前には公式の料金ページで最新の数字を確認してください。料金の読み方と、1分の音声がいくらになるかの計算は別の記事にまとめています。

Gemini 3.8 Flash TTSとは|1分の料金と選び方
AI業務効率化Gemini 3.8 Flash TTSとは|1分の料金と選び方

使える場所は、Google AI StudioとGemini APIです。公式料金ページの各モデルの欄に「Try it in Google AI Studio」のリンクがあり、コードを書かずに音を聞くならここが早道です。業務の仕組みに組み込むならAPIから呼びます。

使い方1:まずGoogle AI Studioで声を聞く

いきなりコードを書く前に、AI Studioで2〜3文を読ませて、声の候補を絞っておくことをすすめます。理由は単純で、声の良し悪しは文字の情報では判断できないからです。公式ドキュメントには30種類の声に「Firm」「Informative」のような一言の説明が付いていますが、日本語を読ませたときの印象は、その一言から想像したものとかなり違いました。

試すときの台本には、自分の業務で実際に出てくる語を混ぜます。私たちが使った台本には、次のような「読み間違えやすい語」をわざと入れました。

  • 時刻:朝5時、7時、14時、22時(「しちじ」「じゅうよじ」と読むか)
  • 回数:1日3回(「ついたち」と読まないか)
  • 製品名:Mac mini、Slack、Claude Code
  • 英字1文字:X(「バツ」と読まないか)
  • 略語:AI、SEO
  • 版番号:Opus 5.5、Gemini 3.8 Flash TTS

結果は後の節で書きますが、時刻・回数・製品名はどの声も正しく読みました。崩れたのは、別の日に試した「数字+単位」と、文の言い換えでした。

使い方2:APIでGemini TTSを呼び出す手順

業務で使うなら、APIから呼んで音声ファイルを保存する形になります。手順は4つです。

  1. Google AI StudioでAPIキーを作る
  2. キーを環境変数(例:GEMINI_API_KEY)に置く。コードの中に直接書かない
  3. Interactions APIに、読ませる文・声・読み方の指示を送る
  4. 返ってきた音声(base64)をデコードしてWAVで保存する

Pythonで呼ぶ(公式の例)

公式ドキュメントのPythonの例は次のとおりです(公式の speech-generation ページより。2026年10月12日更新の版)。

import base64
from google import genai

client = genai.Client()
interaction = client.interactions.create(
    model="gemini-3.8-flash-tts",
    input=[{"type": "user_input", "content": [{
        "type": "text",
        "text": "Have a wonderful day!",
        "annotations": [{"type": "speech_metadata", "style": "cheerful and friendly"}],
    }]}],
    response_format={"type": "audio"},
    generation_config={"speech_config": [{"voice": "Kore"}]},
)
with open("out.wav", "wb") as f:
    f.write(base64.b64decode(interaction.output_audio.data))

見るべき場所は3つです。text が読ませる文、annotations の style が読み方の指示、speech_config の voice が声の名前です。SDKを使う場合は interaction.output_audio から音声を取り出せる、と公式に書かれています。

SDKを使わずにHTTPで呼ぶ

私たちの社内のスクリプトは、ライブラリを増やしたくなかったので標準のHTTPだけで呼んでいます。送る中身はPythonの例と同じです。

curl -s "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -d '{
    "model": "gemini-3.8-flash-tts",
    "input": [{"type": "user_input", "content": [{
      "type": "text",
      "text": "本日の作業をまとめます。",
      "annotations": [{"type": "speech_metadata", "style": "落ち着いた、聞き取りやすいナレーション。ややゆっくり。"}]
    }]}],
    "response_format": {"type": "audio"},
    "generation_config": {"speech_config": [{"voice": "Charon"}]}
  }'

SDKを使わない場合、音声は応答の steps[].content[].data にbase64で入っています(公式ドキュメントに記載)。これをデコードしてファイルに書けば、そのまま再生できるWAVになります。

返ってくる音声の形式

呼び方

既定の形式

補足

通常(一括で返す)

WAV(24kHz・モノラル・16bit PCM)

先頭に44バイトのヘッダが付く

ストリーミング

ヘッダなしのPCM(24kHz・モノラル)

受け取りながら再生する用途

電話向け

G.711(mu-law/A-law・8bit)

response_format.mime_type で指定

サンプルレートは24000・16000・8000Hzなどから選べます。電話の自動応答に使うなら、最初から電話向けの形式で受け取れば変換の手間が要りません。

読み方の指示は本文に混ぜない|speech_metadataの使い方

ここがこの記事でいちばん伝えたいところです。私たちは最初、前の世代のTTSで広まっていた書き方をそのまま使いました。読ませたい文の前に「落ち着いた、聞き取りやすいナレーションとして、ややゆっくり読んでください。」と書く方法です。

2026年9月26日、この書き方で6つの声に同じ台本を読ませたところ、6声すべてが指示文から読み上げました。文字起こしにかけて確かめたので、聞き間違いではありません。

公式ドキュメントにはこう書かれています。「Gemini 3.8 TTS models treat input text strictly as a verbatim transcript.」——本文は一字一句そのまま読む原稿として扱う、という意味です。続けて、前のプレビュー版では演技の指示を本文に書き込んでいたが、3.8では続けてかかる指示(speech_metadata)と、その場で起きる声のタグを分けた、と説明しています。

指示を speech_metadata.style に移したら、指示文は読まれなくなりました。

読み方の指示を本文の前に書くと指示まで読み上げられ、speech_metadataのstyleに入れると読まれない、という比較図

どの指示をどこに書くか

公式ドキュメントは、指示を「範囲」で2つに分けるよう書いています。

指示の種類

書く場所

例

その発話全体にかかる指示(感情・速さ・話し方)

speech_metadata.style

「落ち着いた解説」「speaking slowly」

特定の位置で起きること(間・ため息・咳)

本文の中に山かっこのタグ

<short pause> <long pause> <sigh>

日本語の原稿でも、タグは英語のまま書きます。公式に「本文が英語以外でも、タグは英語のまま使うのが最もよい結果になる」とあります。「ここで一拍置きたい」なら、本文に <short pause> を入れます。読点(、)やダッシュ(--)、三点リーダー(...)でも自然な間が入る、と公式は書いています。

「声を安定させて」と書かない

もう一つ、公式が明確に止めている書き方があります。「話者を変えないで」「声質を同じに保って」のような指示です。公式は、余分な指示文はかえって声のぶれを増やすとして、こうした指示を入れないよう書いています。声を毎回同じにしたいなら、指示を足すのではなく、同じ声の名前(または保存した自作の声)を使い続けます。

私たちの経験でも、指示は短いほうが安定しました。最終的に使った指示は「落ち着いた、聞き取りやすいナレーション。ややゆっくり。」の1文だけです。

声の選び方|30種類から日本語ナレーション向きを選ぶ

公式ドキュメントに載っている既製の声は30種類です。日本語の解説ナレーションで候補にしやすいものを抜き出すと、次のとおりです(説明は公式の英語の一言を訳したもの)。

声の名前

公式の説明

Charon

Informative(説明向き)

Kore

Firm(しっかり)

Puck

Upbeat(明るい)

Aoede

Breezy(軽やか)

Fenrir

Excitable(勢いがある)

Iapetus

Clear(はっきり)

Schedar

Even(平らで落ち着いた)

Sadaltager

Knowledgeable(知的)

このほかに、公式ブログが「2,000以上」とうたう拡張の声のライブラリがあり、APIの GET /v1beta/voices で一覧を取れます。

実際に日本語で読ませた結果

約1分の同じ台本・同じ指示で読ませ、文字起こしで読みを確かめた結果です(2026年9月26日・社内での測定)。

声

音声の長さ

気になった点

Charon

49.3秒

なし

Kore

54.1秒

一か所、文の言い換えの疑い

Puck

47.4秒

一か所、文の言い換えの疑い

Aoede

50.2秒

一か所、文の言い換えの疑い

Fenrir

51.7秒

「SEO」の書き起こしが乱れた(文字起こし側の誤りの可能性)

Charon(Flash-Lite)

46.2秒

なし

同じ原稿でも、声によって長さが47秒から54秒まで約15%違いました。動画の尺や電話の応答時間が決まっているなら、声を変えると尺も変わる点に注意が要ります。

比較のために、macOSに標準で入っている読み上げ(say コマンド)でも同じ台本を読ませました。費用ゼロで出せる声です。「有料のTTSを使う理由があるか」は、この費用ゼロの声と並べて聞くと判断しやすくなります。

日本語で読ませるときの3つの落とし穴

時刻・回数・製品名は、どの声も正しく読みました。崩れたのは別の場所です。

1. 数字と単位:「152キロ」が「15.2キロ」になった

2026年9月27日、短い動画のナレーションでFlash-Lite TTSに「152キロ」を読ませたところ、「じゅうごてんにキロ」と読みました。数字が一桁ずれると意味が変わります。重さ・金額・人数のように、間違えると困る数字は、台本の段階でかなに開きます。

  • 原稿(画面に出す字幕):152kg
  • 読ませる台本:ひゃくごじゅうにキロ

字幕と台本を別に持つのは手間に見えますが、私たちはこれを決まりにしました。直す箇所は、読み間違いが出た語だけで足ります。

2. 文の言い換え:生成モデルなので、語が変わることがある

6声の比較で、3つの声に「台本と違う言葉で読んだのでは」という箇所が1つずつ出ました。たとえば「動かしているのは」が「私が作っているのは」に聞こえる、といった違いです。

TTSといっても中身は生成モデルなので、原稿を一字一句なぞる保証はありません。文字起こしの誤りなのか、本当に言い換えたのかは、最後は耳で聞かないと分かりません。外に出す音声は、出す前に一度聞く工程を残す——これが6声を試した私たちの結論です。

3. 英字と版番号:英語読みになる

「Opus」「Gemini 3.8 Flash TTS」は、日本語の文の中でも英語の発音で読みました。英語読みで困らないなら、そのままで構いません。「ジェミニ さんてんはち」と日本語読みにしたい場合は、台本をカタカナとかなで書きます。

聞き取り確認を機械に手伝わせる

全部を耳で聞くのは時間がかかるので、私たちは「読み間違いの候補を機械で拾い、怪しい箇所だけ人が聞く」形にしています。最初は文字起こしのツール(whisper)を使いましたが、数字を「15.2kg」のように整えて書き出すため、読み間違いなのか整形なのか区別できませんでした。

そこで、Geminiに音声を渡し、「聞こえた音のとおりにすべてひらがなで書き起こしてください。数字は読まれた音のまま」と頼む方式に変えました。台本の読み(ひらがな)と並べれば、ずれた箇所が見えます。

台本をかなに開く、1回で全文を読ませる、無音で切り分ける、ひらがなで書き起こして照合する、の4段の手順図

無料枠でGemini TTSを使うときの注意

公式料金ページでは、2つのモデルとも無料枠の欄が「Free of charge」になっています。ただし、使える回数には上限があります。

回数の上限:1日10回で止まった

私たちの無料の鍵では、gemini-3.8-flash-tts は1日10回で上限に達し、6声を試す途中でエラー(429)が返りました。Flash-Lite TTSは別の枠で、こちらはまだ呼べました。上限の数字は公式のレート制限ページに一覧が無く、公式は「自分の上限はAI Studioで確認する」としています。上の10回は、あくまで私たちの鍵で起きたことです。

公式によると、上限はAPIキーごとではなくプロジェクトごとにかかり、1日の回数は太平洋時間の0時に戻ります。日本時間では、夏時間の間は16時、冬時間(2026年は11月1日から)は17時です。

回数を節約する作り:全文を1回で読ませて、無音で切る

短い動画は14文ほどの台本でした。1文ずつ呼ぶ作りだと14回かかり、無料枠では1本も作れません。そこで、台本全体を1回で読ませ、文と文の間の無音を検出して切り分ける作りに変えました。この方式で14文すべてが正しい位置で切れました。

切り分けた音声をつなぎ直すときは、WAVのヘッダに注意します。公式は、一括で返る音声には44バイトのヘッダが付くので、つなぐ前にヘッダを外すか、最初からヘッダなしのPCM(audio/l16)で受け取るよう書いています。

無料枠の入力は、製品の改善に使われる

業務で使う前に必ず見てほしい行があります。公式料金ページの「Used to improve our products」の欄が、無料枠では「Yes」、有料枠では「No」です。社外に出していない原稿や、顧客の名前が入った文を読ませるなら、無料枠ではなく有料枠で使うべきです。

2人の会話を作る(マルチスピーカー)

対談形式の音声も1回の呼び出しで作れます。公式ドキュメントの決まりは次の3つです。

  • 話者は既製の声で最大2人まで
  • speech_config に speakers の配列を渡し、話者の名前と声を対応させる(1人のときは [{"voice": "..."}] の配列)
  • 発話ごとに speech_metadata で speaker を必ず指定する

自作の声や複製した声を組み合わせたい場合は、話者ごとに別々に生成してつなぐよう公式は書いています。3人以上の会話も同じく、分けて作ってつなぐ形になります。

私たちがGemini TTSを本命にしなかった理由

ここまで使い方を書いてきましたが、正直に書くと、社内の動画制作で本命にしている声はGemini TTSではありません。2026年9月29日に別のTTS(ElevenLabsのEleven v4)を試したところ、田嶋が聞き比べて、こちらのほうが自然だと判断しました。Eleven v4は、Flash-Lite TTSが読み間違えた「152キロ」も数字のまま正しく読みました。

それでもGemini TTSを予備として残しているのは、次の理由です。

  • 動画生成や音楽生成と同じGeminiの鍵1本で使える
  • 無料枠で試せるので、仕組みを組む段階の検証に向いている
  • 読み方の指示を文章で書け、間や息づかいをタグで入れられる

声の自然さは、聞く人と用途で評価が変わります。社内の研修動画やマニュアルの読み上げのように「聞き取れれば十分」な用途なら、Gemini TTSで足りる場面は多いはずです。どの声が合うかは、自社の原稿を読ませて聞き比べるのがいちばん確実です。

動画制作をAIに任せるときの考え方は、こちらの記事に書いています。

AI動画の正体はコード生成|手直しが1行で済む頼み方
AI業務効率化AI動画の正体はコード生成|手直しが1行で済む頼み方

よくある質問

Gemini TTSは日本語に対応していますか

対応しています。公式ドキュメントの対応言語に、Flash TTS・Flash-Lite TTSとも日本語が含まれています。私たちの測定では、時刻・回数・製品名は正しく読み、数字+単位で1件の読み間違いがありました。

読み方の指示を書いたら、指示まで読まれてしまいます

指示を本文(text)に書いているのが原因です。annotations に {"type": "speech_metadata", "style": "..."} の形で入れてください。3.8は本文を一字一句読む原稿として扱います。

何文字まで一度に読ませられますか

公式の speech-generation ページには、入力の上限や音声の長さの上限の記載がありませんでした(2026年10月21日確認)。私たちは約1分の台本を1回で読ませて問題なく返ってきています。長い原稿は、段落ごとに分けて生成し、ヘッダに注意してつなぐのが安全です。

費用はどのくらいかかりますか

公式料金ページの換算では、Flash TTSは10秒あたり$0.00225(2026年12月31日まで)です。1分なら約$0.0135になります。詳しい計算は料金の記事を見てください。導入価格の後に倍額になる点は、ほかのGemini 3.8のモデルと同じ型です。

Gemini 3.8 Flashの料金は2027年に2倍になる
AI業務効率化Gemini 3.8 Flashの料金は2027年に2倍になる

生成した音声に目印は入りますか

公式ブログは、声の複製の機能について、本人の同意確認・SynthIDの透かし・C2PAの来歴情報で守ると書いています。通常の既製の声で作った音声に何が付くかは、speech-generation ページには記載がありませんでした。社外に出す音声で気になる場合は、利用規約とあわせて確認してください。

まとめ

Gemini TTSの使い方を、日本語で使う前提でまとめます。

  • まずGoogle AI Studioで、自社の原稿を2〜3文読ませて声を絞る
  • APIはInteractions API。読ませる文は text、声は speech_config、読み方の指示は speech_metadata.style
  • 指示を本文の前に書かない。3.8は本文を一字一句読む
  • 間は <short pause> などの英語のタグで本文に入れる
  • 間違えると困る数字は、台本の段階でかなに開く
  • 生成モデルなので語が変わることがある。外に出す前に一度聞く
  • 無料枠は回数が少なく、入力が製品の改善に使われる。業務の原稿は有料枠で

読み上げは、指示の置き場所さえ間違えなければ、数行のコードで業務に組み込めます。株式会社Fyveでは、こうした「AIを業務の仕組みに組み込むときにつまずく場所」を、自社で試した結果とあわせて発信しています。

AIを使う会社と、使わない会社。
その差は、開き始めています。

ここ数年でAIは急速に進化し、正しく導入できている企業とそうでない企業とでは、業務効率や人件費に大きな差が生まれ始めています。「AI導入に興味はあるが、実際に何ができて、どこから手をつければいいか分からない」——そんな方は、まずこの無料プレゼントに目を通してみてください。

無料プレゼント:様々な業種にAIを導入して分かった、成功の型と失敗パターン ― 無料でダウンロードする
← 記事一覧に戻る